Skip to main content

Gateway to send streams to Galène videoconference server.

Project description

Galène streaming gateway

Gateway to send streams such as RTMP or SRT to Galène videoconference server. It is based on Gstreamer and implements the Galène protocol.

User guide

Real-time video conversion requires resources. If many users are going to use this gateway simultaneously, you should scale your machine resources accordingly.

Installation on Debian/Ubuntu

sudo apt install python3-pip python3-gi python3-gi-cairo python3-websockets gir1.2-gst-plugins-bad-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-nice
pip3 install --user galene-stream

Installation on ArchLinux

sudo pacman -S python-setuptools python-pip python-websockets python-gobject gobject-introspection gst-python gst-plugins-base gst-plugins-bad
pip install --user galene-stream

Installation from source code using Python Virtualenv

Start by cloning the source code,

git clone https://github.com/erdnaxe/galene-stream
cd galene-stream

Then create a Python VirtualEnv and install galene-stream inside,

python -m venv venv --system-site-packages
source venv/bin/activate
pip install -e .

Configuration for RTMP streaming

+--------------------+      +----------+      +-------------+        +------+
|Streaming software  | RTMP |NGINX RTMP| RTMP |Galène Stream| WebRTC |Galène|
|(such as OBS-Studio)+------>  Server  <------+   Gateway   +-------->      |
+--------------------+      +----------+      +-------------+        +------+

You need a NGINX RTMP server, you may remix the provided nginx.conf. You can launch NGINX as user using:

nginx -c nginx.conf -p $PWD

You may launch the gateway after the NGINX server using:

galene-stream --output "wss://galene.example.com/ws" --group test --username bot

Then you can stream to rtmp://127.0.0.1:1935/live with stream key test.

Configuration for SRT streaming

SRT support is still experimental in some Linux distributions. It has been reported to work on ArchLinux (on 2021/03/30).

Launch the gateway using:

galene-stream --input "srt://localhost:9710?mode=listener" --output "wss://galene.example.com/ws" --group test --username bot

Then you can stream to srt://localhost:9710 with no stream key.

Configuration for file streaming

For debugging purposes you can directly stream a file,

galene-stream --input "file://source.webm" --output "wss://galene.example.com/ws" --group test --username bot

Contributing

See contributing guidelines.

Debugging GStreamer pipeline

You may use these environment variables,

GST_DEBUG="GST_TRACER:7" GST_TRACERS="latency;stats;rusage" GST_DEBUG_FILE=trace.log

Then you may inspect logs using gst-stats-1.0 trace.log.

Authors

This gateway is currently developed by members from Crans and Aurore network organizations to build a self-hosted free and open-source streaming server.

Main contributors:

  • Alexandre Iooss

License

We believe in open source software. This project is licensed under MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

galene-stream-0.1.1.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

galene_stream-0.1.1-py2.py3-none-any.whl (10.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file galene-stream-0.1.1.tar.gz.

File metadata

  • Download URL: galene-stream-0.1.1.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for galene-stream-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ae9d94194ba11a1a9f19249355b21ea1912e0faa9af59d98cb19b9bb89d5b6d3
MD5 50cd4b4f5bbe49ef3f7cda0693ac5642
BLAKE2b-256 a5ce860b037cf51715e92830b90d6d4741b907380bb3894b6fc635272750e5d6

See more details on using hashes here.

File details

Details for the file galene_stream-0.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: galene_stream-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for galene_stream-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 81d18d0818309df226a0e155879a4b5d8fc3d42fee6ae5649cdd54c0cc571d45
MD5 ed5e500922e79c40a307566571e0ea7b
BLAKE2b-256 fb18e4a4a820962f10e39005e79552b3d4eefe03956bfb2783d926fde8b09b08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page