Dear Wiki user, You have subscribed to a wiki page or wiki category on "Freevo Wiki" for change notification.
The following page has been changed by 80.141.79.87: http://freevo.sourceforge.net/cgi-bin/moin.cgi/DVB ------------------------------------------------------------------------------ @@ -1,189 +1 @@ -I put this stuff into the main documentation (into 'Installation- TV setup' and the transcoding stuff into 'Tricks and Tips'. -This is very usefull information! -I hope that is o.k. - -== DVB == - -Just a brain-dump right now, I will update it later. This only works with 1.5rc4 or later. - -TODO for this doc: better description and some channels.conf tips. - - -=== Configuration === - -Create a channels.conf, make sure no / are in the names (mplayer doesn't like that). But it into the .mplayer (and .xine) directory in your home. Add the TV_CHANNELS configuration to the local_conf.py: - -{{{ -TV_CHANNELS = [ - ( 'ard.de', 'ARD', 'Das Erste RB' ), - ( 'zdf.de', 'ZDF', 'ZDF' ), - ( 'ndr.de', 'NDR', 'NDR RB' ), - ( 'rtl.de', 'RTL', 'RTL Television' ), - ( 'sat1.de', 'SAT.1', 'SAT.1' ), - ( 'rtl2.de', 'RTL 2', 'RTL2' ), - ( 'prosieben.de', 'PRO 7', 'ProSieben' ), - ( 'kabel1.de', 'KABEL 1', 'KABEL1' ), - ( 'vox.de', 'VOX', 'VOX' ), - ( 'n24.de', 'N24', 'N24' ), - ( 'arte-tv.com', 'ARTE', 'arte' ), - ( 'C3sat.de', '3SAT', 'Info 3sat' ), - ( 'superrtl.de', 'Super RTL', 'Super RTL' ), - ( 'kika.de', 'Kika', 'Doku KiKa' ) ] -}}} - -The first line is the xmltv name, the second the Freevo display name and the last the channels.conf name. Use tv_grab and after that tv_grab --query to get a template for your configuration. - -Now switch the VideoGroup to dvb. Add to your local_conf.py - -{{{ -VIDEO_GROUPS[0].group_type = 'dvb' -}}} - -If you override in local_conf.py the default MPLAYER_ARGS with your own values then be sure that there is a 'dvb' key present. -{{{ -MPLAYER_ARGS = { 'dvd' : '-cache 8192', - 'vcd' : '-cache 4096', - 'cd' : '-cache 1024 -cdda speed=2', - 'tv' : '-nocache', - 'ivtv' : '-cache 8192', - 'dvb' : '-vf pp=de/fd -cache 1024', - 'avi' : '-cache 5000 -idx', - 'rm' : '-cache 5000 -forceidx', - 'rmvb' : '-cache 5000 -forceidx', - 'webcam' : 'tv:// -tv driver=v4l:width=352:height=288:outfmt=yuy2:device=/dev/video2', - 'default': '-cache 5000' - } -}}} - -=== Recording === -{{{ -VCR_CMD = CONF.mplayer + ' -dumpstream -dumpfile %(filename)s "dvb://%(channel)s"' -TV_RECORDFILE_SUFFIX = '.ts' -}}} - - -=== Transcoding === - -After programs have been recorded, you can transcode them to save some space. Here's one that I use to transcode to ogm. -I'm using ogm since you need to extract the audio to normalize it anyway, so I might as well use the ogg container. -The other thing to note is the -mc 10, which tells mencoder to trust the A/V sync in the input stream, rather than trying -to correct the sync itself. - -This video bitrate is rather high for the size, it will probably work just as well at 800kbit. - -{{{ -#!/bin/bash -x - -NICE="20" -VBITRATE="1100" -AQUALITY="3" - -VCODEC_OPTS="vbitrate=$VBITRATE:vhq:keyint=250" -ACODEC_OPTS="preset=$ABITRATE" - -VFILTER="pp=fd,scale=480:272" - -EXTRA_OPTS="-aspect 16:9 -mc 10" - -WAV_FILE="${1}.wav" -OGG_FILE="${1}-audio.ogg" -AVI_FILE="${1}-video.avi" - -rm -f frameno.avi "$WAV_FILE" "$OGG_FILE" "$AVI_FILE" - -nice -n $NICE mencoder ${EXTRA_OPTS} -ovc frameno -oac copy -o frameno.avi "$1" && \ -nice -n $NICE mplayer ${EXTRA_OPTS} -vc dummy -vo null -hardframedrop -ao pcm -aofile "$WAV_FILE" "$1" && \ -nice -n $NICE normalize "$WAV_FILE" && \ -nice -n $NICE oggenc "-q${AQUALITY}" "-o${OGG_FILE}" "${WAV_FILE}" && \ -nice -n $NICE mencoder ${EXTRA_OPTS} -vf $VFILTER -ovc lavc -lavcopts ${VCODEC_OPTS}:vpass=1 -oac copy -o /dev/null "$1" && \ -nice -n $NICE mencoder ${EXTRA_OPTS} -vf $VFILTER -ovc lavc -lavcopts ${VCODEC_OPTS}:vpass=2 -oac copy -o "${AVI_FILE}" "$1" && \ -nice -n $NICE ogmmerge -o "$2" -A "$AVI_FILE" "$OGG_FILE" && \ -rm -f divx2pass.log frameno.avi "$WAV_FILE" "$OGG_FILE" "$AVI_FILE" || \ -( echo "Transcode Failed" && \ -exit 10 ) - -# done -echo "Transcode Successful" -}}} - -Here's another script I use to generate the thumbnails: -{{{ -#!/bin/bash -x - -INPUT="$1" -OUTPUT="$2" - -TEMPFILE="/tmp/thumnailer$$" - -nice -n 20 transcode -V -i "${INPUT}" -y jpg,null -o "${TEMPFILE}" -c 2000-2001 -mv "${TEMPFILE}000000.jpg" "${OUTPUT}" -}}} - -This one is a daemon I start at boot time to monitor the recordings directory and transcode the files after the capture is complete. -It also updates the FXD with the extension of the transcoded file. - -{{{ -#!/bin/bash - -CAPTURE_EXTENSION="ps" -TRANSCODED_EXTENSION="ogm" -THUMBNAIL_EXTENSION="jpg" - -TRANSCODER="${HOME}/commands/transcoder" -THUMBNAILER="${HOME}/commands/thumbnailer" - - -RECORDING_DIR="${HOME}/recordings" - -cd "$RECORDING_DIR" - -while ((1)) ; do - echo Sleeping - sleep 300 - echo Waking up - date - for CAPTURED_FILE in `find . -mmin +5 -name "*.${CAPTURE_EXTENSION}"` ; do - echo "Processing File ${CAPTURED_FILE}" - TRANSCODED_FILE=`echo ${CAPTURED_FILE} | sed "s/${CAPTURE_EXTENSION}\$/${TRANSCODED_EXTENSION}/"` - FXD_FILE=`echo ${CAPTURED_FILE} | sed "s/${CAPTURE_EXTENSION}\$/fxd/"` - THUMBNAIL_FILE=`echo ${CAPTURED_FILE} | sed "s/${CAPTURE_EXTENSION}\$/${THUMBNAIL_EXTENSION}/"` - echo "Transcoded File is ${TRANSCODED_FILE}" - - if [ -e ${TRANSCODED_FILE} ] ; then - echo "Transcoded file already exists! - deleting it" - rm "${TRANSCODED_FILE}" - fi - echo "Transcoding file ${CAPTURED_FILE}" - - ${TRANSCODER} "${CAPTURED_FILE}" "${TRANSCODED_FILE}" - - if [ $? = 0 ] ; then - echo "Transcoding Success" - - if [ -e ${FXD_FILE} ] ; then - echo "Fixing FXD" - sed -i "s/\\.${CAPTURE_EXTENSION}/\\.${TRANSCODED_EXTENSION}/" "${FXD_FILE}" - fi - - ${THUMBNAILER} "${TRANSCODED_FILE}" "${THUMBNAIL_FILE}" - - echo "Deleting ${CAPTURED_FILE}" - rm -f "${CAPTURED_FILE}" - else - echo "Failed to transcode ${CAPTURED_FILE} !!!" - rm "${TRANSCODED_FILE}" - fi - done -done -}}} - - -Hopefully that will give you a starting point to create your own transcoding setup. - - - - - - -[http://bangongjiaju.81888888.com 办公家具] - +This is already in the new wiki: http://freevo.sourceforge.net/cgi-bin/doc/DVBConfig ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ Freevo-wikilog mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freevo-wikilog
