Hi,
a new version of IPTV plugin is now available and contains an important bug fix that enables correct channel switches between different protocols.
http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
2009-06-01: Version 0.3.0
- Added iptvstream-notrap.sh script. - Fixed setting parameters when protocol changes (Thanks to Peter Holik for reporting this one). - Updated example scripts to use ffmpeg's direct UDP output and added a new "image.sh" script (Thanks to Peter Holik).
BR, -- rofa
Hello Rolf, thank you for this release. I just have one problem. It seems as if the new version tends to start a vlc process (i.e. I have internet radios configured) some time after my vdr is started. It seems to be connected to the epg scan or some other process that is triggered some time after I start the vdr process. I did not have the problem with my previous version of the plugin 0.2.6. I looked a little bit around in the code and it seems to be connected to the method cIptvStreamer::Set which you seem to have changed in 0.3.0. I did not have time to look deeper in the code, but as soon as I restored this code to 0.2.6 version in the 0.3.0 problem I do not have the problem anymore that a vlc process from my internetradio script is started right after vdr startup.
Thanks in advance
Matthias
Hi,
a new version of IPTV plugin is now available and contains an important bug fix that enables correct channel switches between different protocols.
http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
2009-06-01: Version 0.3.0
- Added iptvstream-notrap.sh script.
- Fixed setting parameters when protocol changes (Thanks to Peter Holik
for reporting this one).
- Updated example scripts to use ffmpeg's direct UDP output and added a
new "image.sh" script (Thanks to Peter Holik).
BR,
rofa
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
On Tue, 16 Jun 2009, Matthias Haas wrote:
thank you for this release. I just have one problem. It seems as if the new version tends to start a vlc process (i.e. I have internet radios configured) some time after my vdr is started. It seems to be connected to the epg scan or some other process that is triggered some time after I start the vdr process. I did not have the problem with my previous version of the plugin 0.2.6.
VDR does EIT scanning to transponders in background and this starts up your VLC processes as you suspected. However, the downgrading to earlier version is not a proper solution as it brings up some other problems. The 0.3.0 should be compliant with VDR's API definitions, but I you don't likethe background EIT scanning, you can always disable it via setup menu or with the following patch (if you want to disable it only for plugin sources):
--- vdr-1.7.8-vanilla/eitscan.c 2009-06-15 17:31:45.000000000 +0300 +++ vdr-1.7.8-disable_eitscan/eitscan.c 2009-06-17 10:52:17.000000000 +0300 @@ -146,7 +146,7 @@ if (Device) { for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) { const cChannel *Channel = ScanData->GetChannel(); - if (Channel) { + if (Channel && !Channel->IsPlug()) { if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) { if (Device->ProvidesTransponder(Channel)) { if (!Device->Receiving()) {
BR, -- rofa
I am trying to get BBC Radio streams to work. However, I can't work out how to get the IPTV plugin to chage the base port..
:->UK Radio BBCRadio1;IPTV:110:IPTV|S0P0|EXT|bbcradio.sh|1:P:0:0:256:0:0:11:0:0:0 BBCRadio2;IPTV:120:IPTV|S0P0|EXT|bbcradio.sh|2:P:0:0:256:0:0:12:0:0:0 BBCRadio3;IPTV:130:IPTV|S0P0|EXT|bbcradio.sh|3:P:0:0:256:0:0:13:0:0:0 BBCRadio4;IPTV:140:IPTV|S0P0|EXT|bbcradio.sh|4:P:0:0:256:0:0:14:0:0:0 BBCRadio5;IPTV:150:IPTV|S0P0|EXT|bbcradio.sh|5:P:0:0:256:0:0:15:0:0:0 BBCRadio5Live;IPTV:160:IPTV|S0P0|EXT|bbcradio.sh|55:P:0:0:256:0:0:16:0:0:0 BBCRadio6;IPTV:170:IPTV|S0P0|EXT|bbcradio.sh|6:P:0:0:256:0:0:17:0:0:0 BBCRadio7;IPTV:180:IPTV|S0P0|EXT|bbcradio.sh|7:P:0:0:256:0:0:18:0:0:0
Is in my channels.list with:
case ${PARAMETER} in 1) URL="http://www.bbc.co.uk/radio/listen/live/r1.asx" TITLE="BBC Radio 1"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;; 2) URL="http://www.bbc.co.uk/radio/listen/live/r2.asx" TITLE="BBC Radio 2"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;; 3) URL="http://www.bbc.co.uk/radio/listen/live/r3.asx" TITLE="BBC Radio 3"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;;
4) URL="http://www.bbc.co.uk/radio/listen/live/r4.asx" TITLE="BBC Radio 4"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;; 5) URL="http://www.bbc.co.uk/radio/listen/live/r5.asx" TITLE="BBC Radio 5"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;; 55) URL="http://www.bbc.co.uk/radio/listen/live/r5l.asx" TITLE="BBC Radio 5 Live"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;; 6) URL="http://www.bbc.co.uk/radio/listen/live/r6.asx" TITLE="BBC Radio 6"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;; 7) URL="http://www.bbc.co.uk/radio/listen/live/r7.asx" TITLE="BBC Radio 7"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;;
*) URL="http://www.bbc.co.uk/radio/listen/live/r4.asx" TITLE="BBC Radio 4"
# Stream temporary files FIFO=/tmp/internetradio${PARAMETER}.fifo ;;
esac
Being in bbcradio.sh.
mplayer and ffmpeg are bother created. (as per the example script) with a different fifo each, but VDR is sending the same PORT to all streams, so if I change channel I get the two streams mixed together.
On Fri, 18 Sep 2009, Rob Davis wrote:
I am trying to get BBC Radio streams to work. However, I can't work out how to get the IPTV plugin to chage the base port..
The base port is a global setting that can be changed in plugin's setup: iptv.ExtProtocolBasePort=4321
However, if you create more than one IPTV device, the device's base port is the one defined in setup plus device's enumeration: Device 0: 4321 Device 1: 4322
These should be documented (somehow) in plugin's README.
mplayer and ffmpeg are bother created. (as per the example script) with a different fifo each, but VDR is sending the same PORT to all streams, so if I change channel I get the two streams mixed together.
If you're having only one IPTV device, the script should be killed (and mplayer/ffmpeg as well) before the new one is executed with new channel specific parameters when zapping. There were some protocol specific bugs in the channel switching, so you should try the latest public 0.3.0 release, if not already done.
BR, -- rofa
Rolf Ahrenberg wrote:
On Fri, 18 Sep 2009, Rob Davis wrote:
I am trying to get BBC Radio streams to work. However, I can't work out how to get the IPTV plugin to chage the base port..
The base port is a global setting that can be changed in plugin's setup: iptv.ExtProtocolBasePort=4321
However, if you create more than one IPTV device, the device's base port is the one defined in setup plus device's enumeration: Device 0: 4321 Device 1: 4322
These should be documented (somehow) in plugin's README.
mplayer and ffmpeg are both created. (as per the example script) with a different fifo each, but VDR is sending the same PORT to all streams, so if I change channel I get the two streams mixed together.
If you're having only one IPTV device, the script should be killed (and mplayer/ffmpeg as well) before the new one is executed with new channel specific parameters when zapping. There were some protocol specific bugs in the channel switching, so you should try the latest public 0.3.0 release, if not already done.
How do I create more than one IPTV device? I assumed that it was automatic? I am using 0.3.0.
When vdr switches off the channel how is the channel / stream closed?
When working, these streams will be accessed by streamdev/xbmc and vomp.
On Fri, 18 Sep 2009, Rob Davis wrote:
How do I create more than one IPTV device? I assumed that it was automatic? I am using 0.3.0.
"-d <num>, --devices=<number> number of devices to be created"
-P 'iptv -d 2'
When vdr switches off the channel how is the channel / stream closed?
A SIGINT is signaled to the external script. If the script isn't terminated in 2 seconds, a SIGKILL is signaled. This is a blocking mechanism, so you shouldn't be able to run two scripts at the same time within a device.
I'm suspecting, that your mplayer/ffmpeg processes won't get killed although the external script does.
BR, -- rofa
Rolf Ahrenberg wrote:
On Fri, 18 Sep 2009, Rob Davis wrote:
How do I create more than one IPTV device? I assumed that it was automatic? I am using 0.3.0.
"-d <num>, --devices=<number> number of devices to be created"
-P 'iptv -d 2'
When vdr switches off the channel how is the channel / stream closed?
A SIGINT is signaled to the external script. If the script isn't terminated in 2 seconds, a SIGKILL is signaled. This is a blocking mechanism, so you shouldn't be able to run two scripts at the same time within a device.
I'm suspecting, that your mplayer/ffmpeg processes won't get killed although the external script does.
Ok, thanks, I think I have it working now..
Does it automatically use other devices as it sees fit, or do I need to code that into channels.conf?
On Fri, 18 Sep 2009, Rob Davis wrote:
Does it automatically use other devices as it sees fit, or do I need to code that into channels.conf?
As you have different frequencies for IPTV channels, VDR should always pick up automatically a free IPTV device if available.
BR, -- rofa
Rolf Ahrenberg wrote:
On Fri, 18 Sep 2009, Rob Davis wrote:
Does it automatically use other devices as it sees fit, or do I need to code that into channels.conf?
As you have different frequencies for IPTV channels, VDR should always pick up automatically a free IPTV device if available.
Hi Rofa, thanks for all the help.
It doesn't seem too. I now have the script killing ffmpeg when it closes, but if I try two channels at the same time of different frequencies they come with the same port.
I have also applied the pvrinput patch as well as the iptv patch. I don't know if this will mess things up.
On Fri, 18 Sep 2009, Rob Davis wrote:
It doesn't seem too. I now have the script killing ffmpeg when it closes, but if I try two channels at the same time of different frequencies they come with the same port.
You could compile the plugin with "IPTV_DEBUG=1", zap through the channels, document the actions and finally send me the logs, channels.conf, and the used script as a private email and I'll take a look at them.
BR, -- rofa