The PCH also freezes for me when using streamdev directly. My current solution is to use VLC's VLM telnet interface to clean up the stream.
I start VLC like this:
vlc-wrapper --ttl 1 --color -I telnet --telnet-password xxxxxx --vlm-conf /video/vlm.conf & Where vlm.conf has all the channels from VDR and looks like this:
new 52767 broadcast enabled* (New broadcast, channel number padded +20000 to avoid conflicts with other services)* setup 52767 input http://xxx.xxx.xxx.xx:3000/TS/32767 *(Input stream from VDR/Streamdev)* setup 52767 output #std{access=http,mux=ts,dst=:52767} *(Output stream from VLC : http://<ip-address>:52767)*
I used awk to convert channels.conf to vlm.conf. my command is listed below. It will probably need some work :)
awk '{sub(":@", ""); chann = $0 + 20000; print "new " chann " broadcast enabled"; print "setup " chann " input http://vdr.decord.com:3000/TS/%22$0; print "setup " chann " output #std{access=http,mux=ts,dst=:"chann "}" }' channels.conf
You can then telnet into VLC like this : telnet xxx.xxx.xx.xx 4212
start streaming: control 52767 play The stream will be available at: http://<ip-address>:52767 I have a page with links like this: <a href='http://xxx.xxx.xxx.xx:xxxx' vod>channel</a>
stop streaming: control 52767 stop
This is just a hack, until hopefully VDR/streamdev will be able stream to the PCH without causing it to freeze. But using this method I am able to watch channels within 2~3 seconds of clicking on them, plus no freezing :)
VLC shows alot of errors like those listed below, but is able to fix the stream to make it playable on the PCH
libdvbpsi error (PSI decoder): TS discontinuity (received 12, expected 0) for PID 0 libdvbpsi error (PSI decoder): TS discontinuity (received 15, expected 0) for PID 18 libdvbpsi error (PSI decoder): TS discontinuity (received 5, expected 0) for PID 33 libdvbpsi error (misc PSI): Bad CRC_32 (0x871f6707) !!! libdvbpsi error (misc PSI): Bad CRC_32 (0x871f6707) !!! libdvbpsi error (misc PSI): Bad CRC_32 (0x871f6707) !!! libdvbpsi error (misc PSI): Bad CRC_32 (0x871f6707) !!! libdvbpsi error (misc PSI): Bad CRC_32 (0x871f6707) !!! libdvbpsi error (misc PSI): Bad CRC_32 (0x871f6707) !!!
Hopefully this helps.