GStreamer WebRTC Wrapper/GStreamer Pipelines/OWR Pipelines: Difference between revisions

From RidgeRun Developer Wiki
No edit summary
No edit summary
Line 48: Line 48:
signaler::server_url=${SERVER_URL} \
signaler::server_url=${SERVER_URL} \
signaler::session_id=${SESSION_ID} name=web videotestsrc is-live=true ! queue ! videoconvert ! \
signaler::session_id=${SESSION_ID} name=web videotestsrc is-live=true ! queue ! videoconvert ! \
x264enc key-int-max=2 ! rtph264pay ! web.video_sink
x264enc key-int-max=2 ! rtph264pay ! web.
</syntaxhighlight>
</syntaxhighlight>


Line 59: Line 59:
signaler::server_url=${SERVER_URL} \
signaler::server_url=${SERVER_URL} \
signaler::session_id=${SESSION_ID} name=web videotestsrc is-live=true ! queue ! videoconvert ! \
signaler::session_id=${SESSION_ID} name=web videotestsrc is-live=true ! queue ! videoconvert ! \
vp8enc ! rtpvp8pay ! web.video_sink
vp8enc ! rtpvp8pay ! web.
</syntaxhighlight>
</syntaxhighlight>



Revision as of 19:04, 17 May 2021




Previous: GStreamer_Pipelines/Pubnub_Pipelines Index Next: Other_WebRTC_RidgeRun_products




Description

This page presents some GStreamer examples pipeline on supported platforms using the OpenWebRTC (OWR) Demo.

Launch OWR Demo

1. Install nodejs

sudo apt install nodejs

2. Start signaler

cd <path-to-gst-webrtc-wrapper>/tests/examples/signalers/owr
node signaler.js

3. Start web client in the PC. By default the web client starts at port 8080. To use a different port provide it as an argument at the end.

#Start web client at port 8080
cd <path-to-gst-webrtc-wrapper>/tests/examples/signalers/owr
node owr_web_client_example.js
#Start web client at port 8082
cd <path-to-gst-webrtc-wrapper>/tests/examples/signalers/owr
node owr_web_client_example.js 8082

4. Enter the web client at http://localhost:8080/ (remember to change port accordingly) and type the server (signaler) url where the it is running. For example: http://10.251.101.124:8081, where 10.251.101.124 is the IP address of the system where the signaler is running. Then press join in the web client.

5. To setup the WebRTC sender (media server) use one of the pipelines in the following sections.

Pipeline examples per platform

x86

Unidirectional

Video

H.264
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 webrtcwrapperbin start-call=true signaler=GstOwrSignaler \
signaler::server_url=${SERVER_URL} \
signaler::session_id=${SESSION_ID} name=web videotestsrc is-live=true ! queue ! videoconvert ! \
x264enc key-int-max=2 ! rtph264pay ! web.
VP8
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 webrtcwrapperbin start-call=true signaler=GstOwrSignaler \
signaler::server_url=${SERVER_URL} \
signaler::session_id=${SESSION_ID} name=web videotestsrc is-live=true ! queue ! videoconvert ! \
vp8enc ! rtpvp8pay ! web.

Bidirectional

Video

H.264
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 videotestsrc is-live=true ! videoconvert ! queue leaky=2 max-size-buffers=5 ! nvv4l2h264enc maxperf-enable=1 ! rtph264pay ! webrtcwrapperbin signaler=GstOwrSignaler signaler::server_url=${SERVER_URL} signaler::session_id=${SESSION_ID} start-call=true name=web web. ! rtph264depay ! decodebin ! autovideosink
VP8
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 videotestsrc is-live=true ! videoconvert ! queue leaky=2 max-size-buffers=5 ! nvv4l2vp8enc maxperf-enable=1 ! rtpvp8pay ! webrtcwrapperbin signaler=GstOwrSignaler signaler::server_url=${SERVER_URL} signaler::session_id=${SESSION_ID} start-call=true name=web web. ! rtpvp8depay ! decodebin ! autovideosink

Nvidia Jetson devices

The following pipelines may be launched in the Nvidia Jetson devices: TX1, TX2, Nano, Xavier AGX/NX

Unidirectional

Video

H.264
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! queue leaky=2 max-size-buffers=5 ! nvv4l2h264enc maxperf-enable=1 ! rtph264pay ! webrtcwrapperbin signaler=GstOwrSignaler signaler::server_url=${SERVER_URL} signaler::session_id=${SESSION_ID} start-call=true name=web
VP8
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! queue leaky=2 max-size-buffers=5 ! nvv4l2vp8enc maxperf-enable=1 ! rtpvp8pay ! webrtcwrapperbin signaler=GstOwrSignaler signaler::server_url=${SERVER_URL} signaler::session_id=${SESSION_ID} start-call=true name=web

Bidirectional

Video

H.264
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! queue leaky=2 max-size-buffers=5 ! nvv4l2h264enc maxperf-enable=1 ! rtph264pay ! webrtcwrapperbin signaler=GstOwrSignaler signaler::server_url=${SERVER_URL} signaler::session_id=${SESSION_ID} start-call=true name=web web. ! rtph264depay ! decodebin ! autovideosink
VP8
SESSION_ID=59078bedca1
SERVER_URL=http://localhost:8081

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! queue leaky=2 max-size-buffers=5 ! nvv4l2vp8enc maxperf-enable=1 ! rtpvp8pay ! webrtcwrapperbin signaler=GstOwrSignaler signaler::server_url=${SERVER_URL} signaler::session_id=${SESSION_ID} start-call=true name=web web. ! rtpvp8depay ! decodebin ! autovideosink


Previous: GStreamer_Pipelines/Pubnub_Pipelines Index Next: Other_WebRTC_RidgeRun_products