[Live-devel] Proxying SIP live RTP to RTSP problem (segfault)
Ross Finlayson
finlayson at live555.com
Sun Sep 24 22:28:06 PDT 2017
> Well, running playSIP with -r flag gives just the another SIGSEGV without any error messages:
Aha - you should be able to overcome this by calling:
subsession->initiate();
just before your call to
createRTSPServer(subsession);
>
>> I should also point out, however, that there?s a much much easier way to feed the video output from ?playSIP? into a RTSP server: Run them as separate applications, and pipe the H.264 video between them. I.e., run (on the command line):
>> playSIP -v etc | your-modified-testOnDemandRTSPServer
>> where "your-modified-testOnDemandRTSPServer? is a slightly modified version of the ?testOnDemandRTSPServer? demo application that:
>> 1/ Sets ?reuseFirstSource? to True (?testOnDemandRTSPServer.cpp?, line 29)
>> 2/ Changes ?test.264? to ?stdin? (?testOnDemandRTSPServer.cpp?, line 99)
>> See also http://live555.com/liveMedia/faq.html#liveInput-unicast
>
> Though passing the data through stdin is ugly solution
I don’t think it’s ugly at all. In fact, it’s quite clean, because it uses familiar Unix I/O stdio and pipes, rather than requiring extra programming.
> - this is the
> first thing I've tried, but it do not works too. The main issue as I see
> is that playSIP outputs the buggy (just two 00000001) raw h264 if the
> sprop-parameter-sets is not presenet in SDP but the testOnDemandRTSPServer
> always expects byte-stream h264 format. The SIP servers ususally do
> not / never supply the sprop-parameter-sets but the profile-level-id
> fmtp entry only.
>
> Is there a way to fix this and make at least stdin approach to work with SIP ?
If you know the SPS and PPS NAL units ahead of time, then you can add them as (otherwise optional) parameters to the call to “H264VideoRTPSink::createNew()” in “playCommon.cpp”.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list