|  |     | 
| Zeile 1: | Zeile 1: | 
| − | ==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  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==
 |  | 
| − | 
 |  | 
| − | {{Box Datei |setup.conf|
 |  | 
| − | <pre>
 |  | 
| − | iptv.DisabledFilters = 1 2 6
 |  | 
| − | iptv.ExtProtocolBasePort = 4321
 |  | 
| − | iptv.SectionFiltering = 1
 |  | 
| − | iptv.TsBufferPrefill = 0
 |  | 
| − | iptv.TsBufferSize = 1
 |  | 
| − | </pre>
 |  | 
| − | }}
 |  | 
| − | 
 |  | 
| − | 
 |  | 
| − | {{Box Datei |channels.conf|
 |  | 
| − | <pre>
 |  | 
| − | HeavyMTV;IPTV:10:S=0|P=0|F=EXT|U=hmtv.sh|A=0:I:0:256=27:257=@3:0:0:1:0:0:0
 |  | 
| − | </pre>
 |  | 
| − | }}
 |  | 
| − | 
 |  | 
| − | 
 |  | 
| − | {{Box Datei |hmtv.sh|
 |  | 
| − | <pre>
 |  | 
| − | #!/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}
 |  | 
| − | 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.
 |  | 
| − | 
 |  | 
| − | #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
 |  | 
| − | 
 |  | 
| − | </pre>
 |  | 
| − | }}
 |  | 
| − | 
 |  | 
| − | ==Bugs / What's missing / TODO==
 |  | 
| − | 
 |  | 
| − | # EDUCATIONAL/TESTING ONLY
 |  | 
| − | # Test other VDR output (soft)devices and (HW) decoders (accelerators)
 |  | 
| − | 
 |  | 
| − | ==Links==
 |  | 
| − | # [http://www.heavymetaltelevision.com/ Homepage of HMTV]
 |  | 
| − | 
 |  | 
| − | [[Kategorie:Streaming]]
 |  |