#!/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
#!/bin/sh for file in $( ls 0*.vdr ); do filenew=`echo ${file} | sed s/vdr/mpg/g` echo -n "encoding $file to $filenew... " # mencoder -oac mp3lame -ovc copy -of mpeg "$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
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 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.
Die von den obigen Scripten erzeugten MPGs lassen sich leicht in eine für DVDs verwendbare Form bringen.
#!/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/