[Live-devel] Retrieving buffers of data from an RTSP derived stream

Andy Hawkins Andy.Hawkins at uniguest.com
Tue Mar 12 07:20:38 PDT 2024


Coming back to this after a bit of a hiatus.

I've got this working in a single application. One side creates an RTSP client, and starts all the individual streams, receiving the data into buffers. The buffers for the H264 video stream appear to have been processed to provide H264 video frames. These frames are then passed to another buffer class, used as the source for a class derived from H264VideoFileServerMediaSubsession, which is part of an RTSP stream that is made available to clients.

This approach seems to work, but there's a significant performance hit being seen.

Does the data need to be converted from the raw RTP stream into H264 frames at the receiving end, only to be converted back to an RTP stream by the transmitting side? Or is it possible to remove these two conversions and just pass raw RTP data directly from the receiver to the transmitter?

Thanks

Andy

________________________________
From: Andy Hawkins <Andy.Hawkins at uniguest.com>
Sent: 28 November 2023 13:57
To: LIVE555 Streaming Media - development & use <live-devel at us.live555.com>
Subject: Re: [Live-devel] Retrieving buffers of data from an RTSP derived stream

Ah, that makes more sense. Will look at that.

And if I wanted to re-construct an RTSP stream from the SDP definition and the buffers of data I've collected from an RTSP client, how would I do that?

Thanks again

Andy



From: live-devel <live-devel-bounces at us.live555.com> on behalf of Ross Finlayson <finlayson at live555.com>
Sent: 28 November 2023 11:56
To: LIVE555 Streaming Media - development & use <live-devel at us.live555.com>
Subject: Re: [Live-devel] Retrieving buffers of data from an RTSP derived stream



> On Nov 29, 2023, at 12:41 AM, Andy Hawkins <Andy.Hawkins at uniguest.com> wrote:
>
> Hi,
>
> I need to set up an RTSP client, and use a custom buffer class for all of the data that is retrieved in order to process it as it comes in.  Similarly, I need to create a servable RTSP stream, and be able to provide buffers of data to it.

I think you’re over-thinking the problem; it’s really quite simple.

For example, look at the code for the “testRTSPClient” demo application (in the “testProgs” directory).  Look at the implementation of “DummySink” (“testRTSPClient.cpp”, line 508).  You would do the same thing here, except that you want to process the data that has just been read (to “fReceiveBuffer”, of length “frameSize”).


>> From what I can see by tracing through the using the ProxyServerMediaSession class

This is a ‘red herring’.  You’re just writing a RTSP client, not a proxy server.


Ross Finlayson
Live Networks, Inc.
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.live555.com%2F&data=05%7C01%7Candy.hawkins%40uniguest.com%7C82e6ed5aa7df403f88b208dbf009dd93%7C9b0e98ba45ed42abb699c61412572c2c%7C0%7C0%7C638367697427014561%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=mHIFi9Rt%2Fe2n7YHLIxuIuS2eOCt%2FgCZI%2FVvpm%2F0bPXs%3D&reserved=0<http://www.live555.com/>


_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.live555.com%2Fmailman%2Flistinfo%2Flive-devel&data=05%7C01%7Candy.hawkins%40uniguest.com%7C82e6ed5aa7df403f88b208dbf009dd93%7C9b0e98ba45ed42abb699c61412572c2c%7C0%7C0%7C638367697427020828%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=jDk9znu%2Bcy4LRtslldL0qNGCuPSmEegESKKz2lpLFPY%3D&reserved=0<http://lists.live555.com/mailman/listinfo/live-devel>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20240312/be53999f/attachment.htm>


More information about the live-devel mailing list