<br><br><div><span class="gmail_quote">On 4/26/06, <b class="gmail_sendername">Benjamin Pracht</b> <<a href="mailto:bigben+spam@videolan.org">bigben+spam@videolan.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Apr 26, 2006, Lukasz Kondrad wrote :<br>> Hello,everyone!<br>><br>> I am writing a extension to VLC media player which will allow recive DVB-H<br>> signal. I had read the source of VLC so many days. I want to modify
<br>> transport stream (ts.c) demultipexer. I have alread written a part which<br>> separates mpe sections, now I have a problem to which module send the IP<br>> datagrams.<br>> Because the IP address is map to the MAC address that 2 last bytes, I was
<br>> thinking to skip the IP header and send udp datagrams to the access udp. Is<br>> it possible, or my thinking is worng.<br>> Help me please.<br>><br>> Regards,<br>> Lukasz<br><br><br><br>Well, I don't know how DVB-H implementations are generally done, and I
<br>don't know what your project is exactly, but why trying to reimplement<br>an IP stack in VLC ? Doesn't your DVB-H demodulator come with network<br>device drivers ? Linuxtv drivers at least have one. That would allow you
<br>to use VLC to decode DVB-H streams with no (or little) modification<br>(DVB-H uses RTP payload over the IP datagrams, doesn't it ?).<br><br><br>In your case, the udp access module will be of little help, I think.<br>Once having recontructed the RTP stream from the IP/UDP packets, you
<br>should send it directly to a RTP demux. Here will come an additional<br>issue. VLC can only demux RTP using its ts demux (so only with TS inside<br>the RTP payload), or using the live555 library. AFAIK, live555 can only
<br>be initialized by providing it a path to a sdp file (locally or on an<br>http/rtsp server, or using SAP). It will then try to receive the<br>corresponding RTP stream using the OS network layer. That means that in<br>your case, you might be compelled to write your own RTP demux. This
<br>demux will probably need the UDP header to be able to separate the<br>different elementary streams (not sure about that...). Then it would<br>make sense to implement the IP stack (or just discard the<br>headers, if you don't need their content) in this demux. That way, a
<br>possible dataflow would be:<br><br>ts demux -> IP/RTP demux -> decoders<br><br> IP packets -> elementary streams<br><br><br><br><br>Again, using the OS IP stack if possible would be much easier...
<br><br>--<br>BigBen<br><br>--<br>This is the vlc-devel mailing-list, see <a href="http://www.videolan.org/vlc/">http://www.videolan.org/vlc/</a><br>To unsubscribe, please read <a href="http://developers.videolan.org/lists.html">
http://developers.videolan.org/lists.html</a><br><br></blockquote></div><br>Hi, <br>thanks again for your answer. It encourage me to think more and new questions's appered.<br>I will say what I have done already. I am able to recognize the pid which carry mpe and for it I wrote new functions in
ts.c which creating IP datagrams. I can take all information I need (IP addresses and ports from UDP ) . <br><br>You wrote that vlc is only suport ts over rtp. It is not problem, as we have our own DVB-H network at university I can change that we will send the ts insted
H.264. I will think latter how to demux when the H.264 or MPEG4 is transmiting over RTP. <br>My question is where should I send the RTP stream ?? You wrote that when I will have the RTP stream I should send it to vlc's rtp demux but I can not find where it is.
<br><br>regards and have a nice weekend:)<br>Lukasz<br><br>