GstWebRTC - OpenWebRTC Web Page - iMX6
GstWebRTC | ||||||||
---|---|---|---|---|---|---|---|---|
WebRTC Fundamentals | ||||||||
GstWebRTC Basics | ||||||||
|
||||||||
Evaluating GstWebRTC | ||||||||
Getting the code | ||||||||
Building GstWebRTC | ||||||||
Examples | ||||||||
|
||||||||
MCU Demo Application | ||||||||
Contact Us |
This page presents some GstRrWebRTC Web page on IMX6 platform to use OpenWebRTC.
Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help. |
Connect to SimpleRTC WebPage
To run the following examples, first you need to open the SimpleRTC web page in the browser.
The following figure show how to establish a call using the SimpleRTC web page in https://webrtc.ridgerun.com:8443/
- Type a unique Session ID in the text bar.
- Select in the check box if you want audio or video streaming.
- Press join
Note: In the following examples, the start-call property on the pipeline is set to true, thus the pipeline to start the call after you joined in the website.
Following examples are tested using Firefox browser version 64.0 (64-bit) and Chrome browser version 71.0.3 (64-bit) for testing the demo OpenWebRTC web page.
OPUS Send
Example
This pipeline will send an audio stream to the demo web page.
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=1234ridgerun name=web \ audiotestsrc is-live=true wave=8 ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! web.audio
H264 Send
Example
This pipeline will encode a video stream to H264 and send it to the demo web page.
We set the profile-level-id because the imxvpuenc_h264 don't set the profile and level for that reason the rtph264pay don't set the profile-level-id
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=1234ridgerun name=web \ videotestsrc is-live=true ! imxvpuenc_h264 ! rtph264pay ! \ capssetter caps="application/x-rtp,profile-level-id=(string)42c01f" ! web.video_sink
H264+OPUS Send
Example
This pipeline will send a video stream and an audio stream to the demo web page.
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=1234ridgerun name=web \ videotestsrc is-live=true ! imxvpuenc_h264 ! rtph264pay ! \ capssetter caps="application/x-rtp,profile-level-id=(string)42c01f" ! web.video_sink audiotestsrc is-live=true wave=8 ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! web.audio
H264 Send+Receive
We set the profile-level-id because the imxvpuenc_h264 don't set the profile and level for that reason the rtph264pay don't set the profile-level-id
Example
This pipeline will send a video stream and an audio stream to the demo web page. Additionally, it will receive the web page's video and audio feeds, in the same format.
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=testingrr name=web \ videotestsrc is-live=true ! imxvpuenc_h264 ! rtph264pay ! \ capssetter caps="application/x-rtp,profile-level-id=(string)42c01f" ! web.video_sink web.video_src ! rtph264depay ! h264parse ! imxvpudec ! queue ! imxg2dvideosink sync=false
IMX6 Limitations
GstRrWebRTC was originally developed for x86 platform, but it's supported for IMX6 with some limitations:
- Only true start-call supported: The pipeline needs to start the call to allow WebRTC streaming.
- Required Capssetter: For IMX6 implementations it's necessary to select an specific profile level id in order to execute the video streaming.