Display a video stream in browser with WebRTC on Jetson Nano

Hey,
I have an ethernet camera connected to my Jetson Nano. I can display that stream (RTP, H264) using gstreamer on my nano (gst-launch-1.0 udpsrc).

But now I want to build a WebRTC server on my Jetson Nano so that I can capture that video stream and display it in a browser. Thereby I want to stream the video on different clients in my local network just by opening the url in the browser.

How is it possible? Which repository can I use or install to use WebRTC on my nano (Ubuntu)?

Can anybody help? Thanks.

Hi,
For WebRTC, we have a package to enable hardware encoding:
https://developer.nvidia.com/embedded/L4T/r32_Release_v4.3/t210ref_release_aarch64/WebRTC_R32.4.3_aarch64.tbz2
Please take a look. See if it can be applied to your usecase.

Hi
I am new to webRTC.
I just downloaded WebRTC from the link you suggested.
This is my tested output:

  1. run ./video_loopback --codec H264 --width 2592 --height 1944 --capture_device_index 0
    it can display on Jetson nano, but the video window size and aspect ratio changes frequently. why?

  2. close the video_loopback app and run ./peerconnection_server successfully.

  3. run ./peerconnection_client --autoconnect --server 192.168.18.10 from another terminal in the same Jetson nano platform. It opens a “PeerConnection client” window with message of “List of current connected peers:”. The server terminal window display
    image
    Question:

Why connected but not display any video?
Why server terminal display “Disconnecting socket” but with “Total connected: 1”?

  1. run ./peerconnection_client --server 192.168.18.10 --autoconnect --autocall from 3rd terminal in the same Jetson nano. The output has more information below:
  • in server terminal:
    image

why it repeatably display the message as above window?

  1. Now the video displayed in of PeerConnection client window. The other PeerConnection client window displays nothing.
    Why 2 clients connected, but it displays one video window?

Other questions:

  • How can I view the webRTC video from Windows 10?
  • How can I make webRTC video size at 2592 x 1944 from your app?
  • Is there any document on how to work with the webRTC library?

Thanks

Hi,
The package enables hardware encoding in certain use-cases in WebRTC. Please check the website:
https://webrtc.org/

The prebuilt application is for demonstration. For real use-case, please refer to How to use NvVideoEncoderFactory to create NvEncoder in README. By default it shoudl be software encoding in WebRTC. You can use the APIs to enable hardware encoding.