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.
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.
The installation provides the executable streaming_service
. Use the --help
option for more infos about the configuration.
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
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)"