HeavyMetalTelevision.com mit IPTV
Inhaltsverzeichnis |
Description
heavymetaltelevision.com with VDR IPTV Plugin
Software
debian GNU/Linux wheezy+
ii vdr 2.0.6-6yavdr1 i386 Video Disk Recorder for DVB cards
ii vdr-plugin-iptv 2.0.3-0yavdr4~precise i386 IPTV plug-in for VDR
ii vdr-plugin-xineliboutput 1.1.0-22-g1d98107-1ya i386 VDR plugin for Xine based sofdevice frontends
ii libxineliboutput-sxfe 1.1.0-22-g1d98107-1ya i386 Local X-Server frontend for the xineliboutput plugin
ii libxine2 1.2.2-5 i386 xine media player library – meta-package
ii ffmpeg 10:2.6.4-dmo1 i386 audio/video encoder, streaming server & audio/video file converter
+deps
Extra Hardware used with this setup
Multimedia controller: Broadcom Corporation BCM70015 Video Decoder [Crystal HD]
Configuration
iptv.DisabledFilters = 1 2 6 iptv.ExtProtocolBasePort = 4321 iptv.SectionFiltering = 1 iptv.TsBufferPrefill = 0 iptv.TsBufferSize = 1
#!/bin/sh # HeavyMTV;IPTV:10:S=0|P=0|F=EXT|U=hmtv.sh|A=0:I:0:256:257:0:0:1:0:0:0 #LOG=/var/log/vdr-iptv LOG=/dev/null if [ $# -ne 2 ]; then logger "$0: error: Invalid parameter count '$#' $*" exit 1 fi PARAMETER=${1} PORT=${2} #IP adresses have been subject to change without notice, check the NoScript/Firefox Inspector activated HMTV website regularly for changes. HLS="http://70.166.98.130:1935/hmtv/myStream/playlist.m3u8" RTSP="rtsp://70.166.98.130:1935/hmtv/myStream" RTMP="rtmp://70.166.98.130:1935/hmtv/myStream" #Mostly working for weeks with some h.264 video artefacts until wowza server runs wild again with invalid P/DTS "Experiencing Technical Issues". ffmpeg -nostats -v debug -analyzeduration 10M -stimeout 10M -rtsp_transport udp -max_delay 100K -i "${RTSP}" -f mpegts -c:v copy -c:a mp2 -b:a 192k -ar 44100 -af volume=-10dB "udp://127.0.0.1:${PORT}?pkt_size=16356" > ${LOG} 2>&1 #Not better than rtmp. #ffmpeg -nostats -v debug -analyzeduration 10M -stimeout 10M -rtsp_transport tcp -max_delay 100K -i "${RTSP}" -f mpegts -c:v copy -c:a mp2 -b:a 192k -ar 44100 -af volume=-10dB "udp://127.0.0.1:${PORT}?pkt_size=16356" > ${LOG} 2>&1 #NOTE: mp2 transcoding is a quirk needed for keeping VDR (and/or xineliboutput-sxfe) A/V demuxer/decoders in lipsync. #If the delivered MP4A format is a joint stereo format the used decoder versions cannot detect it and decode mono only, #be aware that surround information is destroyed by some joint stereo formats, so I assume the joint information in mono decoding mode, too. #xine vdr-demux reports using faad, vlc too and reports stereo, but sounds mono, if You want to be sure use the ffmpeg audio vectorscope on an audio stream dump like this: # ffmpeg -v debug -i hmtvdump.aac -filter_complex "[0:a]avectorscope=s=1280x720,format=yuv420p[vid]" -map "[vid]" -map 0:a -codec:v mpeg4 -q:v 10 -codec:a mp2 output.mp4 #Audio only, in times of high latency / packet loss or hmtv wowza server runs wild again. #ffmpeg -nostats -v debug -analyzeduration 10M -rtsp_transport udp -max_delay 100K -i "${RTSP}" -f mpegts -vn -c:a mp2 -b:a 192k -ar 44100 -af #volume=-10dB "udp://127.0.0.1:${PORT}?pkt_size=16356" > ${LOG} 2>&1 #Only working without nasty audio dropouts in spare low overseas latency times, otherwise triggering VDR TS-Packet Error intermittently. #ffmpeg -nostats -v verbose -analyzeduration 10M -i "${RTMP}" -bsf:v h264_mp4toannexb -f mpegts -c:v copy -c:a mp2 -b:a 192k -ar 44100 -af volume=-10dB "udp://127.0.0.1:${PORT}?pkt_size=16356" > ${LOG} 2>&1 #Not working, chunk download always too slow, breaks with big underrun, server is too far away or too slow for non RT- protocols, west of U.S. #ffmpeg -nostats -v debug -analyzeduration 10M -i "${HLS}" -f mpegts -c:v copy -c:a mp2 -b:a 192k -ar 44100 -af volume=-10dB "udp://127.0.0.1:${PORT}?pkt_size=16356" > ${LOG} 2>&1 #vlc 2.0.6, 2.2.1 not better than ffmpeg, maybe missing advanced adaption parameters. #vlc -vv "${RTSP}" --sout "#standard{access=udp,mux=ts{pid-video=256,pid-audio=257},dst=127.0.0.1:$PORT}" --intf dummy > ${LOG} 2>&1 #vlc -vv "${RTMP}" --sout "#standard{access=udp,mux=ts{pid-video=256,pid-audio=257},dst=127.0.0.1:$PORT}" --intf dummy > ${LOG} 2>&1 #vlc -vv "${HLS}" --sout "#standard{access=udp,mux=ts{pid-video=256,pid-audio=257},dst=127.0.0.1:$PORT}" --intf dummy > ${LOG} 2>&1
Bugs / What's missing / TODO
- EDUCATIONAL/TESTING ONLY
- Test other VDR output (soft)devices and (HW) decoders (accelerators)
- Recordings playback of the raw HMTV "h.264" stream is mostly not working with Xine Crystal HD output, buffer overflows, Xine plugin seems to be optimized for compatible full featured h.264 HDTV streams, but works with MPlayer, try MPEG2 transcoding if enough CPU