This is a tool for streaming DVB TS packets via udp multicasts on demand from the netceiver. It listens for IGMP(v1/v2/v3) join/leave multicast group messages on the network and starts/stops the corresponding streams accordingly. It uses a channels.conf file for channel information. Each channel is mapped to one multicast group starting with 239.255.0.1 and so on.
Written by: Christian Cier-Zniewski [email protected] Project homepage: http://nanodev.nfshost.com/netcv2dvbip/ SVN source code repository: https://svn.baycom.de/repos/vdr-mcli-plugin/mcast/
The software is based on source code from the following projects:
IGMP component of vdr-streamdev-plugin Frank Schmirler [email protected]
VDR Klaus Schmidinger [email protected]
Netceiver mcli-lib Baycom GmbH [email protected]
Quick Compile Howto (Linux):
-
Compile and install libnetceiver
https://github.com/vdr-projects/libnetceiver -
Checkout netcv2dvbip
git clone https://github.com/vdr-projects/netcv2dvbip.git -
cd netcv2dvbip
make -
./netcv2dvbip
Notes:
- Each UDP packet contains 7*188=1316 bytes ( 7 TS packets)
- channels.conf: only frontend paramters are needed. PIDs are extracted from the PAT/PMT on demand.
Known Issues:
- Linux: netcv2dvbip make use of the multicast routing API to be able to receive all IGMP (v1,v2) messages on the subnet without joining all groups. If you have configured 200 channels, then at least those 200 groups would have to be joined to receive the group specific queries. IGMPv3 does not suffer this "problem", since all reports are sent to the group 224.0.0.22. So, if you are already using software that make use of this API, netcv2dvbip will fail to start, because only one program can make use of this API.
Possible clients:
- VLC [Linux, Windows]
- vdr-iptv-plugin [Linux]
- DVBLink for IPTV (http://www.dvblogic.com/) [Windows]
- Mediaportal with IPTV source filter (with EPG) [Windows]
- [...]
Command line Options:
-b <interface on which to listen for IGMP mesages and to send streams to>
Default: first found running interface
-p <port to send streams to>
Default: 12345
-i <interface with netceiver network>
Default: first found IPv6 interface
-c <channels.conf file>
-e include EIT packets in streams (EPG)
-h help
2009-??-?? version 1.0.0
- initial release
2010-06-03 version 1.1.0
- bugfixes: * number of channels > 255 is now handled correctly
* PMT PIDs > 255 had a wrong entry in the PAT
- new features: * DVB-C and DVB-T support
* support for VDR-1.7.x channels.conf format
(older formats and ReelVDR format are still supported)
* playlist file generation (M3U)
* EPG support: new command line option "-e" activates
sending of EIT packets (PID 0x12) in the stream.
2010-06-17 version 1.1.1 * bugfix: port number was not set correctly in M3U file
* bugfix: high CPU load (select() timeout was not
set correctly)
* changed: streams now also use non-blocking sockets
* Windows only: activate built-in MLDv2 reporter only for
Windows XP