What is it?
It is possible to watch TV not only via DVB-T, DVB-S or DVB-C, but you can also watch TV via DVB-IP aka IPTV. The TV streams are transmitted on your internet connection. More and more ISP's offer TV on their networks.
DVB-IP in MediaPortal
The good thing is that the TvServer already comes with a software DVB-IP MediaPortal IPTV Source Filter card. You can enable it in the TV config under "TV Servers" -> <your Servername>.
The bad thing is that version provided with MP is little bit older and many people have problems with this version (especially in UDP part). There are (at least) two threads concerning about DVB-IP filter: older one and newer one. There can you find information about development. Thanks Dimka and Stepko for developing this version.
New version, supported protocols, supported URLs' formats
New version of filter should be more stable and reliable than version provided with MP. Latest (non-experimental) version supports:
File sources
New version was hugely tested, but still can be there some issues - in performance or in stability.
Compatibility
New version is compatible and tested with MP 1.1.3, MP 1.2.0 Beta, MP 1.2.0 RC, MP 1.2.0, MP 1.2.1, MP 1.2.2, MP 1.2.3 and MP 1.3.0 (Alpha, Beta, RC, final).
Installation
For proper filter working you need Microsoft Visual C++ 2010 Redistributable Package (x86).
To use the new version just follow these simple steps:
Specifying network interface card
Caution: This part was tested only with MP 1.2.0, MP 1.2.1, MP 1.2.2, MP 1.3.0 (Alpha, Beta, RC) and it doesn't work with RTSP protocol (sorry for that).
There is workaround how to specify network interface card. You'll need to change your existing playlist urls to another form (and also use latest version of MediaPortal IPTV Source Filter) and rescan your channels. Assume that you have current address
and you want to specify 'Local Area Connection' network card. The address must be transformed to
To be correct, the first letter ('C') can be anything, but the second must be colon (':').
Change SID and PID in stream
If you have provider which change SID and PID values in streams (e.g. when provider obtains streams for various sources or simply has its own set-top-boxes which don't care about SID and PID) then with every change you need to rescan channels to get them work back. If it happens often, it's very annoying. I've added possibility to change these values in IPTV filter, so you will not need to rescan channels when provider change these values. Of course, I assume that channel is still streamed on same address. The way how to change values is same as for specifying network interface card (so, you will need to change your playlist file):
where SidValue is new SID and PidValue is new PID (ONID). For each channel you need another PID value (valid PID values are from 32 to 8190), SID values can be same. You don't have to know old SID and PID values. Changing SID and PID values doesn't work in case that in stream isn't only one channel.
Changelog
[collapse]
Attachements
When you report bug or problem, please attach log files, which in best case can be obtained by this procedure:
It is possible to watch TV not only via DVB-T, DVB-S or DVB-C, but you can also watch TV via DVB-IP aka IPTV. The TV streams are transmitted on your internet connection. More and more ISP's offer TV on their networks.
DVB-IP in MediaPortal
The good thing is that the TvServer already comes with a software DVB-IP MediaPortal IPTV Source Filter card. You can enable it in the TV config under "TV Servers" -> <your Servername>.
The bad thing is that version provided with MP is little bit older and many people have problems with this version (especially in UDP part). There are (at least) two threads concerning about DVB-IP filter: older one and newer one. There can you find information about development. Thanks Dimka and Stepko for developing this version.
New version, supported protocols, supported URLs' formats
New version of filter should be more stable and reliable than version provided with MP. Latest (non-experimental) version supports:
- file sources
- HTTP sources
- UDP sources
- RTP sources
- RTSP sources (only IPv4, doesn't support specifying network interface)
File sources
- Formats
- file://[server]/path
- Comments
- all spaces in path have to be replaced by %20
- Examples
- file:///c:/temp/video.ts
- file:///c:/temp%20folder/video%20with%20spaces.ts
- Formats
- http://server[:port]/path
- Comments
- server can be DNS name or IP address (IPv4 or IPv6)
- authentication is not supported
- proxy server is not supported
- SSL not supported (HTTP port 443)
- Examples
- http://test.tv/channel
- http://test.tv:80/channel
- Formats
- udp://[[sourceServer[:sourcePort]]@]localServer:localPort
- Comments
- sourceServer and localServer can be DNS name or IP address (IPv4 or IPv6)
- localServer can be unicast or multicast IP address
- Examples
- udp://233.10.12.1:7777
- udp://@233.10.12.1:7777
- udp://192.168.15.50@233.10.12.1:7777
- udp://192.168.15.50:4477@233.10.12.1:7777
- Formats
- rtp://[[sourceServer[:sourcePort]]@]localServer:localPort
- Comments
- sourceServer and localServer can be DNS name or IP address (IPv4 or IPv6)
- localServer can be unicast or multicast IP address
- if failed with parsing of RTP packets it automatically switch to UDP protocol
- Examples
- rtp://233.10.12.1:7777
- rtp://@233.10.12.1:7777
- rtp://192.168.15.50@233.10.12.1
- rtp://192.168.15.50:4477@233.10.12.1:7777
- Formats
- rtsp://[username:password@]server/path
- Comments
- server can be DNS name or IP address (IPv4)
- doesn't support specifying network interface
- Examples
- rtps://test.tv/channel
- rtsp://user:password@test.tv/channel
New version was hugely tested, but still can be there some issues - in performance or in stability.
Compatibility
New version is compatible and tested with MP 1.1.3, MP 1.2.0 Beta, MP 1.2.0 RC, MP 1.2.0, MP 1.2.1, MP 1.2.2, MP 1.2.3 and MP 1.3.0 (Alpha, Beta, RC, final).
Installation
For proper filter working you need Microsoft Visual C++ 2010 Redistributable Package (x86).
To use the new version just follow these simple steps:
- stop the TV service in the TV-Server Configuration (under "Manual Control")
- go to the TV server folder (e.g. C:\Program Files\Team MediaPortal\MediaPortal TV Server)
- optional - make a backup of the original MPIPTVSource.ax and MPIPTV_*.dll files (if exist)
- copy or replace files in TV server folder with files in MPIPTVSource.zip archive
- optional - copy or replace MPIPTVSource.ini file in TV Server data folder (e.g. [DRIVE]:\ProgramData\Team MediaPortal\MediaPortal TV Server)
- optional - edit configuration in MPIPTVSource.ini file
- start the TV Service in the TV-Server Configuration
Specifying network interface card
Caution: This part was tested only with MP 1.2.0, MP 1.2.1, MP 1.2.2, MP 1.3.0 (Alpha, Beta, RC) and it doesn't work with RTSP protocol (sorry for that).
There is workaround how to specify network interface card. You'll need to change your existing playlist urls to another form (and also use latest version of MediaPortal IPTV Source Filter) and rescan your channels. Assume that you have current address
Code:
udp://233.60.10.5:1234
Code:
C:|interface=Local Area Connection|url=udp://@233.60.10.5:1234
Change SID and PID in stream
If you have provider which change SID and PID values in streams (e.g. when provider obtains streams for various sources or simply has its own set-top-boxes which don't care about SID and PID) then with every change you need to rescan channels to get them work back. If it happens often, it's very annoying. I've added possibility to change these values in IPTV filter, so you will not need to rescan channels when provider change these values. Of course, I assume that channel is still streamed on same address. The way how to change values is same as for specifying network interface card (so, you will need to change your playlist file):
Code:
C:|url=udp://233.10.12.1:7777|SidValue=10|PidValue=50
Changelog
[collapse]
- 26th of April, 2012
- HTTP - fix: returned data length was not always as assumed
- removed KARTINA protocol
- 18th of January, 2012
- HTTP - fix: removed special request header from HTTP request
- 8th of January, 2012
- HTTP - fix: removed not necessary logging in HTTP protocol
- all protocols - fix: fixed default log verbosity (wasn't set when configuration file is not found)
- all protocols - fix: fixed analysing discontinuity in case of MPEG TS NULL packet (wrong value)
- all protocols - fix: changed name of length dump packet file (from TS to TXT)
- 6th of January, 2012
- RTP - fix: possible stuttering caused by logging each packet
- all protocols - improvement: added possibility to change SID and PID in stream
- all protocols - fix: fixed analysing discontinuity in case of MPEG TS NULL packet
- all protocols - improvement: checking parameters from configuration file
- all protocols - improvement: added logging information from where is configuration file read
- all protocols - improvement: added possibility to dump input packets
- all protocols - changed configuration file
- 21th of November, 2011
- RTP - fix: processing RTP header
- 20th of October, 2011
- UDP, RTP - fix: unsubscribe from multicast group didn't work correctly
- all protocols - fix: NULL packets (PID 0x1FFF) doesn't use continuity counter, they were excluded from discontinuity detection
- 26rd of September, 2011
- all protocols - fix: problem with specifying network interface when multicast IP address of channel is used
- 23rd of September, 2011
- all protocols - improvement: temporary made workaround to specify network interface card
- 22nd of September, 2011
- all protocols - fix: stream PID for discontinuity detection wasn't correctly computed
- 21st of September, 2011
- all protocols - fix: access to buffer from more threads was not safe
- RTP - fix: extension header length wasn't computed correctly
- 11th of September, 2011
- common - added new log verbosity value for data, now verbose value 4 doesn't write methods (FillBuffer(), ReceiveData(), DoBufferProcessingLoop()) working with data into log file, verbose value 5 write these methods into log file
- all protocols - improvement: added discontinuity detection, discontinuity detection can be disabled in configuration file
- all protocols - fix: reworked memory management, some memory leaks fixed
- all protocols - improvement: added maximum attemtps of opening connection
- all protocols - improvement: added new configuration options to set internal buffer size
- all protocols - improvement: internal buffer can be resized if needed
- RTP - improvement: reworked almost from scratch
- RTSP - improvement : added protocol
- 13th of June, 2011
- improvement: added configuration file
- improvement: restricted maximum log size, if current log file exceeded maximum size, then is backuped and new log file is created
- 7th of June, 2011
- UDP, RTP, HTTP, KARTINA - fix: when used with conditional access (MDAPI) than conditional access doesn't work properly
- improvement: added FILE protocol - url in format: file://[server]/path, e. g. file:///c:/temp/video.ts, all spaces in path have to be replaced by %20 (file:///c:/temp%20folder/video%20with%20spaces.ts)
- 4th of June, 2011
- UDP, RTP, HTTP, KARTINA - fix: when used with conditional access (MDAPI) than conditional access doesn't work properly
- 28th of May, 2011
UDP, RTP, HTTP, KARTINA - improvement: when "Dump raw TS" option in TV Server Configuration tool is checked then raw TS file is created in log directory- removed, option added to configuration file
- 26th of May, 2011
- UDP, RTP, HTTP, KARTINA - fix: TvService crash when multiple DVB-IP cards working simultaneously
- 24th of May, 2011
- UDP, RTP, HTTP, KARTINA - fix: parsing url (especially UDP and RTP with specified source server: e .g udp://1.2.3.4@5.6.7.8:1234)
- UDP, RTP, HTTP, KARTINA - improvement: in MP 1.2.0 Beta added support for specifying network interface (more detailed here)
- 17th of May, 2011
- KARTINA - fix: when closed connection and opened new one the old connection ticket was used
Attachements
- MPIPTVSource.zip - zip archive with latest compiled version of filter
- MPIPTVSourceIni.zip - zip archive with ini file in default configuration
When you report bug or problem, please attach log files, which in best case can be obtained by this procedure:
- stop TvService and MP
- clear TvService and MP log folder
- set verbosity level to 4 (set LogVerbosity parameter in configuration file to 4)
- start TvService
- run MP
- watch channel
- wait for bug or problem occur
- close MP
- stop TvService
- post all logs from TvService and MP log folder
Attachments
Last edited: