4k streaming to webrtc

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

4k streaming to webrtc

kaladin
Hey everyone!

I'm developing an app that's supposed to stream a video coming from a
pipeline to several browser clients. This works perfectly fine for 720p and
1080p but when upgrading to 4k I start to see some freezing in the video
played by clients.

The host for this project is an Nvidia TX2 and profiling the main program
doesn't seem to show any bottlenecks (gpu, cpu and memory usage are all low
and watching the stream before launching doesn't look nearly as bad as at
clients), so the bottleneck seems to be somewhere in webrtc. The pipeline
used by webrtc is the following in case it helps:

udpsrc multicast-group=224.1.1.1 auto-multicast=true port=5000 ! queue
max-size-bytes=0 !
application/x-rtp,media=video,clock-rate=90000,encoding-name=VP8,payload=96,
framerate=25/1 ! webrtcbin name=sendrecv latency=0

I've tried to find the reason using Firefox about:webrtc tool (We haven't
managed to make webrtc work with chrome yet) and FPS, packet loss and
bitrate all seem normal: Source is 25fps +-4Mbps and we receive  22 FPS and
+-4Mbps (on average). However, sometimes fps drop a lot and quality overall
seems to be lower than before streaming. Client pc has higher cpu and gpu
consumption thatn the jetson host but it's only around 80% for both.

Is there any way I could debug further to find performance or something that
could help improving webrtc  performance?

Thank you for your attention!



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 4k streaming to webrtc

Patrick Cusack
Stupid question. Why does Chrome not work? I don’t use Firefox, but I use its webRtC-internals facility to check jitter / nacks etc.  Do you have a nack count?

Sent from my iPhone

> On Jul 31, 2020, at 5:03 AM, kaladin <[hidden email]> wrote:
>
> Hey everyone!
>
> I'm developing an app that's supposed to stream a video coming from a
> pipeline to several browser clients. This works perfectly fine for 720p and
> 1080p but when upgrading to 4k I start to see some freezing in the video
> played by clients.
>
> The host for this project is an Nvidia TX2 and profiling the main program
> doesn't seem to show any bottlenecks (gpu, cpu and memory usage are all low
> and watching the stream before launching doesn't look nearly as bad as at
> clients), so the bottleneck seems to be somewhere in webrtc. The pipeline
> used by webrtc is the following in case it helps:
>
> udpsrc multicast-group=224.1.1.1 auto-multicast=true port=5000 ! queue
> max-size-bytes=0 !
> application/x-rtp,media=video,clock-rate=90000,encoding-name=VP8,payload=96,
> framerate=25/1 ! webrtcbin name=sendrecv latency=0
>
> I've tried to find the reason using Firefox about:webrtc tool (We haven't
> managed to make webrtc work with chrome yet) and FPS, packet loss and
> bitrate all seem normal: Source is 25fps +-4Mbps and we receive  22 FPS and
> +-4Mbps (on average). However, sometimes fps drop a lot and quality overall
> seems to be lower than before streaming. Client pc has higher cpu and gpu
> consumption thatn the jetson host but it's only around 80% for both.
>
> Is there any way I could debug further to find performance or something that
> could help improving webrtc  performance?
>
> Thank you for your attention!
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 4k streaming to webrtc

kaladin
We're not really sure. It does reply with an answer and ice candidates, one
gets selected but no stream is displayed, we haven't really debugged it much
since firefox works and it read online that chrome sometimes has problems
like that with webrtc and firefox is better.

If chrome webrtc-internals is that much better compared to firefox we could
take the time to debug chrome and find the reason behind the errors, since
this is being a big bottleneck and we can't find the source



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 4k streaming to webrtc

evaluat0r
In reply to this post by kaladin
kaladin wrote

> Hey everyone!
>
> I'm developing an app that's supposed to stream a video coming from a
> pipeline to several browser clients. This works perfectly fine for 720p
> and
> 1080p but when upgrading to 4k I start to see some freezing in the video
> played by clients.
>
> The host for this project is an Nvidia TX2 and profiling the main program
> doesn't seem to show any bottlenecks (gpu, cpu and memory usage are all
> low
> and watching the stream before launching doesn't look nearly as bad as at
> clients), so the bottleneck seems to be somewhere in webrtc. The pipeline
> used by webrtc is the following in case it helps:
>
> udpsrc multicast-group=224.1.1.1 auto-multicast=true port=5000 ! queue
> max-size-bytes=0 !
> application/x-rtp,media=video,clock-rate=90000,encoding-name=VP8,payload=96,
> framerate=25/1 ! webrtcbin name=sendrecv latency=0
>
> I've tried to find the reason using Firefox about:webrtc tool (We haven't
> managed to make webrtc work with chrome yet) and FPS, packet loss and
> bitrate all seem normal: Source is 25fps +-4Mbps and we receive  22 FPS
> and
> +-4Mbps (on average). However, sometimes fps drop a lot and quality
> overall
> seems to be lower than before streaming. Client pc has higher cpu and gpu
> consumption thatn the jetson host but it's only around 80% for both.
>
> Is there any way I could debug further to find performance or something
> that
> could help improving webrtc  performance?
>
> Thank you for your attention!
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel@.freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

For 4K, you need to support at least 20-25mbps. Is that the case? Otherwise
you aren't dealing with a 4K stream.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel