Difference between revisions of "GStreamer WebRTC Wrapper/GStreamer Pipelines/Pubnub Pipelines"
m (→Video and Audio) |
m (→Appendixes) |
||
Line 145: | Line 145: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | = | + | = Appendix = |
== Find audio device == | == Find audio device == |
Revision as of 14:10, 20 January 2020
GStreamer WebRTC Wrapper |
---|
Introduction |
Architecture |
Evaluating GstWebRTCWrapper |
Getting the Code |
GStreamer Pipelines |
Other WebRTC RidgeRun products |
Contact Us |
Contents
Description
This page presents some GStreamer examples pipeline on supported platforms using PubNub Demo.
Bring up the PubNub Demo
Open the PubNub WebRTC Demo on a Chrome or a Chromium browser.
The Pubnub ID should be used to connect the GstWebRTCWrapperbin pipeline.
Nvidia Xavier/TX2
This pipeline are creating using the Nvidia resources like cameras, video codecs.
Unidirectional
Video
VP8 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web.
VP9 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web.
H264 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web.
Video and Audio
VP8 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
VP9 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
H264 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
Bidirectional
Video
VP8 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. web. ! rtpvp8depay ! omxvp8dec ! nveglglessink
VP9 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web. web. ! rtpvp9depay ! omxvp9dec ! nveglglessink
H264 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web. web. ! rtph264depay ! omxh264dec ! nveglglessink
Video and Audio
VP8 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! omxvp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
VP9 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp9depay ! omxvp9dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
H264 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=PEER_CHANNEL start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtph264depay ! omxh264dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
Appendix
Find audio device
Run the command (in the terminal)
aplay -l
The output looks like
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC262 Analog [ALC262 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
The device for this is plughw:0,0. The two zeros come from the device 0 and Subdevice #0.