> I am trying to convert a MPEG2-TS stream, with 1xH264 video stream inside to > a RTP multicast stream. I tried various functions, but nothing seems to work. > > Below is the code of my latest attempt (srcip = 127.0.0.1, srcport = 6402, > dstip = 226.0.16.1, dstport = 6500). Of course, rtsp->env has been prpoerly > initialized before. > > Any hints ?
Because you are trying to stream MPEG Transport Stream data over RTP, you should *not* be using a “H264VideoRTPSink”, because that is used only to stream raw H.264 video. In your case, you don’t have access to the raw H.264 video, because we don’t provide a mechanism for demultiplexing the input Transport Stream data; instead, you need to re-stream the Transport Stream itself. You do that using a “SimpleRTPSink”. To do this, do the following: 1/ Use a “BasicUDPSource” to receive the raw-UDP Transport Stream. 2/ Feed this to a “MPEG2TransportStreamFramer” (to generate proper 'presentation time’s for the Transport Stream packets). 3/ Feed that to a “SimpleRTPSink”, which is created as follows: SimpleRTPSink::createNew(env, rtpGroupsock, 33, 90000, "video", "MP2T", 1, True, False /*no 'M' bit*/); HOWEVER, if you are doing this inside of a RTSP server, then you don’t need to write any new code to do this. Instead, just add a “MPEG2TransportUDPServerMediaSubsession” object to your RTSP server. Our “RTSPServer” and “MPEG2TransportUDPServerMediaSubsession” code does all the work for you. For an illustration of this, see the “testOnDemandRTSPServer” demo application (a RTSP server); in particular, lines 404-430 of “testProgs/testOnDemandRTSPServer.cpp”. Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel