Currently RePro accepts SRT as the main method to ingest video into the platform. RTMP/S, RTSP/S are also avaialble if they have been enabled for your Organisation and Project.
SRT - Secure Reliable Transport
SRT - Secure Reliable Transport
SRT is the preferred method as not only is it capable of securely delivering high quality video, it uses a UDP based system to re-transmit lost packets. This means that if required a latency buffer can be increased and in doing so the reliability will be improved.
The minimum recommended SRT Latency setting is 120ms (or 0.12 of a second) which means that from a latency point of view - SRT is also capable of quick delivery. 120ms at 24FPS is 3 frames. As RePro works as a listening server between input and output - for remote delivery end to end the combined input and output would make that 6 frames of delay. This is of course the minimum possible and it all depends on the hardware used, network and connectivity quality.
You can read more about SRT in these handy links:
RTMP, RTMPS and RTSP
RTMP, RTMPS and RTSP
RTMP (Real-Time Messaging Protocol)
RTMP is a protocol developed by Adobe Systems for high-performance transmission of audio, video, and data between a server and a Flash player. It is primarily used for streaming media. RTMP maintains persistent connections and allows low-latency communication, making it suitable for live streaming.
How it works:
• Connection: The client establishes a TCP connection with the server.
• Handshake: A handshake occurs between client and server to establish the session.
• Streaming: Data is divided into chunks and sent in a continuous stream, allowing for real-time media delivery.
URL Structure:
• Format: rtmp://[username]:[password]@[hostname]:[port]/[app]/[streamID]
• Example: rtmp://user:pass@streaming.example.com:1935/live/stream123
RTMPS (RTMP Secure)
RTMPS is a secure version of RTMP that uses TLS (Transport Layer Security) to encrypt the data stream. This enhances security by preventing eavesdropping and tampering during transmission.
How it works:
• Connection: The client establishes a TCP connection with the server over a secure port (typically 443).
• Handshake and Encryption: A TLS handshake occurs, establishing a secure encrypted connection.
• Streaming: Encrypted data is transmitted in chunks, similar to RTMP, but with the added security of TLS.
URL Structure:
• Format: rtmps://[username]:[password]@[hostname]:[port]/[app]/[streamID]
• Example: rtmps://user:pass@securestream.example.com/live/stream123
RTSP (Real-Time Streaming Protocol)
RTSP is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. It is used for establishing and controlling media sessions between end points. RTSP is analogous to a remote control for media streaming.
How it works:
• Session Establishment: The client sends an RTSP request (like PLAY, PAUSE, TEARDOWN) to the server.
• Media Delivery: Media streams are typically delivered over RTP (Real-time Transport Protocol) after the session is established.
• Control: RTSP controls the delivery of the media streams, including commands to play, pause, and stop.
URL Structure:
• Format: rtsp://[username]:[password]@[hostname]:[port]/[app
/[streamID]
• Example: rtsp://user:pass@streamserver.example.com:554/live/stream123
Comparison and Use Cases
• RTMP: Commonly used for live streaming with a focus on low latency. Suitable for platforms like Twitch and Facebook Live.
• RTMPS: Used where secure transmission is essential, such as in financial sectors or private broadcasts.
• RTSP: Often used for IP camera streams and video conferencing due to its flexible control capabilities.
In all cases, the URL construction allows for the specification of user credentials, server location, and the particular stream to be accessed, ensuring the client can connect and interact with the desired media content effectively.