-
Notifications
You must be signed in to change notification settings - Fork 5
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
occasional stutter when streaming wirelessly #10
Comments
Today tests with:
Resulted in:
Which suggests the reason is in:
|
By the stutter I mean here streaming problem that results in "redraw" of parts or whole point cloud, corrupted data for a while |
- in case of network (MLSP) timeout - apart from accepting new streaming sequence (MLSP) - flush (drain) the decoder and prepare it for new stream (HVD) Related to #1 Possibly related to bmegli/unity-network-hardware-video-decoder#10 Possibly related to bmegli/network-hardware-video-encoder#6
After some insight from implementation for duplicate packets in MLSP - this issue was not caused by duplicate packets. |
Overflows are responsible for almost all artifacts of this kind (with good connectivity). A short (maybe long) term workaround is to increase OS receive buffer size, e.g.: # here 10 x the the default value on my system
sudo sh -c "echo 2129920 > /proc/sys/net/core/rmem_max"
sudo sh -c "echo 2129920 > /proc/sys/net/core/rmem_default" Making the buffer smaller than the original default makes the problem more evident. In the long term the right solution is to:
|
Also what makes this problem more painful is the fact that by default P frames depend on previous P frames. This means that in the worst case, losing a single P frame may mean that we will get corrupted data until next keyframe is received. |
The depth is already not unprojected under mutex. Instead of making network receiver threaded we use OS layer and increase socket buffer size (OS side). This has the consequence that we have to keep up with the data rate (no logical frame drops in MLSP). Long term not keeping up with the data rate would result in:
But we have to keep up with the data rate anyway. I am not going to work more on this now. |
This sometimes happens, sometimes not.
I don't see it when streaming locally (encoding/sending/receiving/decoding on the same machine).
This may be caused by many things, including:
The good start would be to check with ethernet instead of wireless medium.
The text was updated successfully, but these errors were encountered: