summaryrefslogtreecommitdiff
path: root/mcast/netcv2dvbip/README
blob: 1880e48f9e5a4c69a928cbe039d61fa7938bded9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
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 <c.cier@gmx.de>
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 <vdrdev@schmirler.de>

VDR
Klaus Schmidinger <kls@cadsoft.de>

Netceiver mcli-lib
Baycom GmbH <info@baycom.de>

-----------------------------------------------------------

Quick Compile Howto (Linux):

1)
svn co https://svn.baycom.de/repos/vdr-mcli-plugin/mcast/

2)
cd mcast

3)
cd client
make 
cd ..

4) 
cd netcv2dvbip
make

5)
./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.
	* Windows: MS Loopback Adapter Driver has to be installed if you only
	  want to stream local multicasts.
	  Configure a static unused IP for this adapter and add a route for
	  239.255.0.0/16 to this ip
	  eg.: route add 239.255.0.0 mask 255.255.0.0 10.11.12.13
	  where 10.11.12.13 is the static IP address of the loopback
	  adapter.
	  Linux: specify the option "-b lo" and make sure that the
	  multicast flag is set on the lo device. 
	  If not, type: ifconfig lo multicast
	* Windows: netcv2dvb for Windows is compiled using Visual C++ 2008 Express Edition
	  Therefore it needs the Microsoft Visual C++ 2008 Runtime Redistributable to be installed.

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.
	* Windows XP does not support MLDv2 messages, so the built-in MLD-Reporter of
	  libmcli is used in the Windows version of netcv2dvbip. 
	  Windows Vista and Windows 7 already support MLDv2. 
	* IMPORTANT note for VLAN users: Windows does not support VLANs as Linux does.
	  So, if you already using a VLAN-enabled network for the Netceiver and Reel-Netclients
	  then you must use a LAN card which offers VLAN support in the drivers.
	  Eg.: most Intel-adapters support this ( I am using a EXPI9301CT)

------------------------------------------------------------

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 


ChangeLog:
==========
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