Haivision / srt

Secure, Reliable, Transport
https://www.srtalliance.org
Mozilla Public License 2.0
3.06k stars 839 forks source link

Question: Using SRT to stream real time CCSDS frames (no MPEG TS) ? #2917

Closed nils10 closed 4 months ago

nils10 commented 6 months ago

Hi, recently came across SRT and did some testing the last days using srt-live-transmit with usual video/audio streams and it looks very interesting.

I would like to understand in how far SRT would be useful as a means to transport other frames (not strictly MPEG TS video/audio streams). I am wondering if it would be possible (and a good idea) to potentially send CCSDS frames from a satellite ground station (the ground station receives these frames via RF downlinks from a spacecraft) via SRT to the final destination/user. These frames can be of different length (for different spacecraft) and could i.e. be 1279 bytes long per frame. Frames are generally streamed continuously once the RF link is established, but may also be transmitted in bursty behaviour.

I mostly read about SRT being advertized for live video and audio applications, but I feel it may also be very suitable for the above distribution of those CCSDS frames as well. I did read somewhere that UDP packets (for MPEG streams) into SRT should always be 1316 bytes long (7x188 byte TS frames), I assume to prevent TS frames from being fragmented across an SRT frame? If say my CCSDS frames are of length 1279 bytes (or any other non 1316 bytes length), is that a problem/anything to take into account?

The idea would be to stream CCSDS frames in real time via UDP into srt-live-transmit and then send them using SRT over the internet to a remote user that can again using srt-live-transmit get them into a UDP stream there.

Looking forward to your feedback what you think/if this is a good idea.

maxsharabayko commented 5 months ago

SRT is content agnostic and does not require MPEG-2 TS. You can use SRT for CCSDS frames. The maximum payload size can be increased to up to 1456 bytes (see SRTO_PAYLOADSIZE) for Ethernet networks with 1500 bytes MTU.