-
-
Notifications
You must be signed in to change notification settings - Fork 184
[ENHANCEMENT] Better/Smoother playback from rtc stream #48
Comments
I've noticed some stuttering myself occasionally. I believe its the encoding/gstreamer that is lagging behind when attempting to get low latency rendering. You can see here where the settings are passed to gst https://github.com/nurdism/neko/blob/master/server/internal/gst/gst.go#L87 I've been able to get good smooth video but at the cost of the latency being way higher. You more than welcome to mess with it and see if you can get something better going. |
Do you know what settings you used for smooth video? I'm trying to build at the moment but I'm finding the whole VS/docker setup a bit difficult as I'm on a Mac. Working around it, but it's slow. |
Cannot exactly reproduce on my dedi. What resolution settings in neko are you using? |
Also, neko is incredibly reliant on the udp stream that carries the video data to your client, if that connection experiences hiccups the stream will stutter. |
@GigaFyde it's all the default settings from the build. I did find something interesting last night. I built a derived docker container launching VLC instead of Firefox or Chromium, mounted a volume with the media and it was much better. Not perfect, but better. |
oh if that's the case, that might be a limitation of running a browser in a docker container. |
It appears the pipeline is quite complex if you think about it, we have:
I think I'm wrong about some of the above, I've only seen the parts individually and haven't spent enough time digging to be sure what's used when. I wonder if there's a more optimal way of handling this. I'm going to try looking at the IO stats next time I run Neko and see if the content is being written to disk, read from disk repeatedly by different stages. |
You almost have it right, the current system is :
The only improvements I can see is to optimize the Gstreamer pipelines or find a better webrtc lib/alternative lib, the client is 100% static html/js once its been generated so no performance impact there. |
Hello, can u rewrite the code in js/node , it's hard for me to understand the code in vue.js. |
@zaeek that might be best served as at least as a separate issue, if not also a pull request. |
As an aside, I ran another session last weekend and had horrible dropouts. It looks like some of this may be coming from latency on my broadband connection introduced through quarantine and furlough. I've noticed this isn't happening with Plex, but plex is streaming video, where as Neko will stream individual frame state. |
That is indeed caused by the differences in how both serve the video feed, |
Describe the bug
While playing videos, there's a general jerkiness every few seconds.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Video playback as smooth as a baby's bum
Desktop (please complete the following information):
Additional context
I'm not sure if this is a problem with X11, or X11VNC but I've tried on different systems with different browser combinations and it's consistent. Happy to look into it if someone can give me some pointers.
CPU load is fine, RAM is fine. There could be a sync and framerate issue or something can't keep up.
The text was updated successfully, but these errors were encountered: