Skip to content

pollen-robotics/gstreamer_webrtc

Repository files navigation

Gstreamer WebRTC

Code style: black linter

This python code streams video from a Luxonis Camera, and audio from a microphone. It can also consume and play back an audio stream from a remote peer. This piece of software is based on the gstreamer webrtc plugin.

Installation

The dependencies are listed in the setup.cfg file and will be installed if you install this package locally with:

pip install -e .[dev]

use [dev] for optional development tools.

Usage

The installation provides the executable streaming_service. Use the --help option for more infos about the configuration.

Examples

Stream audio only

streaming_service  --config config/CONFIG_OAK.json producer --name robot --verbose --stream audio

Stream video only

streaming_service  --config config/CONFIG_OAK.json producer --name robot --verbose --stream video

Steam audio and video, and playback sound from remote peer

streaming_service --config config/CONFIG_OAK.json producer --name robot --verbose --stream audiovideo --remote-producer-name UnityClient

Simple consumer for debugging purposes

python src/gstreamer/simple_consumer.py consumer --remote-producer-peer-id <peer_id>

THe peer_id can be get in the log of the signalling server

Debugging

Enable tracer

Tracing tool

Tool by gstreamer

python scripts/buffer_lateness.py /tmp/buffer_lateness_sender.log --include-filter "(src_(left|right)|rtpbin:*)"
python scripts/buffer_lateness.py /tmp/buffer_lateness_received.log --include-filter "(rtpjitterbuffer0|avdec*|webrtc|decoder)"

About

Streams video and audio with GStreamer WebRTC plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •