Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
vdr:vdr_nach_mpeg2_konvertieren [07.10.2012 18:31] 127.0.0.1 Externe Bearbeitung |
vdr:vdr_nach_mpeg2_konvertieren [17.01.2016 19:46] udo |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== Aufnahmen von VDR nach mpeg2 konvertieren ===== | ===== Aufnahmen von VDR nach mpeg2 konvertieren ===== | ||
- | ==== Notwendige Pakete ==== | + | ==== VDR ab Version 1.7 === |
+ | === Notwendige Pakete === | ||
* mpgtx | * mpgtx | ||
- | * mplayer | + | * mplayer oder ffmpeg |
- | ==== Script ==== | + | === Script === |
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | for file in $( ls 0*.ts ); | ||
+ | do | ||
+ | filenew=`echo ${file} | sed s/ts/mpg/g` | ||
+ | echo -n "encoding $file to $filenew... " | ||
+ | # mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | ||
+ | # -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \ | ||
+ | # -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 \ | ||
+ | # -ofps 25 "$file" -o "$filenew" | ||
+ | ffmpeg -i "$file" -target pal-dvd "$filenew" | ||
+ | if [ -f $filenew ]; then | ||
+ | echo "deleting $file" | ||
+ | rm "$file" | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | mpgjoin $( ls 0*.mpg ) -o "film.mpg" | ||
+ | |||
+ | if [ -f "film.mpg" ]; then | ||
+ | rm $( ls 0*.mpg ) | ||
+ | fi | ||
+ | </code> | ||
+ | |||
+ | ==== VDR bis Version 1.6 === | ||
+ | |||
+ | === Notwendige Pakete === | ||
+ | |||
+ | * mpgtx | ||
+ | * mplayer oder ffmpeg | ||
+ | |||
+ | === Script === | ||
<code bash> | <code bash> | ||
Zeile 14: | Zeile 48: | ||
filenew=`echo ${file} | sed s/vdr/mpg/g` | filenew=`echo ${file} | sed s/vdr/mpg/g` | ||
echo -n "encoding $file to $filenew... " | echo -n "encoding $file to $filenew... " | ||
- | mencoder -oac mp3lame -ovc copy -of mpeg $file -o $filenew | + | # mencoder -oac mp3lame -ovc copy -of mpeg "$file" -o "$filenew" |
+ | ffmpeg -i "$file" -target pal-dvd "$filenew" | ||
if [ -f $filenew ]; then | if [ -f $filenew ]; then | ||
echo "deleting $file" | echo "deleting $file" | ||
- | rm $file | + | rm "$file" |
fi | fi | ||
done | done | ||
- | mpgjoin $( ls 0*.mpg ) -o film.mpg | + | mpgjoin $( ls 0*.mpg ) -o "film.mpg" |
- | if [ -f film.mpg ]; then | + | if [ -f "film.mpg" ]; then |
rm $( ls 0*.mpg ) | rm $( ls 0*.mpg ) | ||
fi | fi | ||
</code> | </code> | ||
- | VDR speichert die Videos in fortlaufend nummerierten Dateien ab 001.vdr. Bis Version 1.6.x hat VDR im MPEG-PES-Format gespeichert, mit der Serie 1.7 wurde zu MPEG-TS gewechselt. Üblicherweise werden Filme für DVDs im MPEG2 kodiert, was nicht zu MPEG-PES/TS direkt kompatibel ist. Ein Neukodieren des Films ist also erforderlich. Es gibt natürlich mit avidemux und transcode leistungsfähige Programme für diesen Zweck, aber mencoder aus dem MPlayer-Paket ist deutlich simpler zu nutzen. | + | VDR speichert die Videos in fortlaufend nummerierten Dateien ab 001.vdr. Bis Version 1.6.x hat VDR im MPEG-PES-Format gespeichert, mit der Serie 1.7 wurde zu MPEG-TS gewechselt und die Nummerierung auf 5 Stellen erhöht. Üblicherweise werden Filme für DVDs im MPEG2 kodiert, was nicht zu MPEG-PES/TS direkt kompatibel ist. Eine Neukodierung des Films ist also erforderlich. Es gibt natürlich mit avidemux und transcode leistungsfähige Programme für diesen Zweck, aber mencoder aus dem MPlayer-Paket bzw. ffmpeg mit der Option //-target pal-dvd// sind deutlich einfacher zu nutzen. |
- | In der Schleife werden alle Filmschnippsel (hier nur von 001 bis 099) von VDR im aktuellen Verzeichnis gesucht und mit mencoder umgewandelt. Die Ausgangsdateien werden gelöscht, wenn ein entsprechendes mpg-File geschrieben wurde. Damit aber aus den Filmschnippsel ein Film wird, wird mit mpgjoin ein einziges mpg-File (film.mpg) geschrieben. Dieses File lässt sich mit den üblichen Videoschnittprogrammen bearbeiten. Die nicht mehr benötigten 0xx.mpg-Dateien werden gelöscht. | + | In der Schleife werden alle Filmschnippsel (hier nur von 001 bis 099 bzw. 00001 bis 09999) von VDR im aktuellen Verzeichnis gesucht und mit mencoder/ffmpeg umgewandelt. Die Ausgangsdateien werden gelöscht, wenn ein entsprechendes mpg-File geschrieben wurde. Damit aber aus den Filmschnippsel ein Film wird, wird mit mpgjoin ein einziges mpg-File (film.mpg) geschrieben. Dieses File lässt sich mit den üblichen Videoschnittprogrammen bearbeiten. Die nicht mehr benötigten 0xx.mpg-Dateien werden gelöscht. |
+ | |||
+ | ==== DVD ==== | ||
+ | |||
+ | === Notwendige Pakete === | ||
+ | |||
+ | * dvdauthor | ||
+ | * mkisofs | ||
+ | |||
+ | === Script === | ||
+ | |||
+ | Die von den obigen Scripten erzeugten MPGs lassen sich leicht in eine für DVDs verwendbare Form bringen. | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | filenew=`echo $1 | sed s/mpg/iso/g` | ||
+ | dvdauthor -t -o dvd --video=pal -f "$1" | ||
+ | dvdauthor -T -o dvd | ||
+ | mkisofs -dvd-video -o "$filenew" dvd/ | ||
+ | </code> | ||
==== ToDo ==== | ==== ToDo ==== | ||
Zeile 37: | Zeile 91: | ||
* mpeg2/x264-Schalter mit Default-Werten | * mpeg2/x264-Schalter mit Default-Werten | ||
* Übergabe von Optionen an mencoder | * Übergabe von Optionen an mencoder | ||
+ | * ffmpeg als Alternative |