-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Corrupted frames since v0.19.2 #1049
Comments
We've also observed the stuttering, in case its useful here is the workaround we are using in gortsplib:
bluenviron/gortsplib@main...tmatth:gortsplib:h264-workarounds |
Hello all, After an assessment i've realized that since v0.19.2, RTP packets are discarded if the H264 decoding fails, and this causes troubles in case of packets losses. RTP packets should be routed even if the server is not able to decode them. Anyway, v0.19.3 will include the new UDP packet reordering mechanism (https://github.com/aler9/gortsplib/blob/main/pkg/rtpreorderer/reorderer.go), that reorders packets before they're processed. This will surely decrease decoding errors. |
Credit to @lionelnicolas for debugging and finding the workaround, we will follow up with testing with v0.19.3 as we would like to drop these workarounds eventually. |
Will it add extra latencies? If so, can we disable it in config please? |
UDP reordering is present in both GStreamer and FFmpeg. Their implementation increases latency, the RTSPSS one doesn't increase latency. If the server receives packets with these sequence numbers: 1 They will be processed in this order: 1
1 Packets with sequence number 4 and 5 will be put on hold until packet with sequence number 3 is received. There's a limit on the number of buffered packets, that is 64.
(sorry, i wrote a thing that is not true, if the number of buffered packets exceeds 64, the entire buffer is released and sent to readers). |
added in v0.19.3 |
This issue is being locked automatically because it has been closed for more than 6 months. |
Which version are you using?
v0.19.2
Which operating system are you using?
Describe the issue
Since v0.19.2, I have many artifacts and stutters when streaming with RTSP/UDP, previous version works fine.
I tried to increase readBufferCount without success.
Describe how to replicate the issue
gst-launch-1.0 videotestsrc pattern=snow ! x264enc ! rtspclientsink location=<uri>
or a file sourcegst-launch-1.0 playbin uri=<uri>
Did you attach the server logs?
Did you attach a network dump?
no
The text was updated successfully, but these errors were encountered: