Ich habe mal ein paar Skripte geschrieben die divx oder andere Filme in eine vdr Aufnahme umwandeln.
Sinn des ganzen ist es das mein VDR nicht schnell genug ist um alle divx Filme ab zu spielen. Nun lasse ich das Skript über Nacht laufen und kann das Video am nächsten Tag ohne Probleme sehen.
Ausserdem kann man dann mit dem VDR schneiden und auf DVD brennen.
Die Skripte laufen alle sehr unterschiedlich lange. Einige der Skripte laufen auch nicht wirklich durch, liegt aber meist nicht am Skript, sondern an der Version der Tools die ich verwende.
Da das Testen immer extrem lange dauert, wollte ich mal eure Verbesserungsvorschläge hören.
Ich habe immer noch nicht DAS beste Skript gefunden.
tovdr1.sh
Beste Qualli, leider stürzt der mplayer von linvdr dabei öfter mal ab.
#!/bin/bash
set -x
FROMFILE=$1
VIDEONAME=`basename $FROMFILE | cut -d"." -f1`
DATE=`date +%Y-%m-%d.%H.%M.%S.50.rec`
TMPFOLDER=/video0
VIDEOFOLDER=/video0
TOFOLDER=/${VIDEOFOLDER}/${VIDEONAME}/${DATE}
mplayer=/usr/bin/mplayer
#mplayer=/root/bin/mplayer
echo "Encoding audio stream to ac3 with the following command:"
nice -n 0 ffmpeg -i "${FROMFILE}" -vn -ab 192 -ar 48000 -ac 2 -acodec mp2 -y ${TMPFOLDER}/audio.mp2
echo "Encoding video stream with the following commands:"
nice -n 0 $mplayer -noconsolecontrols -benchmark -nosound -noframedrop -noautosub -vo yuv4mpeg:file="${TMPFOLDER}/video.yuv" -vf scale=720:576 "${FROMFILE}"
cat "${TMPFOLDER}/video.yuv" | nice -n 0 mpeg2enc --sequence-length 4300 --nonvideo-bitrate 285 --aspect 2 -f 8 -b 5880 -g 4 -G 9 -D 10 -K hi-res --frame-rate 3 -v 0 --video-norm$
echo "create vdr folder"
mkdir -p "${TOFOLDER}"
echo "Multiplexing audio and video together"
mplex -V -f 8 -o ${TOFOLDER}/001.vdr ${TMPFOLDER}/video.m2v ${TMPFOLDER}/audio.mp2
echo "create index for vdr"
cd ${TOFOLDER}
genindex
touch /video0/.update
echo "clean up"
#rm ${TMPFOLDER}/video.m2v ${TMPFOLDER}/audio.mp2
svdrpsend.pl mesg "Aufname wurde gewandelt und in VDR eingereiht"
Alles anzeigen
tovdr2.sh
Bis jetzt kein Ton
#!/bin/bash
set -x
FROMFILE=$1
VIDEONAME=`basename $FROMFILE | cut -d"." -f1`
DATE=`date +%Y-%m-%d.%H.%M.%S.50.rec`
TMPFOLDER=/video0
VIDEOFOLDER=/video0
TOFOLDER=/${VIDEOFOLDER}/${VIDEONAME}/${DATE}
mkdir -p ${TOFOLDER}
ffmpeg \
-i ${FROMFILE} \
-pass 1 \
-an \
-target pal-dvd \
-aspect 4:3 \
${TOFOLDER}/001.vdr
rm -f ${TOFOLDER}/001.vdr
ffmpeg \
-i ${FROMFILE} \
-ab 192 \
-ar 48000 \
-ac 2 \
-acodec mp2 \
-pass 2 \
-target pal-dvd \
-aspect 4:3 \
${TOFOLDER}/001.vdr
echo "create index for vdr"
cd ${TOFOLDER}
genindex
touch /video0/.update
svdrpsend.pl mesg "Aufname wurde gewandelt und in VDR eingereiht"
Alles anzeigen
tovdr3.sh
#!/bin/bash
set -x
FROMFILE=$1
VIDEONAME=`basename $FROMFILE | cut -d"." -f1`
DATE=`date +%Y-%m-%d.%H.%M.%S.50.rec`
TMPFOLDER=/video0
VIDEOFOLDER=/video0
TOFOLDER=/${VIDEOFOLDER}/${VIDEONAME}/${DATE}
mkdir -p ${TOFOLDER}
mencoder -of mpeg -mpegopts format=dvd:vaspect=4/3:vframerate=25 -srate 48000 -ofps 25 \
-ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:\
vrc_buf_size=1835:\
keyint=15:\
vrc_maxrate=9800:\
vbitrate=4900:\
aspect=4/3:\
acodec=ac3:abitrate=192 \
${FROMFILE} -o ${TOFOLDER}/001.vdr
echo "create index for vdr"
cd ${TOFOLDER}
genindex
touch /video0/.update
svdrpsend.pl mesg "Aufname wurde gewandelt und in VDR eingereiht"
Alles anzeigen
tovdr4.sh
Transcode ist nicht bei linvdr dabei.
#!/bin/bash
set -x
FROMFILE=$1
VIDEONAME=`basename $FROMFILE | cut -d"." -f1`
DATE=`date +%Y-%m-%d.%H.%M.%S.50.rec`
TMPFOLDER=/video0
VIDEOFOLDER=/video0
TOFOLDER=/${VIDEOFOLDER}/${VIDEONAME}/${DATE}
mkdir -p ${TOFOLDER}
transcode -i ${FROMFILE} \
-y ffmpeg -F mpeg2video\
-Z 704x576\
--export_frc 3\
-E 44100 -b 128\
-o ${TMPFOLDER}/${VIDEONAME}
#maybe mplex if tcmplex not exist
tcmplex -o ${TOFOLDER}/001.vdr\
-i ${TMPFOLDER}/${VIDEONAME}.m2v\
-p ${TMPFOLDER}/${VIDEONAME}.mpa\
-m d
echo "create index for vdr"
cd ${TOFOLDER}
genindex
touch /video0/.update
svdrpsend.pl mesg "Aufname wurde gewandelt und in VDR eingereiht"
Alles anzeigen
tovdr5.sh
Hat den Nachteil das ffmpeg ein mpg video erzeugt mit dem mplex nicht umgehen kann. Mit neuen ffmpeg Versionen soll es gehen.
#!/bin/bash
set -x
FROMFILE=$1
VIDEONAME=`basename $FROMFILE | cut -d"." -f1`
DATE=`date +%Y-%m-%d.%H.%M.%S.50.rec`
TMPFOLDER=/video0
VIDEOFOLDER=/video0
TOFOLDER=/${VIDEOFOLDER}/${VIDEONAME}_tovdr5/${DATE}
mkdir -p ${TOFOLDER}
echo "Encoding audio stream to ac3"
nice -n 0 ffmpeg -i "${FROMFILE}" -vn -ab 192 -ar 48000 -ac 2 -acodec mp2 -y ${TMPFOLDER}/audio.mp2
echo "Encoding video stream to m2v"
nice -n 0 ffmpeg -i ${FROMFILE} -an -target pal-dvd -aspect 4:3 ${TMPFOLDER}/video.m2v
echo "Multiplexing audio and video together"
nice -n 0 mplex -V -f 8 -o ${TOFOLDER}/001.vdr ${TMPFOLDER}/video.m2v ${TMPFOLDER}/audio.mp2
echo "create index for vdr"
cd ${TOFOLDER}
genindex
touch /video0/.update
echo "clean up"
#rm ${TMPFOLDER}/video.m2v ${TMPFOLDER}/audio.mp2
#svdrpsend.pl mesg "Aufname wurde gewandelt und in VDR eingereiht"
Alles anzeigen
Alle Versionen auch noch mal in meinem wiki
http://decembersoul.dyndns.org/wiki/index.php/Vdr_skripte