scottlamb / retina

High-level RTSP multimedia streaming library, in Rust
https://crates.io/crates/retina
Apache License 2.0
218 stars 46 forks source link

RTSP/RTP server implementation #89

Open DrChat opened 8 months ago

DrChat commented 8 months ago

I'm interested in using this library to host an RTSP server and have been doing my own research and creating scaffolding to do so.

I figure it's probably a good idea to create this issue to see if you (@scottlamb) had any plans on doing this already, and if not then to just track what needs to be done and hold relevant documentation.

My goal would be to create a server that is analogous to the client - it would provide an interface that can consume frames for the different streams and deliver them to listening clients. It'd only implement functionality as far as the RTSP/RTP specifications describe (e.g. per my current understanding, that means no encoding/decoding for the different compression algos).

References: RFC 7798 (HEVC RTP payload format): https://datatracker.ietf.org/doc/html/rfc7798 RFC 2326 (RTSP protocol): https://datatracker.ietf.org/doc/html/rfc2326