-
|
Hey! First of all thanks for this masterpiece of software engineering. Well, I have a need to stream in real-time but also record in a way that I cannot miss any frames. I know that this is possible with RTMP because of YouTube and Twitch that works really well saving the VODs. My question is if SRT provides the same guarantees of not loosing any frame. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
It can be configured this way. The Note though that the possibility of losing the data exists for a reason. It results simply from the rule that SRT controls the bandwidth only exceptionally (to avoid spikes), but the overall transmission bitrate should be kept as configured on the encoder (so, in distinction to TCP, as well as file mode in SRT itself, it doesn't slow down sending any further). If the network can't withstand this bandwidth, even if it happens rarely and occasionally, you have only two possibilities: either you allow the data to be partially dropped, or you risk having the head-of-the-line-blocking problem. In RTMP you usually don't have this problem because in order to keep up with the live streaming requirements, you need to have the bitrate way below the bandwidth limit. Of course, adaptive bitrate can solve this problem, but in case of SRT it must be done at the application's side. WIth the default settings then SRT does drop packets that were lost and not recovered on time, This can be turned off by setting |
Beta Was this translation helpful? Give feedback.
It can be configured this way. The
SRTO_TLPKTDROPoption controls the dropping, and it can be set to false to disable it.Note though that the possibility of losing the data exists for a reason. It results simply from the rule that SRT controls the bandwidth only exceptionally (to avoid spikes), but the overall transmission bitrate should be kept as configured on the encoder (so, in distinction to TCP, as well as file mode in SRT itself, it doesn't slow down sending any further). If the network can't withstand this bandwidth, even if it happens rarely and occasionally, you have only two possibilities: either you allow the data to be partially dropped, or you risk having the head-of-the-li…