2025-04-16 10:31:54 +02:00
2025-04-15 08:11:53 +02:00
2025-04-11 09:44:58 +02:00
2025-03-25 06:32:49 +01:00
2025-04-16 10:31:54 +02:00
2025-03-16 15:05:43 +01:00
2025-03-24 21:59:45 +01:00
2025-03-16 12:52:24 +01:00
2025-04-06 16:58:33 +02:00

Octoplex 🐙

build status GitHub Release License: AGPL v3

Octoplex is a live video restreamer for the terminal.

  • Restream RTMP to unlimited destinations
  • Broadcast using OBS and other standard tools
  • Add and remove destinations while streaming
  • Automatic reconnections
  • Terminal user interface with real-time container metrics and health status
  • Built on FFmpeg, Docker and other proven free software

How it works

         +------------------+             +-------------------+
         |      OBS          |  ---->     |     Octoplex      |
         | (Video Capture)   |   RTMP     |                   |
         +------------------+             +-------------------+
                                                 |
                                                 | Restream to multiple destinations
                                                 v
              +------------+     +------------+     +------------+     +--------------+
              |  Twitch.tv |     |   YouTube  |     | Facebook   |     |  Other       |
              +------------+     +------------+     +------------+     | Destinations |
                                                                       +--------------+

Asciicast 📹

asciicast

Installation

Docker Engine

First, make sure Docker Engine is installed. Octoplex uses Docker to manage FFmpeg and other streaming tools.

Linux: See https://docs.docker.com/engine/install/.

MacOS: https://docs.docker.com/desktop/setup/install/mac-install/

Octoplex

Download the latest build for your platform from the releases page.

Unarchive the octoplex binary and copy it somewhere in your $PATH.

Usage

Launch the octoplex binary.

$ octoplex

Connecting with OBS

To connect with OBS, configure it to stream to rtmp://localhost:1935/live.

OBS streaming settings

Subcommands

Subcommand Description
None Launch the terminal user interface
print-config Echo the path to the configuration file to STDOUT
edit-config Edit the configuration file in $EDITOR
version Print the version
help Print help screen

Configuration file

Octoplex stores configuration state in a simple YAML file. (See above for its location.)

Sample configuration:

logfile:
  enabled: true                        # defaults to false
  path: /path/to/logfile               # defaults to $XDG_STATE_HOME/octoplex/octoplex.log
sources:
  rtmp:
    enabled: true                      # must be true
    streamKey: live                    # defaults to "live"
destinations:
  - name: YouTube                      # Destination name, used only for display
    url: rtmp://rtmp.youtube.com/12345 # Destination  URL with stream key
  - name: Twitch.tv
    url: rtmp://rtmp.youtube.com/12345
  # other destinations here

⚠️ It is also possible to add and remove destinations directly from the terminal user interface.

Contributing

Bug reports

Open bug reports on GitHub.

Pull requests

Pull requests are welcome.

Acknowledgements

Octoplex is built on and/or makes use of other free and open source software, most notably:

Name License URL
Docker Apache 2.0 GitHub
FFmpeg LGPL Website
MediaMTX MIT GitHub
tview MIT GitHub

Licence

Octoplex is released under the AGPL v3 license.

Description
🐙 Octoplex is a live video restreamer for the terminal.
https://github.com/rfwatson/octoplex
Readme 1.1 MiB
Languages
Go 99.9%
Shell 0.1%