Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 106 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

🇺🇸 English

Loading...

Getting started

Loading...

Loading...

Installing

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Knowledge Base

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

User Guides

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Developer

Loading...

Quick Start

With a few simple steps, a live stream is ready for your website, an external streaming service, social networks, YouTube, or directly on the finished micro page!

1. Install and start

Load the Docker container and start with the default user credentials. The default ports for HTTP are 80 and for HTTPS 443.

docker run -d --restart=always --rm --name restreamer \
-v /opt/restreamer/config:/core/config \
-v /opt/restreamer/data:/core/data \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:latest

Standardports HTTP: 80 ; HTTPS: 443

Port forwarding (80>8080, 443>8181) of the public ports is necessary for full functionality.

Use a secure and unique password.

2. Add video source

The wizard helps to activate a video source.

Audio

Optionally, the use of sound is possible via the configurator.

AAC and Mp3 formats are supported.

4. Integrate video player on the website

Becoming a live streaming superhero with the Restreamer is a pretty simple process:

Port forwarding is necessary for the audience to see the live stream.

5. Optional: Customize video player

The video player is ready to use. It is straightforward to customize the color, logo, and link.

6. Optional: Customize video page

The video page is active immediately and is provided via localhost.

7. Optional: Select publication service

Many great things are possible once the datarhei Restreamer is "on-air". Why not start a publication service with a live broadcast on YouTube?

🧙Tip: You can create, start and run as many services as you like.

Learn more

Installing
Knowledge Base
Developer
Premium Support

Raspberry Pi / ARM

Install and run Restreamer on a Raspberry Pi 3, P 4, or other devices with an ARMv6, ARMv7, or ARMv8 CPU in a Docker container.

After installation, control the Restreamer in any browser using the IP and port of the device with the path /ui.

Requirements

  • Raspberry Pi 3 or Pi 4

  • ARM CPU with arm32v7 or arm64v8 architecture.

Verified Raspberry Pi models

  • Raspberry Pi 3 Mod. A+

  • Raspberry Pi 3 Model B+

  • Raspberry Pi 4 Mod. B

Preparation

Step 1: Install Docker

If you are already using Docker, skip this step.

Installation

Step 2: Start the Restreamer

Start with hardware support for arm32v7

docker run --detach --rm --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:rpi-latest

Start without hardware support for arm32v7 and arm64v8


docker run --detach --rm --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:latest

For security reasons, start the Restreamer only with --privileged if you need hardware support.

Step 3: Open the Restreamer

Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Raspberry Pi Camera

Important: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup.

Description of the most important commands for the use of environments

-d Deletes the container. This means that the container is executed in the background. You can run it interactively in the foreground with -it instead of -d. To stop the restreamer in detached mode, type docker stop restreamer. In interactive mode, simply press Ctrl-C to stop the restreamer.

--name restreamer Set the container the name restreamer. This name can be used in other Docker commands to control the container. For example, to stop the Restreamer, type docker stop restreamer. While the Restreamer is running, you can log into the container with docker exec -it restreamer /bin/bash.

--restart=always If the Restreamer crashes or the device reboots, Docker restarts the Restreamer automatically.

--publish 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

--publish 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

--publish 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

--publish 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

--publish 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

--volume ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

--volume ${HOME}/restreamer/data:/core/data The Restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

Alternative single-board computers with enough power are e.g., or from the manufacturer .

Install the latest on a memory card.

Log in to the Pi and install Docker according to the

Please check out our guide:

ODROID
Pine64
Raspberry Pi OS-Image
Debian installation guide for armhf.
How do I stream a RaspiCam?
Environment Variables
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Environment Variables
Knowledge Base
Developer
Premium Support

Official Recommendations

Official production deployment recommendations

Introduction

To obtain official support from our team, we have a minimum set of requirements. These requirements are necessary for us to access essential system information, provide an SLA, answer questions, or give a solution to the problem.

Only installations matching these minimum requirements can be covered by our SLAs and our paid Support Policy; some conditions may vary depending on the installation size, as described below.

Docker container

We strongly recommend using our official Docker images to eliminate environment issues of missing, outdated, or mismatching dependencies, specific operating system issues, or issues during manual installations.

The datarhei Restreamer's cloud uses our official Docker images, making this installation method the most tested.

Learn more

Overview

After successful installation, logging in, and creating a video source, you will get to the start screen.

The Main screen

After successful login, the main screen is a central point in the system and the starting point for all other settings.

Without an active video source, the Video Wizard appears.

Learn more

Minimum Requirements

Once Docker runs on the host, there is an excellent chance to use the Restreamer.

Restreamer via Docker

Docker Engine is free and available on various Linux platforms, macOS, and Windows via Docker Desktop and as a static binary installation.

Restreamer via Podman

Podman is a free and recommended alternative for Docker.

Web Browsers

Unsupported browsers and operating systems

To provide the best possible Restreamer experience, we keep our list of supported browsers and operating systems short. We do not fix bugs or issues with unsupported browsers.

Learn more

is widely used for packaging applications in containers and distributing them as images, providing abstraction and isolation layers from the OS (operational system). In addition, it allows the application to be shipped with a specific version of the OS compatibility layer and its dependencies already installed and configured.

Docker
Installing
Knowledge Base
Developer
Premium Support

Browser

Requirements

Google Chrome

Latest 3 versions

Mozilla Firefox

Latest 3 versions

Safari

Latest 2 versions

Microsoft Edge

Latest 2 versions

Microsoft Internet Explorer

Good luck!

Quick start guide: Installing the open-source video streaming server Restreamer for experts.
Quick start guide: The wizard helps to create video and audio files.
System settings
Multi Video source
Publication services
Stream settings
Video player settings
System monitoring
Process details
Process report
Manual
Quick Start
Knowledge Base
Developer
Premium Support
Quick start guide: How does the livestream get on the website?
Quick start guide: Player config
Quick start guide: Customize video page
Quick start guide: Example publication service with YouTube

Linux

Install and run datarhei Restreamer on Linux with a 64bit Intel or AMD CPU in a Docker container.

After installation, control the restreamer in any browser using the IP and port of the device with the path /ui.

Requirements

  • 64Bit Intel or AMD CPU

  • A current Linux distribution such as Ubuntu, Debian, Fedora, RedHat, or Suse Linux.

Preparation

Step 1: Install Docker

Installation

Step 2: Start the Restreamer

Without hardware support

docker run --detach --rm --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:latest

Start with hardware support for Nvidia CUDA

docker run --detach --runtime=nvidia --rm --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:cuda-latest

Start with hardware support for Intel VAAPI

docker run --detach --rm --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:vaapi-latest

For security reasons, start the Restreamer only with --privileged if you need hardware support.

Step 3: Open the Restreamer

Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Important: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup.

Description of the most important commands for the use of environments

-d Deletes the container. This means that the container is executed in the background. You can run it interactively in the foreground with -it instead of -d. To stop the restreamer in detached mode, type docker stop restreamer. In interactive mode, simply press Ctrl-C to stop the restreamer.

--name restreamer Set the container the name restreamer. This name can be used in other Docker commands to control the container. For example, to stop the Restreamer, type docker stop restreamer. While the Restreamer is running, you can log into the container with docker exec -it restreamer /bin/bash.

--restart=always If the Restreamer crashes or the device reboots, Docker restarts the Restreamer automatically.

--publish 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

--publish 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

--publish 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

--publish 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

--publish 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

--volume ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

--volume ${HOME}/restreamer/data:/core/data The Restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

Mac

Install and run Restreamer on Mac with Docker Desktop.

After installation, control the Restreamer in any browser using the IP and port of the device with the path /ui.

Preparation

Step 1: Install Docker Desktop

Step 2: Pull the container with the Restreamer

docker pull datarhei/restreamer:latest

Step 3: Run Restreamer Container

Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.

Step 4: Configurate your Restreamer container and start

The next step is to set the container's name, the ports for access in the browser, and the video data. Finally, place the volume settings so that the login data and the restreamer are permanently saved! Otherwise, the settings and login data will be gone with the next update. Click Run to start the Restreamer for the first time.

  • Name A logical name helps to find the container again.

  • Ports Transfer the numbers from the Container Ports field to the empty areas on the left.

  • Volumes Choose a folder on the windows machine where you want to store the settings and configuration of the restreamer permanently. The Destination path is /core/config and /core/data.

Step 5: Open Browser to login

Click on the 8080:8080 opens the default browser with the Restreamer front door. You can otherwise also open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Step 8. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

Additional information: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup. They are admittedly not so essential for Docker Desktop, but it does not hurt if you know them!

Description of the most important commands for the use of environments

-p 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

-p 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

-p 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

-p 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

-p 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

-v ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

-v ${HOME}/restreamer/data:/core/data The restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

Docker Desktop

Install and run Restreamer on Mac with Docker Desktop.

After installation, control the Restreamer in any browser using the IP and port of the device with the path /ui.

Preparation

Step 1: Install Docker Desktop

Step 2: Pull the container with the Restreamer

docker pull datarhei/restreamer:latest

Step 3: Run Restreamer Container

Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.

Step 4: Configurate your Restreamer container and start

The next step is to set the container's name, the ports for access in the browser, and the video data. Finally, place the volume settings so that the login data and the restreamer are permanently saved! Otherwise, the settings and login data will be gone with the next update. Click Run to start the Restreamer for the first time.

  • Name A logical name helps to find the container again.

  • Ports Transfer the numbers from the Container Ports field to the empty areas on the left.

  • Volumes Choose a folder on the windows machine where you want to store the settings and configuration of the restreamer permanently. The Destination path is /core/config and /core/data.

Step 5: Open Browser to login

Click on the 8080:8080 opens the default browser with the Restreamer front door. You can otherwise also open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Step 8. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

Additional information: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup. They are admittedly not so essential for Docker Desktop, but it does not hurt if you know them!

Description of the most important commands for the use of environments

-p 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

-p 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

-p 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

-p 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

-p 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

-v ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

-v ${HOME}/restreamer/data:/core/data The restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

datarhei Restreamer

datarhei Restreamer provides real-time live video streaming on websites and social media platforms without additional streaming provider costs for video hosting or software licensing costs.

datarhei Restreamer is a modern video streaming platform where teams can live stream and restream everything from webcams to broadcasting. We want to help teams to stream more efficiently by creating a simple yet powerful service for them to live stream video. Our mission is to make a user-friendly and powerful product for everyone to stream video.

datarhei Restreamer is best installed on a current Raspberry Pi. The hardware and the operating system do not matter - as long as Docker is available.

What does the datarhei Restreamer offer?

  • Live streaming on websites without additional service providers, video hosting providers. Instantly available, free of charge, and without advertising.

  • Share live videos publicly or privately with anyone, or use a secret link to give your audience access to private content.

  • The fully documented API helps with software development. datarhei Restreamer is very easy to adapt to any project.

Learn more

Windows

Install and run Restreamer on Microsoft Windows with Docker Desktop.

After installation, control the Restreamer in any browser using the IP and port of the device with the path /ui.

Preparation

Step 1: Install Docker Desktop

Step 2: WSL 2 installation

Step 3: Docker Desktop settings

Go to the Docker Desktop settings to enable the Linux distro integration.

After the steps, we recommend rebooting the computer.

Start Restreamer container in Docker Desktop

Step 4: Pull the container with the Restreamer

Step 5: Run Restreamer Container

Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.

Step 6: Configurate your Restreamer container and start

The next step is to set the container's name, the ports for access in the browser, and the video data. Finally, place the volume settings so that the login data and the restreamer are permanently saved! Otherwise, the settings and login data will be gone with the next update. Click Run to start the Restreamer for the first time.

  • Name A logical name helps to find the container again.

  • Ports Transfer the numbers from the Container Ports field to the empty areas on the left.

  • Volumes Choose a folder on the windows machine where you want to store the settings and configuration of the restreamer permanently. The Destination path is /core/config and /core/data.

Step 7: Open Browser to login

Click on the 8080:8080 opens the default browser with the Restreamer front door. You can otherwise also open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Step 8. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

Additional information: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup. They are admittedly not so essential for Docker Desktop, but it does not hurt if you know them!

Description of the most important commands for the use of environments

-p 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

-p 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

-p 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

-p 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

-p 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

-v ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

-v ${HOME}/restreamer/data:/core/data The restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

Terminal

Install and run datarhei Restreamer on Mac with Intel or Silicon chip in an Docker container.

After installation, control the restreamer in any browser using the IP and port of the device with the path /ui.

Requirements

  • A current Linux distribution such as Ubuntu, Debian, Fedora, RedHat, or Suse Linux.

Preparation

Step 1: Install Docker

Installation

Step 2: Start the Restreamer

Without hardware support

Start with hardware support for Nvidia CUDA

Start with hardware support for Intel VAAPI

For security reasons, start the Restreamer only with --privileged if you need hardware support.

Step 3: Open the Restreamer

Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Step 4. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

Important: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup.

Description of the most important commands for the use of environments

-d Deletes the container. This means that the container is executed in the background. You can run it interactively in the foreground with -it instead of -d. To stop the restreamer in detached mode, type docker stop restreamer. In interactive mode, simply press Ctrl-C to stop the restreamer.

--name restreamer Set the container the name restreamer. This name can be used in other Docker commands to control the container. For example, to stop the Restreamer, type docker stop restreamer. While the Restreamer is running, you can log into the container with docker exec -it restreamer /bin/bash.

--restart=always If the Restreamer crashes or the device reboots, Docker restarts the Restreamer automatically.

--publish 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

--publish 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

--publish 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

--publish 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

--publish 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

--volume ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

--volume ${HOME}/restreamer/data:/core/data The Restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

Docker Desktop

Install and run Restreamer on Microsoft Windows with Docker Desktop.

After installation, control the Restreamer in any browser using the IP and port of the device with the path /ui.

Preparation

Step 1: Install Docker Desktop

Step 2: WSL 2 installation

Step 3: Docker Desktop settings

Go to the Docker Desktop settings to enable the Linux distro integration.

After the steps, we recommend rebooting the computer.

Start Restreamer container in Docker Desktop

Step 4: Pull the container with the Restreamer

Step 5: Run Restreamer Container

Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.

Step 6: Configurate your Restreamer container and start

The next step is to set the container's name, the ports for access in the browser, and the video data. Finally, place the volume settings so that the login data and the restreamer are permanently saved! Otherwise, the settings and login data will be gone with the next update. Click Run to start the Restreamer for the first time.

  • Name A logical name helps to find the container again.

  • Ports Transfer the numbers from the Container Ports field to the empty areas on the left.

  • Volumes Choose a folder on the windows machine where you want to store the settings and configuration of the restreamer permanently. The Destination path is /core/config and /core/data.

Step 7: Open Browser to login

Click on the 8080:8080 opens the default browser with the Restreamer front door. You can otherwise also open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Step 8. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

Additional information: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup. They are admittedly not so essential for Docker Desktop, but it does not hurt if you know them!

Description of the most important commands for the use of environments

--publish 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

--publish 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

--publish 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

--publish 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

--publish 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

--volume ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

--volume ${HOME}/restreamer/data:/core/data The Restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

Terminal

Install and run datarhei Restreamer on Mac with Intel or Silicon chip in an Docker container.

After installation, control the restreamer in any browser using the IP and port of the device with the path /ui.

Requirements

  • A current Linux distribution such as Ubuntu, Debian, Fedora, RedHat, or Suse Linux.

Preparation

Step 1: Install Docker

Installation Windows PowerShell

In the PowerShell, a single command is required to download and start the Restreamer.

Step 2: Start the Restreamer

Without hardware support

Start with hardware support for Nvidia CUDA

Start with hardware support for Intel VAAPI

For security reasons, start the Restreamer only with --privileged if you need hardware support.

Step 3: Open the Restreamer

Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui

Step 4. First login

When you log in for the first time in your Restreamer, you have to enter your credentials.

Important: The Environments

Environments are global settings for the Restreamer. We recommend considering some environments at the startup.

Description of the most important commands for the use of environments

-d Deletes the container. This means that the container is executed in the background. You can run it interactively in the foreground with -it instead of -d. To stop the restreamer in detached mode, type docker stop restreamer. In interactive mode, simply press Ctrl-C to stop the restreamer.

--name restreamer Set the container the name restreamer. This name can be used in other Docker commands to control the container. For example, to stop the Restreamer, type docker stop restreamer. While the Restreamer is running, you can log into the container with docker exec -it restreamer /bin/bash.

--restart=always If the Restreamer crashes or the device reboots, Docker restarts the Restreamer automatically.

--publish 8080:8080 Binds the computer's port 8080 to the Restreamer's port 8080. It allows you to connect to the Restreamer GUI over HTTP with your browser. If you want to use a different port, change it to -p 31000:8080, for example.

--publish 8081:8181 Binds the computer's port 8181 to the Restreamer's port 8181. It allows you to connect to the Restreamer GUI over HTTPS with your browser. If you want to use a different port, change it to -p 31000:8181, for example.

--publish 1935:1935 Binds port 1935 of the computer to port 1935 of the Restreamer. It allows you to receive streams from the RTMP server or send streams to the RTMP server. If you want to use a different port, change it to -p 31000:1935, for example.

--publish 1936:1936 Binds port 1936 of the computer to port 1936 of the Restreamer. It allows you to receive streams from the RTMPS server or send streams to the RTMPS server. If you want to use a different port, change it to -p 31000:1936, for example.

--publish 6000/udp Binds port 6000/udp of the restreamer. It allows you to receive streams from the SRT server or send streams to the SRT server. If you want to use a different port, change it to -p 31000:6000/udp, for example.

--volume ${HOME}/restreamer/config:/core/config The Restreamer stores the current state in the /core/config directory inside the container. This command maps the ${HOME}/restreamer/config directory of your computer into the container. This can be used to preserve the state if the restreamer needs to be restarted. If you want to store the state in a different directory on your device, change it to, e.g. -v /tmp/restreamer/config:/core/config

--volume ${HOME}/restreamer/data:/core/data The Restreamer stores the internal file system persistently in this directory.

datarhei/restreamer:latest It is the Docker image of the latest datarhei Restreamer on Docker Hub. Docker checks if the image is available locally and downloads it if it is not or if a newer image is available.

List with all available environment variables

Learn more

External URL: Install Docker
External URL: Install podman

Download, install and run . Follow the installation instructions. If you are already using Docker, skip this step.

Download, install and run . Follow the installation instructions. Start Restreamer container in Docker Desktop. If you already installed Docker Desktop jump to next step.

Open the Terminal and load the cotainer from Docker Hub. Use the command:

Download, install and run . Follow the installation instructions. Start Restreamer container in Docker Desktop. If you already installed Docker Desktop jump to next step.

Open the Terminal and load the cotainer from Docker Hub. Use the command:

Enjoy a simple streaming server with self-installation on your server or Raspberry Pi. Or sign up on our website and use our ready-to-go .

Download, install and run . Follow the installation instructions. If you are already using Docker Desktop and installed WSL 2, skip to Step 4.

To make the Restreamer container compatible with Windows, installing the Linux kernel update is necessary. The instructions are available on and websites. We recommend using the Debian or Ubuntu package. Follow the instructions, and there will be no problems.

Open the command-line PowerShell for Windows and load the cotainer from Docker Hub. Use the command:

Download, install and run . Follow the installation instructions. If you are already using Docker, skip this step.

Download, install and run . Follow the installation instructions. If you are already using Docker Desktop and installed WSL 2, skip to Step 4.

To make the Restreamer container compatible with Windows, installing the Linux kernel update is necessary. The instructions are available on and websites. We recommend using the Debian or Ubuntu package. Follow the instructions, and there will be no problems.

Open the command-line PowerShell for Windows and load the cotainer from Docker Hub. Use the command:

Download, install and run . Follow the installation instructions. If you are already using Docker, skip this step.

Docker Desktop
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Environment Variables
Knowledge Base
Developer
Premium Support
Docker Desktop
latest Restreamer
Login
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Knowledge Base
Developer
Premium Support
Docker Desktop
latest Restreamer
Login
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Knowledge Base
Developer
Premium Support
docker pull datarhei/restreamer:latest
LogoGet DockerDocker Documentation
docker run --detach --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:latest
docker run --detach --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:cuda-latest
docker run --detach --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:vaapi-latest
LogoPodman
docker pull datarhei/restreamer:latest
docker run --detach --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:latest
docker run --detach --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:cuda-latest
docker run --detach --name core --privileged --volume /opt/core/config:/core/config --volume /opt/core/data:/core/data --publish 8080:8080 --publish 8181:8181 --publish 1935:1935 --publish 1936:1936 --publish 6000:6000/udp datarhei/restreamer:vaapi-latest
datarhei Service

Manual

https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
https://github.com/datarhei/core#environment-variablesgithub.com
External URL: All Environment variables on GitHub.
Getting started
Installing
Knowledge Base
Developer
Premium Support
Docker Desktop
Microsoft
Docker
latest Restreamer
Login
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Knowledge Base
Developer
Premium Support
Docker Desktop
Login
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Environment Variables
Knowledge Base
Developer
Premium Support
Docker Desktop
Microsoft
Docker
latest Restreamer
Login
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Knowledge Base
Developer
Premium Support
Docker Desktop
Login
How do I install Docker?
How does port forwarding work for the Restreamer?
How can I use HTTPS with Let's Encrypt?
What are environment variables?
Environment Variables
Knowledge Base
Developer
Premium Support

Update

We always recommend using the latest datarhei Restreamer.

Activate the checkmark at Update!

System settings >> System >> ☑️ Check for update

Check the box from version 2.x to get informed about new versions.

Migration from v0.x to v2.x

From Restreamer version 0.6.8 onwards, the configuration settings will be migrated when updating to version 2.x.

IMPORTANT ADJUSTMENT DURING MIGRATION! The mount path is changing at the new Restreamer. Older Restreamer v.0x -v /mnt/restreamer/db:/restreamer/db

Latest Restreamer > 2.x -v /mnt/restreamer/db:/core/config \ -v /opt/restreamer/data:/core/data

For all versions before version 0.6.8 all settings will be lost! In this case, upgrade to version 0.6.8 first and then upgrade to 2.x.

Update v2 to > v2.x

The current version of the datarhei Restreamer is executed via the same command as during the new installation.

When updating from running version 2 to > 2.x, do not forget the docker pull command to the current image - then start the Restreamer with the usual docker run command.

Old Version v0.6.8

Learn more

Cloud/Hosting-Service

If your private ISP does not have enough bandwidth capacity, it is obvious to run the restreamer at a cloud/hosting service.

List of Docker services for deploying a Docker image

Alternatively, you can use any cloud/hosting service where you have access to the server. There you install Docker or Podman to run the restreamer.

Learn more

Login

To set up your Restreamer, you need to open the graphical user interface in a browser and log in with your credentials.

For access, you need the login name and the password, which you have assigned at the 1st login after the installation.

If you have forgotten the login name or password, you can look into the config.json.

Learn more

Main screen

After logging in with your credentials, the home page appears on the main screen.

General system settings with real-time data

On the main screen, you can see the current video stream. Under the video player, you can find the runtime, the bitrate, and the frame rate. In addition, you find the number of viewers and the current bitrate in real-time for the publications.

The menu items in detail

The navigation points take you to the settings of the various submenus.

  1. System menu

    1. datarhei Service

    2. Issue alert

    3. Language

    4. Logout

    1. All

    2. Plattform

    3. Software

    4. Protocol

    1. Add source

    2. Switch channel

    1. Embed

    2. Color

    3. Logo

    4. Statistics

    5. Playback

  2. Process details

  3. Stop Stream

  4. Copy HLS, RTMP, SRT, or Snapshot address

Learn more

Migration

Migration notes for version breaks.

v2.4+ to v2.3.x (downgrade)

Restreamer version >= 2.4.0 switches to FFmpeg 5.1.2, which is incompatible with earlier versions.

However, if problems arise due to the update, there is a backup to downgrade to =< 2.3.x.

The required steps:

Restoring the processes created with the new version >= 2.4.0, is impossible.

v0.6.x to v2.x

This guide assumes that your current docker command line looks like

Your actual command line might have more enviroment variables or different paths to the mounted directories.

  1. Start Restreamer v0.6.8 and start streaming from the video source.

  2. Stop Restreamer v0.6.8 by stopping the Docker container, e.g. docker kill restreamer and then docker rm restreamer.

  3. Pull the latest Restreamer image, e.g. docker pull datarhei/restreamer:latest.

  4. Adjust the mounted volumes by replacing -v /mnt/restreamer/db:/restreamer/db with -v /mnt/restreamer/db:/core/config -v /opt/restreamer/data:/core/data in your docker command line.

  5. Start Restreamer. Now the settings from v0.6.8 are imported to v2.x

  6. Done.

Your docker command should now look like

After the old settings have been successfully imported, the old settings database (v1.json) stored in /mnt/restreamer/db will not be used anymore. A new settings database (db.json) and a config file (config.json) have been created in that directory.

Review your Docker command line

As in the example command line above, there are two environment variables RS_USERNAME and RS_PASSWORD. You can remove those because during the first start of Restreamer v2.x their values were transferred into the config.json.

Your docker command should now look like

Your actual command line might have different paths to the mounted directories. Please adjust the example above accordingly in case you want to copy/paste it.

System displays

The Restreamer provides comprehensive system monitoring.

Overview real-time monitoring

1 Video stream

A video stream for viewing.

2 Audience count

The number of the current audience.

3 Audience bit rate

in Mbit/s

4 Uptime

Operating time is the duration of time the active livestream is used in hours, minutes, and seconds.

5 Video stream bitrate

Bitrate of the active live stream

6 Frame rate

Frames per second — short FPS.

7. System data

Learn more

Service

Register your datarhei Core at datarhei Service for free.

Follow us on Twitter or YouTube and sign up for our newsletter, so you don't miss the launch of the datarhei service.

If this was too quick for you, check out the .

  • Switch to the mounted Restreamer configuration folder Docker parameter: -v /host/path:/core/config

  • Rename db.json to db_ff5.json

  • Rename db_ff4.json to db.json

  • Start the Restreamer container with an older Docker image tag (e.g., datarhei/restreamer:2.3.0.)

If you are currently using an older version of Restreamer and want to upgrade to the latest version, you have to follow these steps. In case you don't need or want to keep your current stream settings you can go the page and install Restreamer v2.x from scratch.

Upgrade your Restreamer to v0.6.8 (). If you don't upgrade to v0.6.8, all your settings might get lost during the migration.

In case you are using any (command line options that start with -e RS_), they will be ignored after the first start of Restreamer v2.x (see step 6 above). You can remove them from your docker command line.

Twitter YouTube Newsletter

detailed migration guide
Installing
Knowledge Base
Premium Support
AWS
DigitalOcean
Microsoft Azure
Scaleway
sloppy.io
Vultr
Knowledge Base
Developer
Premium Support
Environment Variables
User Guides
Player site
System settings
Publication services
Multi-video source
Stream settings
General
Sources Video Settings
Audio Settings
Processing and Control
Meta information
License (CC)
Video Player Settings
System monitoring
Process report
Quick Start
Publication services
docker kill restreamer
docker rm restreamer
cd /mnt/restreamer/config
mv db.json db_ff5.json
mv db_ff4.json db.json
docker run {used params...} datarhei/restreamer:2.3.0
$ docker run -d --restart always \
     --name restreamer \
     -e "RS_USERNAME=admin" -e "RS_PASSWORD=datarhei" \
     -p 8080:8080 -v /mnt/restreamer/db:/restreamer/db \
     datarhei/restreamer:latest
$ docker run -d --restart always \
     --name restreamer \
     -e "RS_USERNAME=admin" -e "RS_PASSWORD=datarhei" \
     -p 8080:8080 \
     -v /mnt/restreamer/db:/core/config -v /opt/restreamer/data:/core/data \
     datarhei/restreamer:latest
$ docker run -d --restart always \
     --name restreamer \
     -p 8080:8080 \
     -v /mnt/restreamer/db:/core/config -v /opt/restreamer/data:/core/data \
     datarhei/restreamer:latest
Quick Start
https://github.com/datarhei/restreamer/releases/tag/v0.6.8
environment variables
System monitoring
Quick Start
twitter.com/datarhei
https://www.youtube.com/user/datarhei
https://datarhei.com

System settings

You can edit system settings in this area.

Overview

System settings in 3 steps

How to navigate to the system settings menu in 2 clicks and activate the expert mode.

Quick start video guide

Learn more

General system settings

Check and control all device settings.

1 General system settings

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

The expert mode extends the configuration possibilities.

2 General

Node-ID

The node ID can be used to uniquely identify the running datarhei core.

Name

The name makes it easier for people to identify the core. In addition, it is generated automatically or can be customized.

3 Update

Enable automatic check for updates.

Once a Core is connected to the service, the service will notify you of updates.

4 Expert mode

In the expert mode, you have access to all functions of datarhei Restreamer, including the export of databases or the encryption of external files. Due to the significantly extended range of functions compared to the beginner mode, the expert mode is primarily intended for users who already know the program and want its full range of functions.

5 Restart

Restarting the Core.

6 Save

Do not forget to save the settings.

7 Abort

Unsaved settings will be lost by aborting.

8 Close window

Closes the active window without saving.

Learn more

Wizard

🪄 The wizard helps with the initial setup and configuration of the video sources in the datarhei Restreamer. All settings can be edited at any time afterward on the grounds of the live stream.

Video Setup

After entering the datarhei Restreamer graphical user interface for the first time, you can use the wizard to set up a video source. The wizard will help you to configure the single steps conveniently.

You can edit all settings at any time later on.

The wizard can be started again in the first step or directly in the audio settings in the live stream settings.

Step 1: Video Setup

Select whether to retrieve the video source from a network source (such as a network camera) or from the internal RTMP server (such as OBS Streams or Wowza).

Push method Enter the address for the video source. HTTP, HTTPS (HLS, DASH), RTP, RTSP, RTMP, SRT are supported. The manufacturer in the manual specifies the streaming address of network cameras.

If you use OBS or another video source, use this address as the video source.

If you have an active Raspberry Pi Cam, use this address as a video source.

If you want to use a video device via USB.

Internal SRT server

Step 2: Video setup

Select one of the available video profiles of the video source.

Step 3: Audio setup

This step sets the audio from the live stream.

A silent audio channel is recommended if you don't have sound, but an audio track is necessary to produce the video. Some services like YouTube or Facebook always require an active audio channel.

Disable the sound.

Enable Sound

Step 4: Metadata

Metadata is essential for the search engine optimization of a video. Therefore, a short description of the video for the audience is optimal.

Step 5: License

Think briefly about the terms under which the video will be published on the Internet. All Creative Commons licenses are supported. The Creative Commons page explains the details of the different licenses in detail.

The worst license is no license!

CC0 1.0 The person who has associated a work with this deed has dedicated the work to the public domain by waiving all of their rights in the work worldwide under copyright law, including all related and neighboring rights, to the extent permitted by law. You may reproduce, modify, distribute and perform the Work, including for commercial purposes, all without asking permission.

CC BY 4.0 This license allows reusers to distribute, remix, adapt and build upon the material in any medium or format as long as credit is given to the author. The license permits commercial use.

CC BY SA 4.0 This license allows reusers to distribute, remix, adapt and build upon the material in any medium or format as long as credit is given to the author. The license permits commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.

CC BY NC 4.0 This license allows reusers to distribute, remix, adapt and build upon the material in any medium or format and for non-commercial purposes only, as long as credit is given to the author.

CC BY NC SA 4.0 This license permits reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as credit is given to the author. If you rework, adapt, or build upon the Material, you must license the modified Material under identical terms.

CC BY ND 4.0 This license allows reusers to copy and distribute the material in any medium or format only in an unadapted form and only as long as credit is given to the author. The license permits commercial use.

CC BY NC ND 4.0 This license permits reusers to copy and distribute the material in any medium or format only in an unmodified form and only as long as credit is given to the author. The license permits commercial use.

Restart wizard

Learn more

Network

Configure basics for a functioning network.

1 Network settings

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

2 Public-Domain/s

The publicly accessible domain name of the host on which this Restreamer is running. Separate multiple domain names with commas. The default value is: demo-core.datarhei.com

3 HTTP Address

Address on which HTTP requests should listen. The default value is Port: 8080

4 HTTPS Address

Address on which HTTPS requests should listen. The default value is Port: 8181

HTTPS (SSL/TLS)

5 Certification with Let's Encrypt

Bandwidth control

6 Maximum sessions

Sets a limit for viewers in an HLS session. Once the limit is exceeded, HLS viewers receive the HTTP status code 509 (bandwidth limit exceeded).

The default value is unlimited: 0

7 Maximum bit rate

Sets a bandwidth limit in Mbit/s for outgoing HLS data transmission. All services and outgoing processes are included in the calculation. Once the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (bandwidth limit exceeded).

The default value is unlimited: 0

Learn more

Playback

Control area for the compilation of statistics of the users.

1 Playback settings

Settings for playback are only visible in expert mode.

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

Security

2 Allow all referer

Enable or disable Allow access from all referrers.

3 CORS security

The HTTP request header "Referrer" contains the page's absolute or partial address from which the request originates. The referrer header allows a server to identify a page from which it is visited. This data is used by datarhei Restreamer to bring essential protection to the live streams.

The access control takes effect when the hook is deactivated, and a domain is entered.

Syntax: One address per line. The default value is allow all: *

Accept all accesses.

4 HLS statistics for /memfs.

The audience count is displayed when the hook is active.

5 Ignore IP ranges

To exclude viewers from the statistics, it may be necessary to ignore IP addresses so that the statistics are not distorted. For this purpose, a list of IP ranges in CIDR notation can be created in the text field, e.g., 127.0.0.1/32, which are not covered by the statistics.

Syntax: One IP range per line.

Record all sessions: Leave field empty

6 Session timeout

Length of the time interval in seconds when the viewer's session is terminated to no longer be captured by the statistics.

The default value is: 30 seconds

7 Persist session history

Session data is stored on the hard disk of the core host system.

Learn more

Authorization

Check the credentials for the administrator and in the expert mode for IP addresses.

1 Authorization settings

2 Enable login/JWT authorization

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

If access data are activated via ENV, a change via the graphical interface in the Restreamer is not possible.

It is strongly recommended to enable authorization to prevent unauthorized access to the instance.

3 Username

Here you can store the name for the login.

4 Password

Password for authorization on the system.

Learn more

Disk space

You can control the saving of videos in this section.

1 Storage settings

Settings for the memory space are only visible in expert mode.

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

2 settings for /memfs

Basic authentication for PUT, POST and DELETE requests. It is strongly recommended to enable basic authentication to prevent unauthorized writes to /memfs.

3 Username

4 Password

5 Maximum file size

6 Remove old files

7 Hard disk

8 Hard disk cache

9 Maximum file size

10 Cache timeout

11 Maximum file size

12 Cache Type

Learn more

The wizard can be started again in the first step or directly in the in the .

requires one or more public domain names and an accessible port 80/TCP. The HTTP port is changed automatically.

General system settings
Service
Network
Authorization
Playback
Disk space
RTMP
SRT
Logging
General system settings
Quick Start
Why do I see ENV and cannot select anything?
Troubleshooting
Quick Start
audio settings
live stream settings
Video settings
Audio settings
Meta Information
License
How do I stream a RaspiCam?
How do I connect a USB camera to the Restreamer?
How do I stream an IP cam with RTSP?
Quick Start
Let’s Encrypt
How can I use HTTPS with Let's Encrypt?
Installing
What are environment variables?
How can I use HTTPS with Let's Encrypt?
User Guides
YouTube Video: Quick start guide for system configuration in datarhei Restreamer
Installing
What are environment variables?
User Guides
Installing
What are environment variables?
Environment Variables
Why do I see ENV and cannot select anything?
User Guides
User Guides

SRT

Secure Reliable Transport (SRT) is an open-source video transport protocol that utilises the UDP transport protocol.

1 SRT settings

Docker port mapping must be extended for this as well. The unique thing is UDP, which you build into the command as follows: -p 6000:6000/udp.

By default Docker always uses TCP for the ports. So if you forget /udp, you will not be able to reach the SRT.

2 SRT server

The ✅ checkmark activates the SRT server.

3 Port

Port settings for the SRT server.

The default value for the listening address is port: 6000

4 Token

SRT token for publishing and playback. It is a protection against unwanted inputs/outputs. The token is the value of the URL query parameter 'token'. This setting is optional.

5 Passphrase

This setting encrypts the stream and is optional.

Learn more

Logging

The log file can assist in targeted troubleshooting.

These settings are only visible in expert mode.

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

2 Copy

Copies the system log to the clipboard.

3 Logging level

Different levels of logging. There are five different levels.

  • Silent

  • Error

  • Warn: Errors and warning messages

  • Info: Errors, warnings, and information messages

  • Errors, warnings, information messages, and debug information

4 Log lines

The number of log lines.

FFmpeg

5 Log lines

Number of most recent log lines to keep for each process.

6 Log history

Number of most recent log lines to keep for each process.+

Learn more

Notes

Customize imprint and terms of use in the footer of the publication website.

1 Notes

2 Imprint

The link to the imprint becomes active in the footer when a text is placed in the text field and saved.

3 Terms

The link to the terms of use becomes active in the footer when a text is in the text field and is saved.

4 Open publication website

Opens the publication website in a browser tab.

5 Save

Save to save the settings.

Learn more

RTMP

Configuration settings for the internal RTMP server.

1 RTMP settings

Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.

RTMP and RTMPS are supported simultaneously.

RTMP/S

2 RTMP server

The ✅ checkmark activates the RTMP server.

3 RTMPS server

The ✅ checkmark activates the RTMPS server.

4 Port RTMP

Port settings for the RTMP server.

The default value for the listening address is port: 1935

5 Port RTMPS

Port settings for the RTMP/S server.

The default value for the listening address is port: 1936

6 App

The RTMP application name is a path prefix for the stream name for publishing and playback. This is sometimes required by RTMP clients. It can be an arbitrary name (e.g. /foobar) and will be prefixed to the stream name (e.g. /foobar/live.stream).

7 Token

RTMP token for publishing and playback. The token is the value of the URL query parameter 'token'.

Learn more

Publication Website

datarhei Restreamer provides a ready-made website for easy and quick presentation of the live stream. The publication website is equipped with a video player and ready to go.

Configuration menu

Edit the individual elements and extend them with HTML code elements.

With two clicks to the settings of the publication website

Learn more

Template

Design of the publication website with various modules.

2 Available templates

The current default template cannot be deleted. If new templates are uploaded, they appear in a dropdown.

3 Delete

Delete available templates.

4 Template name

Give the template a pretty name!

5 Upload

The button uploads the template.

6 Open publication website

Opens the publication website in a browsertab.

7 Save

Save the publication website settings.

Learn more

Design

Customize colors and background of the publication website.

RGB or web colors may be entered.

2 Text colors

Default

Color for general text.

Headline

For all headlines in title, channels, modal box.

Link

The link color in the texts.

Link Mouseover

Hover color when hovering the mouse cursor over it.

3 Background colors

Default

The background color of the web page.

Header

Color for the title bar

Selected

Color of the active tile in the channels. Only active for multiple live streams.

Unselected

Color of the inactive tile in the channels. Only active for multiple live streams.

Line color

Line color defines the color of the horizontal lines.

4 Background image

Upload background image as JPEG or PNG. Recommended resolution 1280x720 px. The address to the image will be displayed.

5 Open publication website

Opens the publication website in a browser tab.

6 Save

Save to save the settings.

Learn more

Multi Video source

Create, manage and delete additional video sources.

Add more video sources

Activate additional video sources via the interface in the browser in just a few steps.

1 Open video bar

The icon opens an additional layer at the bottom of the screen.

2 Add video source

The wizard starts to create the new video source. After successful creation and saving, the latest video source appears in the bar (video bar) at the bottom of the screen.

3 Active video sources

Active video signals appear in the video bar at the bottom of the screen.

4 Close

Collapses the video bar.

Delete video source

Each video source is deleted from the settings menu of the respective live stream.

Quick Start Guide

Learn more

General stream settings

Edit the audio and video sources, determine their processing, add metadata, and define the desired license.

1 General

The sources menu section shows the active video and audio settings per channel.

Use the wizard for quick and easy setup, or edit sources directly in custom mode.

Video settings

2 Launching the video wizard

🧙Start the video source wizard.

3 Video settings

Adjust the active video settings

Audio settings

4 Launch audio wizard

🧙Starts the wizard for the audio sources

5 Audio settings

Customize the active audio settings.

...

6 Abort

Unsaved settings are lost by canceling.

7 Delete video sources

The active video source is completely removed from the system.

8 Save

Do not forget to save settings.

9 Close

Closes the active window without saving.

Learn more

Publication services

The publication service helps you send video output to a remote station. It is a virtual broadcast to deliver a live video to many or single destinations.

Specify in the Publication services where the stream should be pulled over.

HLS (memfs) & HLS (diskfs)

Default In this case we use the HLS stream of the channel and push it to the desired destination. Latency: What the user has set (min. 10-30 sec.)

RTMP

Take the stream from the RTMP server if the channel is enabled as shown in "2. Channel Edit > Processing & Control". Latency: 1-2 sec.

SRT

As for RTMP. Latency: <1 sec.

An active user account on the external video streaming service is a prerequisite for using Publication Services.

Instructions for the settings of the target services can be found on the target platform. Keywords for research are: "External RTMP" or " External HLS".

What is a Publication Service?

There are many Publication Services. Any number of new services can be created for different platforms. The procedure for using publication services is always very similar. The datarhei Restreamer is connected to the external service via a streaming key. Then the video stream is started on the service, in this example, YouTube.

Video tutorial

Platforms

If a platform for distributing your content is missing, don't hesitate to contact us. We will add the publication service immediately. Just submit a pull request via GitHub or write an email to support@datarhei.com.

Social Media

  • YouTube

  • Facebook

  • Twitter

  • Twitch

  • Vime

  • Instagram

  • TikTok

  • Amazon

  • LinkedIn

  • Telegram

  • dlive

  • Trovo

  • PeerTube

CDN

  • livespotting.com — The #1 webcam platform for webcams in Germany

  • restream.io — Multi-Channel Platform

  • be.live

  • Brightcove — OTT

  • Akamai - CDN

  • DaCast - OTT

  • CDN77 - CDN

  • Azure Media Services - CDN

  • Media Network

Software

  • WOWZA

  • Icecast

  • Red5

  • Ant Server

  • NginX with nginx-rtmp-module

Protocol

  • Image2

  • RTSP

  • RTMP

  • HLS

  • DASH

  • SRT

  • UDP

  • MPEG-TS

  • Framebuffer

Troubleshooting

If connection problems occur, error diagnostics can be performed via the error logs of the process details and the process report.

Learn more

LogoCreative Commons — CC0 1.0 Universal
LogoCreative Commons — Attribution 4.0 International — CC BY 4.0
LogoCreative Commons — Attribution-ShareAlike 4.0 International — CC BY-SA 4.0
LogoCreative Commons — Attribution-NonCommercial 4.0 International — CC BY-NC 4.0
LogoCreative Commons — Attribution-NonCommercial-ShareAlike 4.0 International — CC BY-NC-SA 4.0
LogoCreative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0
LogoCreative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0

The default template is available at .

Mist Server

Kurento

Streamhash

Clipbucket

FreeSwitch

Nimble Streamer

Xsplit

Wirecast

Unreal Media Server

Owncast

Manual
Installing
What are environment variables?
User Guides
User Guides
https://creativecommons.org/licenses/
Installing
Why do I see ENV and cannot select anything?
System settings
User Guides
https://creativecommons.org/licenses/
General settings
Template
Design
Notes
Code injection
User Guides
https://creativecommons.org/licenses/
https://github.com/datarhei/restreamer-ui/blob/main/public/_playersite/index.html
How do I write a template for the publication website?
User Guides
https://creativecommons.org/licenses/
https://creativecommons.org/licenses/
https://creativecommons.org/licenses/
https://creativecommons.org/licenses/
User Guides
YouTube Video: Quick Start Guide Delete and add video sources in datarhei Restreamer
YouTube Video: Quick guide explains the Publication Service in datarhei Restreamer in a few steps
User Guides
Wizard
How do I operate the wizard?
User Guides
https://www.mistserver.org/opensource
https://www.kurento.org
https://streamhash.com
https://clipbucket.com
https://freeswitch.com
https://wmspanel.com/nimble
https://www.xsplit.com
https://www.telestream.net/wirecast/
http://www.umediaserver.net/umediaserver
https://owncast.online
Process details
Process report
Logging
User Guides

Code injection

The custom code injection helps use external widgets or styles for advanced users. You will find some example code on the help page.

2 Extend header

Insert code in the header style. Code at the end of the body, for example, to use external scripts.

<link rel="stylesheet" src="something"/>

3 Extend channel list

Insert code in the channel list.

<link rel="stylesheet" src="something"/>

4 Extend content

Insert code between the description of the live stream and the author's name. An example, for a comment widget or social media widget.

<link rel="stylesheet" src="something"/>

5 Extend footer

Insert code into the header style.

<link rel="stylesheet" src="something"/>

6 Open player site

Opens the publication website in a browser tab.

7 Save

Save to save the settings.

Learn more

Stream settings

Edit the audio and video sources, determine their processing, add a description, and define the desired license.

Configuration menu live stream

Open the settings menu of the active video stream to see the configuration menu.

Open stream settings with one click

Learn more

Video settings

Video tutorial

YouTube Video: Quick start guide explains how to add and delete a video source

Learn more

Network source

Send and receive video signals from a network on the LAN or WAN.

1 Network as video source

Fetch or receive data? There are two different variants to choose from as a mode: Push or Pull. The respective setting influences the further menu navigation.

2 Pull or receive mode

3 Protocol

You can select between > SRT > RTMP or > HLS.

4 Send the stream to this address:

Enter this address in the sending device from the video signal.

5. CHECK

Pressing the button verifies the reception of the video signal.

If the stream is not accepted, the error message can be displayed directly. By clicking on: "View details of the review".

2 Fetch in push mode

3 Network source address push

At this point, the address of the server can be customized. The address supports HTTP, HTTPS (HLS, DASH), RTP, RTSP, RTMP, and SRT.

4 Login credentials

If required, the access data of the video source can be entered here.

5 Advanced settings in push mode

HTTP and HTTPS

Read input at native speed

Force input frame rate

User-agent

General

Tread Queue Size

This option sets the maximum number of packets in the queue when read from the file or device. For low latency/high rate live streams, packages may be discarded if they are not read in time; setting this value may force FFmpeg to use a separate input thread and read packets as they arrive. The default value is 512.

> Flags

Default value is: genpts

  1. discardcorrput -> Discard damaged frames

  2. fastseek -> Enable fast but inaccurate searches for some formats.

  3. genpts -> Generate the timestamp of the video

  4. igndts -> Ignore decoding of the timestamp

  5. ignidx -> Ignore index

  6. nobuffer -> Reduce latency caused by optional buffering

  7. nofillin -> Do not fill in missing values that can be calculated exactly

  8. noparse -> Disable AVParsers, that needs filling too

  9. sortdts -> Try to interleave the output packets by decoding the timestamp

6. CHECK

After starting the test process, the active video stream can be selected.

"Show probe details" shows the feedback from the system.

Encoding settings

Passthrough (copy) option takes the unedited video stream.

  • Passthrough (copy) option takes the unedited video stream.

  • H.264 (libx264) starts a video encoding with the free and open-source software library.

Afterwards, you can directly switch to the audio settings.

Learn more

Virtual video source

With the help of the test signals, it is possible to test a transmission system, check for stability, or determine properties.

1 Virtual video source

Various signals, such as “Game Of Live” are available as an option with S23/B3 rule for test operation. FPS and size can be adjusted depending on the signal.

2 Video source selection

  • Test pattern

  • Test pattern extended

  • RGB test pattern

  • YUV test pattern

  • EBU PAL 75%

  • EBU PAL 100%

  • SMPTE EG 1-1990

  • SMPTE RP 219-2002

  • Game of Live

3 Frame rate

Frame rate refers to the number of frames captured or played back per period and is specified in units of FPS (Frames Per Second), BpS (Frames / Frames per Second), or Hz (Hertz). Default value is in 25 / 30 / 50 / 60 FPS.

4 Video Resolution

A resolution that corresponds to a display device's resolution (number of pixels) is called native resolution. The Restreamer works best with 16:9 resolutions.

5 Check

After a successful check, more details and the encoding settings can be shown.

Learn more

Audio settings

Edit the audio settings for the sources.

> CHECK If the audio source is not accepted, the error message can be displayed directly. By clicking on: "View details of the check".

Learn more

Hardware device

Send and receive video signals from USB devices.

The "USB Video Class" (UVC) includes devices that transmit video over USB and groups them into a specific class of USB devices. These include webcams, camcorders, transcoders, and devices that convert analog tapes to a digital format. These types of video sources are displayed as video sources in the datarhei Restreamer's graphical user interface and are active for live streaming with a few simple steps.

Learn more

Frame buffer

Use as screen capture monitor

Works - but is only used for native installations and is not officially supported by us yet. But don't worry, this will be added very soon.

Follow us on Twitter or YouTube and sign up for our newsletter to not miss the launch of this feature.

Learn more

Virtual audio source

The audio settings for a virtual audio source.

Audio source selection

2 Source

  • Silence

  • Noise

  • Sine

3 Sampling Rate

We recommend a sampling rate of 44100 Hz.

  • 96000 Hz

  • 88200 Hz

  • 48000 Hz

  • 44100 Hz

  • 22050 Hz

  • 8000 Hz

  • Custom ...

Sampling rate of the audio stream.

4 Layout

Stereo and mono support.

5 Check

After selecting the settings, the audio stream must be checked. The setting can only be saved after a successful check.

Pressing the button verifies the reception of the video signal.

> CHECK

If the audio source is not accepted, the error message can be displayed directly. By clicking on: "View details of the check".

Learn more

Raspberry Pi Camera

There are different types of camera boards for the Raspberry Pi. The official Raspberry Pi cameras can take high-resolution photos and Full HD 1080p videos and be fully controlled programmatically. After installing the "raspi-config" menu, all cameras can be used in the Restreamer for livestreaming.

Learn more

Processing and Control

General characteristics of the process control of the livestream.

HLS Output

HTTP live streaming (HLS) is an industry-standard video streaming protocol.

2 Storage

Selection of the storage location in the working memory or on the hard disk.

3 EXT-X Version

Selection of HLS version for different requirements.

  • Version 3 is recommended and is standard.

  • Version 6 is with guaranteed iFrames for each HLS chunk. Some players require this.

  • Version 7 is with fragmented MP4 files. MPEG-DASH has been adapted.

4 Segment length

The unit for segment length is in seconds. The segment is cut at the next keyframe after this time has elapsed. We recommend using the value 2 as the default value.

5 List size

The maximum number of playlist segments. The value 0 will contain all segments. As a default value, we recommend using the value 6.

6 Master playlist

Master Playlist option (default is active). This Increases player compatibility.

7 Autoclean

Automatic cleanup of all media data after the end of the process.

8 RTMP Output

Publish the stream as an RTMP output.

9 SRT Output

Publish the stream as an SRT output.

10 Snapshot

A preview image is generated from the live stream.

11 Interval

The interval is in seconds and specifies the value until the video source's preview image (JPEG) is updated. As the default value, we recommend 1 minute, 60 seconds.

Process

Behavior rule for the running video process in case of a malfunction.

12 Reconnect

The checkbox is used to decide whether the stream should reconnect or not.

13 Reconnect

Interval in seconds until the connection starts again.

14 Timeout

Seconds until a hanging process is terminated and exited as Faulty.

...

15 Abort

Unsaved settings are lost by canceling.

16 Save

Do not forget to save settings.

17 Close

Closes the active window without saving.

Learn more

Twitter YouTube Newsletter

User Guides
General settings
Processing and Control
Meta Information
License
Wizard
Video settings
Audio settings
User Guides
Network source
Hardware device
Frame buffer
Virtual video source
Raspberry Pi Camera
Multi Video source
User Guides
Audio settings
Troubleshooting
User Guides
Video settings
Troubleshooting
User Guides
Network source
Virtual audio source
No audio
User Guides
User Guides
https://twitter.com/datarhei
https://youtube.com/user/datarhei
https://datarhei.com
User Guides
Audio settings
User Guides
YouTube Video: Quick guide for transferring a USB video source.
How do I start a GPU Encoding?
User Guides
User Guides
YouTube Video: Quick guide for the transfer of the Raspberry Pi camera module.

Meta Information

A brief description should explain what the audience can expect as precisely as possible.

2 Content

A short and accurate name will help search engines index the video stream. The video's description will also help the audience understand the content. The title should not exceed the character length of 55 characters.

3 Author

The information about the video producer on the player page.

4 Title

When you switch from content to author, the field is changed.

5 Description

When switching from content to author, the field is changed.

Learn more

Network source

Use audio signal with the video channel from the network.

Audio source selection

2 Source

  • Silence

  • Noise

  • Sine

Sampling rate

We recommend the standard sampling rate of 44100 Hz.

  • 96000 Hz

  • 88200 Hz

  • 48000 Hz

  • 44100 Hz

  • 22050 Hz

  • 8000 Hz

  • Custom …

Sampling rate of the audio stream.

4 Layout

Stereo and mono support.

5 Check

After selecting the settings, the audio stream must be checked. The setting can only be saved after a successful check.

> CHECK If the audio source is not accepted, the error message can be displayed directly. By clicking on: "View details of the check".

Learn more

No audio

For livestreams without audio.

Learn more

License

Use the Creative Commons (CC) license for each livestream.

2 License selection

The Creative Commons (CC) license is one of several public copyright licenses that allow free distribution of an otherwise copyrighted "work." A CC license is used when an author wants to give others the right to share, use, and build upon a work they (the author) have created. CC provides flexibility to an author (for example, they might choose to allow only non-commercial uses of a particular work) and protects people who use or redistribute an author's work from copyright infringement concerns, as long as they abide by the terms stated in the license with which the author distributes the work.

Depending on which license you choose, a logo will be generated for the website.

CC0 1.0

The person who has associated a work with this deed has dedicated the work to the public by waiving all of their rights in the work worldwide under copyright law, including all related and neighboring rights, to the extent permitted by law. You may reproduce, modify, distribute and perform the Work, including for commercial purposes, all without asking permission.

CC BY 4.0

This license allows reusers to distribute, remix, adapt and build upon the material in any medium or format as long as credit is given to the author. The license permits commercial use.

CC BY-SA 4.0

This license allows reusers to distribute, remix, adapt and build upon the material in any medium or format as long as credit is given to the author. The license permits commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.

CC BY-NC 4.0

This license allows reusers to distribute, remix, adapt and build upon the material in any medium or format and for non-commercial purposes only, as long as credit is given to the author.

CC NC-BY-SA 4.0

This license permits reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as credit is given to the author. If you rework, adapt, or build upon the Material, you must license the modified Material under identical terms.

CC BY-ND 4.0

This license permits reusers to copy and distribute the material in any medium or format only in an unmodified form and only as long as credit is given to the author. The license permits commercial use.

CC BY-NC-ND 4.0

This license permits reusers to copy and distribute the material in any medium or format in an unmodified form for non-commercial purposes only and only as long as credit is given to the copyright owner.

Learn more

Process report

In situations where something doesn't quite work as expected, we can help you troubleshoot the problem using the information from the process report.

GDPR! All IP addresses and access data are stored anonymously.

When you have problems and request help from datarhei online helpdesk or on GitHub, the most common source of information requested is the process report. This report contains system information, user access, event log, settings list, and network configurations. The settings list can include user IDs but not passwords or IP addresses.

Retrieving a process report

Click Process Report, save it as a .txt file, copy the data to the cache, and attach it to the case.

Learn more

Video player settings

The video player is part of the Publication Service for the website and the publication website.

Video player configuration

1 Embed

The iFrame is the HTML element used to embed the video player with the live stream on web pages. We recommend keeping the aspect ratio of the video stream so that the video plays correctly.

2 Color

The customization of the colors of the video player. The syntax used is the standard for colors in HTML in hex color code (#fcee21)

3 Logo

A logo for branding with a graphic in PNG or JPEG format is done using the button. After the process, the public path to the picture appears. Using the dropdown menu, the position of the graphic in the corners of the player and a link can be assigned.

4 Poster

A poster as a snapshot alternative with a graphic in PNG or JPEG format is done using the button. After the process, the public path to the picture appears.

5 Statistics

Google Analytics tracking is activated via the GA code. You can find the code in your Google account. A new window appears in the video with various details with additional interesting information. There you can see technical details like the video ID, the resolution, the connection speed, and the volume. The values can be interesting for various purposes, such as technical curiosity or content creators who want to compare their videos with other content.

6 Playback

Select the options for the live stream.

Autoplay

Autostart video automatically starts the live stream.

Mute

Turns off the audio channel.

Chromecast

Start broadcasting with Chromecast.

AirPlay

Start broadcasting with Apple AirPlay devices.

Learn more

Process details

1 Banner

datarhei Restreamer uses FFmpeg for streaming and stores log files for each video process for diagnostic purposes.

2 Log

Log data of the running FFmpeg process.

3 Telemetry data

The most important raw data of the active live stream is in real-time.

  • FPS is the frames per seconds

  • Quality stands for the Speed of the video encoding

    • 1 = normal

    • < 1 = too slow

    • 1 = too fast when data is jammed

  • Lost frames

  • Duplicate frames

Learn more

System monitoring

The system monitoring measures and observes the most critical system functions from the host system in real-time. If threshold values reach binding regions, the system warns.

1 Monitoring

There are different system values for the active video channel in the main screen.

CPU and memory are permanently displayed.

2 Extended display

More details appear when the mouse pointer enters the area.

Learn more

How do I enable the RTMP server?

Receive and send videos with the internal RTMP server in the datarhei Restreamer. Each RTMP signal is available as output via the Publication Service for multistreaming.

Real-Time Messaging Protocol (RTMP) is often the first choice for transferring video files over the Internet. The Adobe Inc. proprietary network protocol can transmit audio, video, and other data over the Internet from a media server. The RTMP server in the open-source datarhei Restreamer is easy to activate dun use. All RTMP signals on the system can be used directly for multistreaming on various video platforms. In the video, the RTMP server is enabled in the system settings and then enabled as output for the individual video channel to work with Publication Services.

Mehr Informationen

Language

The user interface is available in different languages.

Change the language of the user interface via the system menu. Various languages are available.

Anyone can join in! If you want to help us with the translation, you can upload your language files on GitHub.

Learn more

Publication Website
User Guides
Audio settings
User Guides
Audio settings
User Guides
CC License
User Guides
YouTube video: Quick start guide for configuring a video player.
LogoCreative Commons — CC0 1.0 Universal
LogoCreative Commons — Attribution 4.0 International — CC BY 4.0
LogoCreative Commons — Attribution-ShareAlike 4.0 International — CC BY-SA 4.0
LogoCreative Commons — Attribution-NonCommercial 4.0 International — CC BY-NC 4.0
LogoCreative Commons — Attribution-NonCommercial-ShareAlike 4.0 International — CC BY-NC-SA 4.0
LogoCreative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0
LogoCreative Commons — Attribution-NonCommercial-NoDerivatives 4.0 International — CC BY-NC-ND 4.0
Logging
User Guides
Publication Website
User Guides
Logging
Process report
User Guides
Troubleshooting
User Guides
User Guides
Manual
User Guides
YouTube: Activate the RTMP server on the datarhei Restreamer

How to use SRT for publication service

Use the option to change the protocol to SRT in the specific Publication Service.

With the internal SRT-Server in the datarhei Restreamer, each SRT signal is available as output via the Publication Service. Of course, in multistreaming simultaneously for many video channels.

Learn more

How to stream SRT from OBS?

With the SRT-Server in the datarhei Restreamer streamers benefit from low latency connections with SRT. In addition, each SRT signal is available as output via the Publication Service.

Learn more

How to stream an H.265 IP-cam

H.265 reduces traffic by about 50% compared to H.264, so in some cases, it makes sense to use H.265 to transport the video to the server.

What is H.265?

High-Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a standard for encoding video content and images. Compared to H.264/MPEG-4, the codec offers twice the compression while maintaining the same quality.

When does it make sense to use H.265?

There are several cases where it may be helpful to use H.265 for the transport path to the server. Since there are currently no H.265-capable video players, the video stream must be transcoded to H.264 after it arrives at the server so that the video player can display it.

Learn more

How can I receive an HLS stream?

If you want to stream a live stream from an external HLS video source using m3u8, use the wizard to create the video source.

Learn more

How to rotate a video?

Vertical video is helpful on smartphones and vertical video platforms such as TikTok. It is encoded and transmitted for free with the datarhei Restreamer.

In this video, a 16:9 video is rotated 90° using the datarhei Restreamer streaming server. In the video settings of the active channel, the encoding is changed to 9:16. There are different rotation presets available. In the example, a Raspberry Pi 4 is used, which performs the encoding via the GPU OpenMax.

An encoding of the video is always necessary to get rotated video output.

Prerequisite

You have already started your Restreamer and added a video source.

Step 1

Edit the video source settings.

Step 2

Start encoding

Step 3

Various setting options are available besides rotation, also horizontal and vertical flipping.

Learn more

How to change the RTMP port

Change the RTMP standard port 1935 to any other.

Default command

This is the default command to start the Docker container with your Restreamer on port 1935.

docker run ... -p 1935:1935 ... 

Custom command

This is the command with a custom RTMP port.

docker run ... -p CUSTOM_PORT:1935 ... 

For example with Port 1200

docker run ... -p 1200:1935 ... 

Learn more

How does port forwarding work for the Restreamer?

So that the Restreamer can be reached via the Internet.

What is port forwarding?

Port forwarding allows remote computers (e.g., computers on the Internet) to connect to a specific computer or service within a private local area network (LAN). A public IP must be available for the Restreamer's IP to be accessible from "outside" after installation.

What ports are needed for the Restreamer?

Open ports for HTTP and HTTPS are required. We recommend using HTTPS on the website.

What
Router (external port)
Restreamer (internal port)
Optional

HTTP

80/tcp

8080/tcp

HTTPS

443/tcp

8181/tcp

x

RTMP

1935/tcp

1935/tcp

x

RTMPS

1936/tcp

1936/tcp

x

SRT

6000/udp

6000/udp

x

RTMPS can be activated in addition to HTTPS!

To use live streams/players/publication sites on the Internet, including Let's Encrypt (automatic HTTPS certification function), the port forwarders for HTTP and HTTPS are required.

Check port forwarding

Various free web services are available on the Internet for testing to check whether the forwarding is active without errors.

Learn more

How do I install Docker?

Docker is the easiest way to use the Restreamer. That is why we recommend it.

Docker is an open platform for developing, deploying, and running applications. Docker allows you to separate your applications from your infrastructure to deploy software quickly. In addition, Docker lets you manage your infrastructure the same way you manage your applications. By taking advantage of Docker's methods for rapidly deploying, testing, and deploying code, you can significantly reduce the time between writing code and running it in production.

Learn more

How can I use HTTPS with Let's Encrypt?

Let's Encrypt is a certificate authority that offers free X.509 certificates for Transport Layer Security. These HTTPS certificates work with the datarhei Restreamer.

Encrypt your live streams with HTTPS and avoid security gaps and errors caused by mixed content.

Notes

  • You can use any dynamic DNS service like myfritz, no-ip, dyndns or other services.

  • Do not forget to forward the public port for HTTPS: 443 to your internal Restreamer IP default port: 8181.

  • Don't forget to forward the public port for HTTP: 80 to your internal Restreamer IP default port: 8080

  • The HTTPS certificate is renewed automatically.

  • No registration with Let's Encrypt is required

What is Let's Encrypt?

Learn more

Proxying

If you are already running a web server and you want Restreamer to be part of the website, you can forward requests to a specific location to your Restreamer.

NGINX

Example 1: nginx is serving your website and you want access Restreamer at /restreamer/. Restreamer is running on the same server at “127.0.0.1:8080”:

http {
    server {
        listen 80;
        server_name ...;

        [your site configuration]

        location /restreamer/ {
            proxy_http_version 1.1;
            proxy_pass http://127.0.0.1:8080/;
            proxy_redirect off;
        }
    }
}

Example 2: nginx is serving your website and you want access multiple Restreamer at /restreamer1/, /restreamer2/, and /restreamer3/. All Restreamer are in a local network that is connected to your server:

http {
    server {
        listen 80;
        server_name ...;

        [your site configuration]

        location /restreamer1/ {
            proxy_http_version 1.1;
            proxy_pass http://192.168.0.11:8080/;
            proxy_redirect off;
        }

        location /restreamer2/ {
            proxy_http_version 1.1;
            proxy_pass http://192.168.0.12:8080/;
            proxy_redirect off;
        }

        location /restreamer3/ {
            proxy_http_version 1.1;
            proxy_pass http://192.168.0.13:8080/;
            proxy_redirect off;
        }

        ...
    }
}

Example 3: nginx is serving your website via HTTPS and you want access Restreamer at /restreamer/. Restreamer is running on the same server at “127.0.0.1:8080”:

http {
    server {
        listen 443 ssl http2;
        server_name ...;

        [SSL configuration]

        [your site configuration]

        location /restreamer/ {
            proxy_http_version 1.1;
            proxy_pass http://127.0.0.1:8080/;
            proxy_redirect off;
        }
    }
}

Please note that you don't need to enable HTTPS in Restreamer, because nginx is already handling the SSL connection.

Example 4: nginx is serving your website and you want access Restreamer at /restreamer/. Restreamer is running in the local network at “192.168.1.42”. The Restreamer HTTP server is listening on port 8080 and the RTMP and SRT servers are listening on ports 1935 and 6000 resp.:

http {
    server {
        listen 80;
        server_name ...;

        [your site configuration]

        location /restreamer/ {
            proxy_http_version 1.1;
            proxy_pass http://192.168.1.42:8080/;
            proxy_redirect off;
        }
    }
}

stream {
    server {
        listen 1935;
        proxy_pass 192.168.1.42:1935;
    }

    server {
        listen 6000 udp reuseport;
        proxy_pass 192.168.1.42:6000;
    }
}

Apache

Example 1: Apache is serving your website and you want access Restreamer at /restreamer/. Restreamer is running on the same server at “127.0.0.1:8080”:

<VirtualHost *:80>
        ServerName ...

        [your site configuration]

        <Location "/restreamer/">
                ProxyPass http://localhost:8080/
        </Location>
</VirtualHost>

Example 2: Apache is serving your website and you want access multiple Restreamer at /restreamer1/, /restreamer2/, and /restreamer3/. All Restreamer are in a local network that is connected to your server:

<VirtualHost *:80>
        ServerName ...

        [your site configuration]

        <Location "/restreamer1/">
                ProxyPass http://192.168.0.11:8080/
        </Location>
        
        <Location "/restreamer2/">
                ProxyPass http://192.168.0.12:8080/
        </Location>
        
        <Location "/restreamer2/">
                ProxyPass http://192.168.0.13:8080/
        </Location>
</VirtualHost>

Example 3: Apache is serving your website via HTTPS and you want access Restreamer at /restreamer/. Restreamer is running on the same server at “127.0.0.1:8080”:

<VirtualHost *:443>
   ServerName ...
   
   [your site configuration]
   
   SSLEngine on
   SSLProxyEngine On
   SSLCertificateFile /path/to/fullchain.pem
   SSLCertificateKeyFile /path/to/privkey.pem
   Protocols h2 http/1.1

   <Location "/restreamer">
      ProxyPass http://127.0.0.1:8080/
   </Location>
</VirtualHost>

Please note that you don't need to enable HTTPS in Restreamer, because Apache is already handling the SSL connection.

Caddy

Example 1: Caddy is serving your website and you want access Restreamer at /restreamer/. Restreamer is running on the same server at “127.0.0.1:8080”:

your.site.com {
	handle_path /restreamer/* {
		reverse_proxy 127.0.0.1:8080
	}
}

Example 2: Caddy is serving your website and you want access multiple Restreamer at /restreamer1/, /restreamer2/, and /restreamer3/. All Restreamer are in a local network that is connected to your server:

your.site.com {
	handle_path /restreamer1/* {
		reverse_proxy 192.168.1.11:8080
	}
	
	handle_path /restreamer1/* {
		reverse_proxy 192.168.1.12:8080
	}
	
	handle_path /restreamer1/* {
		reverse_proxy 192.168.1.13:8080
	}
}

Please note that you don't need to enable HTTPS in Restreamer, because Caddy is already handling the SSL connection.

Learn more

How do I operate the wizard?

Add and delete video sources.

With a few clicks, the wizard helps set up network video, USB camera, Raspicam, and framebuffer.

The quick start video shows the fast lane method without additional unique video source settings. It is possible to edit the source for individual needs. The selection of a video license has also been omitted. The settings can be adjusted at any time later.

Step 1: Video Setup

Video source selection. There are 3 inputs to choose from.

  • Network source for use with network cameras or other devices with IP addresses.

  • An internal RTMP server can be used to send OBS streams to the restreamer, for example.

  • Internal HLS server

Step 2: Audio Setup

All the necessary configurations for the audio track are provided. As a unique feature, fake audio can be enabled. There are 3 different audio tracks available.

  • Silence allows streams to be transmitted to networks that require an audio track. Silence is often required for use in social media such as YouTube or Facebook.

Learn more

How to use the audio filters?

The filters for audio software encoders are:

Sampling

You can manipulate the sampling rate of the input signal (which already existed before directly in the encoder)

Layout

Sets the audio layout (mono, stereo, unprocessed)

Pan

Can mute the left or right channel

Volume

Lets you set the level (10-90% or custom with dB value)

Volume normalization

FFmpeg tries to bring the noise level to an average level.

How can I use YouTube with the Restreamer?

With just a few clicks, any video source can be sent to YouTube via the Restreamer's Publication Service for use as a live stream.

Create YouTube Live Stream

In Restreamer

  1. Select Publication Service

  2. Enter a valid streaming ID from YouTube

  3. Click on the Save button

  4. Once connected to YouTube Live, the bitrate of the live stream will be displayed in the main Restreamer window.

  5. Click Stop to pause the stream.

Quick Start Guide

How to start a livestream to YouTube using the Publication Service with the free open source video software datarhei Restreamer.

YouTube Studio

A helpful guide for live streaming is on YouTube. The guide helps to find the streaming ID for the restreamer.

Always end the stream on YouTube first after an event. If you interrupt the stream in the Restreamer during a live stream, YouTube may not save your live stream in the DVR archive.

Learn more

How can I receive an RTMP stream?

Use the internal RTMP server as a video source.

Receiving video source via RTMP using OBS as an example

The Restreamer has an internal RTMP server function. The function can be used to receive any RTMP-enabled video sources. The video shows the popular OBS software as the transmitter for the RTMP stream and the Restreamer as the receiver. Once the video stream is up, the Restreamer is ready for all functions.

Learn more

How can I change the password of the Restreamer?

You could always change the username and password for the datarhei Restreamer.

Access data set via environments (ENV) cannot be modified via the graphical user interface. To change them, the Restreamer must be stopped in the terminal, provided with new access data, and then restarted.

Learn more about ENV

Learn more

Understand different error messages?
Official Docker website docker.com

Below you will find example configuration snippets for , , and . All of these allow proxying requests to a specific location to your Restreamer. These examples assume that Restreamer is running on the same server or in a trusted local network accessible by your server. In this case HTTPS doesn't need to be enabled in Restreamer. Your nginx, Apache, or Caddy needs to be configured for HTTPS instead.

See the for more details.

See the for more details.

Caddy will automatically serve your site with HTTPS enabled in case you configured your DNS correctly. Read more about .

See the for more details.

🟡
User Guides
Manual
User Guides
Manual
User Guides
Knowledge Base
Knowledge Base
Installing
Manual
Installing
Manual
How can I use HTTPS with Let's Encrypt?
Knowledge Base
Knowledge Base
User Guides
Knowledge Base
Nginx documentation
Apache documentation
Automatic HTTPS with Caddy
Caddy documentation
User Guides
Knowledge Base
LogoGet DockerDocker Documentation
nginx
Apache
Caddy
YouTube Video: Add and delete video sources in 60 seconds
YouTube Video: Quick start guide live stream to YouTube with the Restreamer
YouTube Video: Quick start guide system configuration
YouTube: SRT Server with Publication Service for multi-streaming with SRT
YouTube: SRT Connection with OBS and datarhei Restreamer to reduce latency
YouTube Video: Video tutorial
YouTube video: Quick start guide HLS video source with m3u8
YouTube: Quickstart on Raspberry Pi 4 to produce vertical video with filter.
LogoPort Checker - Check Open Ports Online
External link: Check public ports
YouTube Video: Quick Start Guide Activate HTTPS with Let's Encrypt for Free
LogoLet's Encryptletsencrypt
External URL: letsencrypt.org
LogoCreate a live stream with an encoder - YouTube Help
YouTube Video: Quick guide for restreaming via RTMP server with OBS

How do I stream to HDMI?

This guide describes how to write a stream to the HDMI port.

Writing video data to the HDMI port is done with the Framebuffer publication service. After creating a channel in Restreamer, you can add the Framebuffer publication service. This publication services require that at least one framebuffer device is availbale on your system.

A framebuffer device is located in /dev with the name fb*, where * is a number usually starting from 0.

The framebuffer device might only show up as soon a display is connected.

In order to have these devices available in the Restreamer Docker container, you have to start the container with the --privileged option.

Raspberry Pi 4

On a Raspberry Pi 4 we recommend to install Raspbian "bullseye" in order to enable the framebuffer device /dev/fb0.

You have to edit the /boot/config.txt in order to set the correct resolution:

  1. Open /boot/config.txt in an editor, e.g. sudo nano /boot/config.txt

  2. Set hdmi_force_hotplug=1

  3. Set hdmi_group=1

  4. Set hdmi_mode=4 (for 1280x720) or hdmi_mode=16 (for 1920x1080)

  5. Set hdmi_pixel_encoding=2

  6. At the bottom in the [pi4] section, set dtoverlay=vc4-fkms-v3d

Reboot the Pi and the docker container. Now you should see the Framebuffer publication service, where you select the /dev/fb0 device and the matching color settings (usually RGB565 Little Endian).

FAQ

Here you will find answers to your questions about Restreamer. To help you find your way around, the categories are named after the menu navigation in Datarhei/Restreamer.

Can I become who I want to be?

That's a tough question but thankfully, our team is on it. Please bear with us while we're investigating.

Have you had a chance to answer the previous question?

Yes, after a few months we finally found the answer. Sadly, Mike is on vacations right now so I'm afraid we are not able to provide the answer at this point.

User Guides
Knowledge Base
User Guides
Knowledge Base
User Guides
Knowledge Base
Why do I see ENV and cannot select anything?
What are environment variables?
Environment Variables
User Guides
Knowledge Base

Troubleshooting

How can I stream to Facebook Live?

Any video source can be sent to Facebook with the Restreamer and posted there as a live event with a few clicks.

It may be that Facebook has adjusted the process on the platform. However, the basic principle with the streaming key will always remain the same. Visit Facebook Help if you are not sure how to use it.

Just 4 steps to live stream on Facebook

Step by step to your live stream on Facebook

RS = Clicks in Restreamer FB = Clicks on Facebook

  1. RS: Go to Publication Service in your Restreamer.

  2. RS: Click on Facebook

  3. RS: Click on Settings.

  4. RS: Give a name to the Publication Service (optional)

  5. FB: Copy the stream key on Facebook

  6. RS: Paste the stream key or permanent stream key in the restreamer.

  7. RS: Enter backup server (optional)

  8. RS: Process settings are good on default values for all applications. We advise changing the settings only if necessary.

  9. RS: Click on save to start the video stream to Facebook. A preview will be displayed on Facebook.

  10. FB: Write a description and a title for the live stream.

  11. Click go live now. If you want to schedule a broadcast for later, click Schedule Live Video Event.

Facebook Creator Studio

You can find a helpful guide for live streaming on Facebook. The guide will help you find the streaming ID for the restreamer.

The stream should always be manually stopped on Facebook first. If the stream is interrupted elsewhere during a social media stream, Facebook may not save the live stream in the archive.

Learn more

How can I use the landing page?

Use a public website with a video player for presentation.

The datarhei Restreamer provides a ready-made website for easy and quick presentation of the live stream. The page comes with a video player and is ready to use. In addition, the index.html can be linked or distributed.

YouTube video: Quick start guide for the player page in the Restreamer

Learn more

How can I display a live stream on my website?

The Restreamer provides a video player in iFrame for embedding in HTML on web pages.

The HTML iFrame snippet for your website is in the datarhei Restreamer

If you want to display your live stream on your website in a CMS like WordPress or a homepage builder like Wix or Jimdo, you can use an automatically generated iFrame HTML code snippet for it.

YouTube Video: Quick start guide using iframe with HTML Code for website

Don't forget to forward the TCP port to use the HTML code successfully on your website. Please refer to your router's manual on how to enable port forwarding.

Learn more

How do I stream an IP cam with RTSP?

You can use the RTSP protocol for live streaming if you have an IP camera. RTSP stands for Real-Time Streaming Protocol.

To integrate an RTSP-enabled network camera, you need the address where you can retrieve the live stream from the camera. Please read your camera manual and search for "RTSP" or look on the internet with the excellent search command "RTSP + URL + manufacturer + camera model."

ATTENTION! Do not use standard user data for IP cams, and always assign a secure password! ATTENTION! Activate password protection for your RTSP streams to prevent unauthorized access!

Add a video source via RTSP

How do I find the RTSP address of a network camera?

If you don't know how to get the RTSP address of your network camera, learn it in this guide.

Example of the RTSP syntax of the manufacturer HIKVISION

rtsp:// [USERNAME] : [PASSWORD] @ [ADDRESS] : [RTSP PORT] /Streaming/Channels/ [CH] 0 [STREAM TYP]

  • [USER] - This is the username for accessing the stream

  • [PASSWORD] - String, for access or access control to the device.

  • [ADDRESS] - Network address of the IP cam.

  • [RTSP PORT] - default port is 554

  • [CHANNEL] - HIKVISION cameras provide 2 to 3 channels, where channel 1 is mostly 4:3 format and is used for internal viewing

  • [STREAM TYPE] - 1 for First/Mainstream, 2 for Substream 4:3 format (internal use), 3 for Secondstream (sometimes has to be enabled separately)

Example 1

HIKVISION network camera in LAN with a local network address.

In this example, the IP address of the IP cam in the LAN is: 192.168.1.64 and the RTSP port is on the default port: 554. The username is: admin and the password is: password. The 3 possible streaming channels are addressed.

The RTSP streaming addresses are:

1 Main Stream: rtsp://admin:passwort@192.168.1.64:554/Streaming/Channels/101 2 Substream: rtsp://admin:passwort@192.168.1.64:554/Streaming/Channels/102 3 Dritter Stream: rtsp://admin:passwort@192.168.1.64:554/Streaming/Channels/103

Example 2

HIKVISION network camera on WAN with a public IP address.

The IP address on the LAN is: 181.112.101.124 and the RTSP port is on the default port: 554. All other parameters are identical to Example 1 on the LAN.

The RTSP streaming addresses are:

1 Main Stream: rtsp://admin:passwort@181.112.101.124:554/Streaming/Channels/101 2 Substream: rtsp://admin:passwort@181.112.101.124:554/Streaming/Channels/102 3 Dritter Stream: rtsp://admin:passwort@181.112.101.124:554/Streaming/Channels/103

Don't forget to forward active ports in routers and firewalls to be publicly available over the Internet.

Open RTSP video with VLC Media Player

If the RTSP stream does not work, you can check with VLC. To do this, install the free VLC player from the manufacturer's website: https://www.videolan.org/.

  • Navigate via the tab "Media" to the option "Open network stream" or open the menu via the key combination "Ctrl + N".

  • Enter RTSP address as described above

  • Click on the "Open RTP/UDP stream" button to start the stream.

  • If the video does not start, check the video source and firewall settings in your network.

If you have a working RTSP address, the rest is ready to live stream with a few clicks.

Learn more

How do I stream a RaspiCam?

We explain how to connect the Raspberry Pi camera module to a datarhei Restreamer.

Use Raspicam as video source for live streaming in datarhei Restreamer

Check that the device is installed correctly before the restreamer recognizes the camera module. As soon as the device is available on the host system, it is automatically displayed in the Restreamer.

YouTube video: Using Raspicam as video source for live streaming

There are several types of camera boards available for the Raspberry Pi. The official Raspberry Pi cameras can take high-resolution photos and Full HD 1080p videos and be fully controlled. After the installation in the "raspi-config" menu, all cameras can be used in the Restreamer for live streaming.

If unexpected behavior occurs, rebooting the Raspberry Pi might help.

If unexpected behavior occurs, restarting the datarhei Restreamer might help.

Note the video where we explain encoding over the GPU from the Raspberry Pi to offload the CPU from the Raspberry Pi.

Enabling the Pi Camera

If you have a Pi camera connected to your Raspberry Pi and you want capture a stream from it, you first need to make it available as a "video4linux" device.

Raspbian buster or earlier

On the console, type sudo modprobe bcm2835-v4l2 and restart Restreamer. Then you should be able to select the Pi camera in the wizard or advanced setup.

Raspbian bullseye

With the latest Raspbian (bullseye) the tools for the camera are based on libcamera which is not necessarly compatible with video4linux and is currently not supported by ffmpeg directly. In order to make the camera available as a video4linux device you have to switch it into legacy mode:

  1. Open /boot/config.txt in an editor, e.g. sudo nano /boot/config.txt

  2. Replace the line camera_auto_detect=1 with start_x=1

  3. Add gpu_mem=256 right after the line with start_x=1

  4. Replace the line with dtoverlay=vc4-kms-v3d with dtoverlay=vc4-fkms-v3d

  5. Save the file and exit the editor

  6. Reboot the Pi

After the Pi rebooted you should see the Pi camera option in the UI.

Alternatively, you can run sudo raspi-config and enable the legacy camera support in the Interface Options section. This will only allocate 128MB GPU memory and will only allow HD streaming (1280x720). If you want FullHD streaming (1920x1080), then open /boot/config.txt in an editor and change the line with gpu_mem=128 to gpu_mem=256.

Raspbian bookworm or later

With the release of Raspbian "bookworm", the legacy mode for the camera is not anymore available and the camera can't be accessed anymore directly from ffmpeg. We recommend to install Raspbian "bullseye" and follow the instructions above.

Learn more

How do I start a GPU Encoding?

How GPU encoding from the Raspberry Pi in the datarhei Restreamer significantly reduces CPU load.

How can I use the GPU from the Raspberry Pi?

The graphics processor (GPU) takes over computationally intensive tasks and thus relieves the central processor (CPU). The function is directly controlled in the Restreamer with FFmpeg. The freed processor time can thus be used for other tasks.

Not only Raspberry PI GPUs are supported. If a GPU is detected on the system, it is ready for use.

GPU support is available for every stream.

Learn more

CC License

The live stream of video producers is usually protected by copyright. The CC license defines how the video stream is made available to others.

Learn more

How do I write a template for the publication website?

This guide explains how you can write a template for the publication website and describes the available expressions.

Expressions

The available Handlebars expressions are:

Expression
Type
Description

player

string

Currently this value is always videojs.

playersite

boolean

Whether the playersite is enabled.

title

string

The sitename of the playersite as defined in the General section.

share

boolean

Whether to enable share buttons.

support

boolean

Whether to display a link to the datarhei project website.

chromecast

boolean

Whether to enable chromecast in the player.

airplay

boolean

Whether to enable airplay in the player.

url

string

The URL to the playersite.

textcolor_title

string

Text color for titles as defined in the Design section.

textcolor_default

string

Default text color as defined in the Design section.

textcolor_link

string

Link color as defined in the Design section.

textcolor_link_hover

string

Link :hover color as defined in the Design section.

bgcolor_header

string

Background color for the header as defined in the Design section.

bgcolor_selected

string

Background color for selected items as defined in the Design section.

bgcolor_unselected

string

Background color for unselected items as defined in the Design section.

bgcolor_default

string

Default background color as defined in the Design section.

hrcolor

string

Separator color as defined in the Design section (linecolor).

bgimage_url

string

URL of the background image, empty if no background image has been uploaded.

imprint_html

string

Imprint HTML content as defined in the Notes section.

terms_html

string

Terms HTML content as defined in the Notes section.

inject1

string

HTML content for the extended header as defined in the Code injection section.

inject2

string

HTML content for the extended channel list as defined in the Code injection section.

inject3

string

HTML content for the extended content area as defined in the Code injection section.

inject4

string

HTML content for the extended footer as defined in the Code injection section.

channels

array

List of all available channels, i.e. channel objects. See below.

channel_id

string

ID of the currently selected (or default) channel.

channel_name

string

Name of the currently selected (or default) channel.

channel_description

string

Description of the currently selected (or default) channel.

channel_descriptionhtml

string

Description of the currently selected (or default) channel as HTML.

channel_creator_name

string

Name of the creator of the currently selected (or default) channel.

channel_creator_description

string

Description of the creator of the currently selected (or default) channel.

channel_creator_description_html

string

Description of the creator of the currently selected (or default) channel as HTML.

channel_license

string

License of the currently selected (or default) channel.

channel_poster

string

URL of the poster (snapshot) image of the currently selected (or default) channel.

channel_width

number

The witdh of the player, currently always 640.

channel_height

number

The height of the player, currently always 360.

Channel object

Expression
Type
Description

id

string

Full channel ID, e.g. restreamer-ui:ingest:[UUID]

channelid

string

UUID of the channel.

name

string

Name of the channel.

available

boolean

Whether the channel is available, i.e. connected.

thumbnail

string

URL to the latest snapshot of that channel, empty if not available.

egresses

array(string)

List of egress UUIDs.

Many of those expressions are for manipulating the default template. If you write your own template you are not required to use all expressions. Pick the ones that are suitable for your needs.

The template is used to create the /index.html for the default channel and for each channel a /playersite_[channelid].html. The [channelid] will be replaced by the respective ID of that channel. This can be used to link to the rendered template of an individual channel.

Handlebars

There are two additional helper defined:

ifEquals

This helper lets you check if two values are equal, e.g.

{{#ifEquals player "videojs"}}
   ...
{{/ifEquals}}

ifnoteq

This helper lets you check if two values are not equal, e.g.

{{#ifnoteq channel_license "none"}}
   ...
{{/ifnoteq}}

Basic Troubleshooting

Most errors have only a tiny cause and are easy to fix. What you have to check first is described in this document in 3 steps.

The problems

Most problems occur in one of these three sections.

  1. Video-Input

  2. Player-Streaming

  3. Publication-Service

The following standard troubleshooting procedure is proven to find a quick solution before contacting us.

Step 1: Test with virtual source

As a first procedure, check whether the error also occurs with a test transmission

Step 2: Check log files

Look into the process details and find the error to fix it.

Step 3: Open issue

Describe the problem as detailed as possible. The more information you give us about your project, the better we can find a solution for you that fits your setup and will solve your problem.

Always attach the process report to your issue.

Learn more

What are environment variables?

With environment variables, you can control the default behavior of the Restreamer.

Learn more

ATTENTION! Using the GPU with the Raspicam requires increasing the cache memory to 256 MB. >> <<

A template for the publication website is a single HTML page which uses the Handlebars templating language () to control the output based on the available expressions.

The Restreamer default template is available at .

The template language "Handlebars" is used for the publication website templates. If you are new to Handlebars, please check out their guide () in order to get up to speed.

If steps 1 and 2 were unsuccessful, create a and attach the process report.

As part of , you can find documentation for the various environments on GitHub.

User Guides
Knowledge Base
User Guides
Knowledge Base
User Guides
Knowledge Base
User Guides
Knowledge Base
To the guide
User Guides
Knowledge Base
User Guides
Knowledge Base
License
Knowledge Base
https://handlebarsjs.com/
https://github.com/datarhei/restreamer-ui/blob/main/public/_playersite/index.html
https://handlebarsjs.com/guide/
datarhei Core
LogoHow do I go live on Facebook using streaming software? | Facebook Help Centre
External resource: Facebook
YouTube Video: Add video source of IP-Cams with a few clicks
YouTube Video: Quick start guide for GPU encoding on a Raspberry Pi.
Website https://creativecommons.org
Process details
Github issue
Process report
User Guides
Manual
Why do I see ENV and cannot select anything?
User Guides
Knowledge Base
YouTube Video: Test pattern with virtual video source.

Understand different error messages?

  • The publication service "{0}" could not be deleted

  • Login failed: Couldn't load API details

  • The channel "{0}" could not be deleted

  • Main channel not found

  • Publication service not found

  • RTMP server is not enabled

  • The input profile is not complete. Please define a video and audio source.

  • There was a problem storing the settings. Settings not saved.

  • There were some errors in the settings. Settings not saved.

  • This is not necessarly an error. It may take a bit longer for Restreamer Core to restart.

  • This source cannot be edited while it is in use. In order to continue you have to disconnect the source.

  • API endpoint not found. Settings not saved.

  • Deleting a publication service cannot be reversed. The publication will be stopped immediately.

  • This source cannot be edited while it is in use. In order to continue you have to disconnect the source.

  • Login failed: {0}

  • Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.

  • Restarting the application failed.

  • Uploading the file failed

  • Uploading the logo failed

  • Failed to create playersite files.

  • Failed to create publication service ({0})

  • Failed to probe the source. Please check the <0>probe details</0>.

  • Failed to properly cleanup previous process data

  • Failed to refresh token: {0}

  • Failed to save ingest metadata

  • Failed to stop process

  • Failed to store playersize setting.

  • Failed to store publication service ({0})

  • Failed to update ingest process ({0})

  • Failed to update the player

  • Failed to verify the source. Please check the address.

  • Error while copying data to clipboard

  • There war an error during upload: {0}

  • There was an error connecting to Restreamer Core at {0}.

  • There was an error setting up the stream.

  • There were some errors in the settings. Settings not saved.

Login failed

Login failed: Invalid username or password

Solution: Check the access data for validity.

Missing or Invalid JWT Token

Token could not be updated: Missing or invalid JWT token

Token konnte nicht aktualisiert werden: Missing or invalid JWT token

Solution:

Failed to check the source

Prüfen der Quelle ist fehlgeschlagen. <0>Details der Überprüfung</0> ansehen.

Solution:

Token Error

Token konnte nicht aktualisiert werden: {0}

Solution:

Verification failed

Die Quelle konnte nicht verifiziert werden. Bitte Adresse prüfen.

Solution:

API Error

Login fehlgeschlagen: Konnte die API-Details nicht laden

Solution:

Clipboard not copied

Die Daten konnten nicht in die Zwischenablage kopiert werden

Solution:

Upload Error

Beim Hochladen ist ein Fehler aufgetreten: {0}

Solution:

API Error

Es ist ein Fehler beim Verbinden mit der Restreamer-API bei {0} aufgetreten.

Solution:

Settings error

Es gab einige Fehler in den Einstellungen. Einstellungen nicht gespeichert.

Solution:

Learn more

Encoding compatibility list

These encoders work well with the Restreamer.

H.264 OpenMAX IL

OpenMAX™ is a royalty-free, cross-platform API that provides comprehensive streaming media codec and application portability by enabling accelerated multimedia components to be developed, integrated, and programmed across multiple operating systems and silicon platforms.

Raspberry Pi (Rasbian Bullseye, 32/64 Bit)

Video processing with a maximum of 1920x1080 pixels.

H.264 V4L2-M2M

Video4Linux (V4L2) is a collection of device drivers and an API for supporting real-time video capture on Linux systems.

Rasperry Pi (Rasbian Buster, Userland, 32 Bit)

Video processing with a maximum of 1920x1080 pixels.

H.264 NVENC

Nvidia NVENC is a feature in Nvidia graphics cards that performs video encoding, offloading this compute-intensive task from the CPU to a dedicated part of the GPU.

H.264 Intel VA-API

VA-API (Video Acceleration API) user-mode driver for Intel GEN Graphics family VA-API is an open-source library and API specification which provides access to graphics hardware acceleration capabilities for video processing.

H.264 VideoToolbox

VideoToolbox is a low-level framework for macOS that provides direct access to hardware encoders and decoders. In addition, it provides services for video compression and decompression and conversion between raster image formats stored in CoreVideo pixel buffers.

H.264 (libx264)

x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC video coding format.

H.265 (libx265)

x265 is a software codec for creating digital video streams in the High-Efficiency Video Coding video compression format developed by the Joint Collaborative Team on Video Coding.

VP9 (libvpx-vp9)

ibvpx is a free software video codec library from Google and the Alliance for Open Media. It is the reference software implementation for the VP8 and VP9 video coding formats. For AV1, a special fork named libaom was stripped of backward compatibility.

Learn more

General settings

Besides the player, the Restreamer offers a complete publication website, for easy and quick presentation of the live stream.

2 Activate publication website

Check the box to make the index.html page accessible from the home directory.

3 Sitename

Sets the name of the publication website for the header and page title.

4 Main channel

Choose the default video channel for the publication website. This selection is only available if more than one video channel is active.

5 Share buttons

Activate the sharing function on the Publication website.

6 Chromecast

Plays the video stream on Chromecast devices.

7 AirPlay

Plays the video stream on Airplay devices.

8 Support datarhei

Support for datarhei Restreamer in footer. Thank you. 👾

9 Open publication website

The button leads directly to the index.html of the publication website.

10 Save

Do not forget to save the settings.

Learn more

No video

The errors with the video source can be multilayered.

Step by step

Troubleshooting should always start as close as possible to the video signal source. Then, if the video source is working, move away from the video source to locate the error step by step.

Check video source

Check hardware

If you have hardware integrated with your video signal, check the hardware, such as encoders, network cameras, video mixers, and other eligible components.

Check network

If you can be sure that there are no hardware problems, check the transport paths to the destination of the video signal in the datarhei Restreamer.

  1. Check the video source. IP cam, encoder, and other possible video sources.

  2. Check LAN. Router, IP settings, firewall, port forwarding, and network settings in question.

  3. Check WAN and Internet connection

Check software

In the last step, check the datarhei Restreamer settings.

  1. Use the wizard to create the live stream again.

System logs and error reports

If you continue to have issues, the process reports and details can help narrow down what went wrong. All reports can be used as text files on GitHub or the helpdesk to get help. We always advise sending these reports along.

Learn more

Core API

Take advantage of an FFmpeg REST API for fast and easy video application development.

The Core of datarhei Restreamer is free and open source. Extend datarhei Restreamer according to your needs. Flexible video processing with FFMpeg Media Framework is made easy with an API. Create your video streaming and management platform with datarhei Core.

| 100% FFmpeg media framework inside | JSON REST-API (Swagger documented) | datarhei Core in Go | GraphQL

API

Learn more

External URL: List with all environment variables on GitHub

Check the video source with the . The free player is available for all operating systems and can play all formats from datarheiRESTREAMER. If the video source is not played correctly, check the original signal directly at the start if possible.

datarhei Core on GitHub

API version and build info in case auth is valid or not required. If auth is required, just the name field is populated.

You'll find a detailed description of the API on

How can I change the password of the Restreamer?
Premium Support
User Guides
Knowledge Base
How do I start a GPU Encoding?
Manual
User Guides
VLC player
Premium Support
Wizard
Process report
Process details
Logging
User Guides
Knowledge Base
https://demo.datarhei.com/api/swagger/index.html
https://docs.datarhei.com/core
Knowledge Base
https://github.com/datarhei/coregithub.com
https://github.com/datarhei/coregithub.com
Fig. 1: The main screen of the datarhei Restreamer.
Fig 1. Docker pull command in macOS terminal
Fig 2. Docker Desktop with Restreamer Image
Fig 3. Restreamer Desktop settings with ports and path on volume
Fig 4. Active Restreamer container in Docker Desktop.
Fig 1. Docker pull command in macOS terminal
Fig 2. Docker Desktop with Restreamer Image
Fig 3. Restreamer Desktop settings with ports and path on volume
Fig 4. Active Restreamer container in Docker Desktop.
Fig. 1: Main screen of datarhei Restreamer v2.
Fig. 2: Overview of Publication Services in datarhei Restreamer V2
Fig. 3: Overview of the different streaming protocols from datarhei Restreamer V2.
Fig 1. WSL 2 notice in Docker Desktop
Fig 2. Debian Image in Windows-App-Store
Fig 3. Docker Desktop settings with Debian
Fig 4. Docker pull command in PowerShell
Fig 6. Docker Desktop with Restreamer Image
Fig 7. Restreamer Desktop settings with ports and path on volume
Fig 8. Active Restreamer container in Docker Desktop.
Fig 1. Docker command in Mac terminal
Fig 1. WSL 2 notice in Docker Desktop
Fig 2. Debian Image in Windows-App-Store
Fig 3. Docker Desktop settings with Debian
Fig 4. Docker pull command in PowerShell
Fig 6. Docker Desktop with Restreamer Image
Fig 7. Restreamer Desktop settings with ports and path on volume
Fig 8. Active Restreamer container in Docker Desktop.
Fig 1. Docker command in Windows PowerShell
Fig. 1: datarhei/Restreamer v.0.6.8
Fig. 2: datarhei/Restreamer v.0.6.8
Fig. 1: Login screen in datarhei Restreamer.
Fig. 1: The main screen is the central point of contact in datarhei Restreamer.
Fig. 1: Real-time data in the main screen
Fig. 2: Unfold system monitoring.
Fig. 3: System monitoring menu expanded.
Fig. 1: Overview of the global system settings
Fig. 2: Menu for the system settings
Fig. 3: Select menu for system settings
Fig. 4: Activating the expert mode
Fig. 1: Overview of general system settings.
Fig. 1: Set up a video source via the wizard.
Fig. 2: The available resolutions of the video source are displayed.
Fig. 1: The menu for the network settings.
Fig. 1: The playback settings menu
Fig. 1: The menu for authorization
Fig. 1: The menu for the memory settings
Fig. 1: The menu for the SRT settings
Fig. 1: Menu item for logging
Fig. 1: Menu for the two settings at the bottom of the publication website.
Fig. 1: The menu for the RTMP settings
Fig. 1: Configuration menu of the publication website.
Fig. 2: Via the system menu to the settings for the publication website.
Fig. 3: Select configuration menu
Fig. 1: Menu for the settings of the publication website.
Fig. 1: Menu for the design settings on the publication website.
Fig. 1: The menu item opens the video bar
Fig. 2: Create new video source in the video bar.
Fig. 4: Open video settings of the active live stream.
Fig. 5: Delete the video stream with one click.
Fig. 1: Overview of the menu for the general settings of the active live stream.
Fig. 1: The + symbol opens the area with the various Publication Services.
Fig. 2: Example of how to use the Publication Service with YouTube.
Fig. 3: Detailed settings of the Publication Service for YouTube
Fig. 4: Active Publication Service to YouTube on the main screen
Fig. 1: Code injection for the publication website.
Fig. 2: Code injection with code examples.
Fig. 1: Overview configuration menu Livestream settings.
Fig. 2: Reaching the settings for the active livestream from the main screen
Fig. 1: Open livestream properties
Fig. 2: Overview with active video source
Fig. 3: Selection of the different video sources in setup mode
Fig. 1: Set up video source in pull mode.
Fig. 2: Set up video source in push mode.
Fig. 1: Setting up virtual video sources in the configuration menu
Fig. 1: Open stream settings menu
Fig. 2: Audio settings submenu
Fig. 3: Select one of the existing audio settings
Fig. 1: Virtual audio source menu
Fig. 1: Processing and control menu
Fig. 1: Menu for meta information of the live stream.
Fig. 1: Audio via network source
Fig. 1: No audio
Fig. 1: Menu for licensing the live stream with a Creative Commons license
Fig. 1: Open menu
Fig. 2: Copy process report
Fig. 1: Open configuration menu for player settings
Fig. 2: Configuration menu for the video player
Fig. 1: Open menu
Fig. 2: Copy data and analyze
Fig. 1: Video channel monitoring
Fig. 2: Permanent system monitoring
Fig. 3: Mouseover of the system monitoring on the main screen
Fig. 1: Open the system menu
Fig. 2: Open the language menu
Fig. 3: Select language
Fig 1: Various setting options are available.
Fig. 1: Setting up video via the wizard is easy
Step 1: Publication Service
Step 2: Select publication service
Step 3: Enter streaming key
Step 4: Start Stream or optionally Step 5: Edit
Step 1: Go to Publication services
Step 2: Select Facebook
Step 3: Enter streaming key from Facebook
Step 4: Start stream
Step 5: Edit stream (optional)
Fig. 1: Video and audio settings HIKVISION
Fig. 2: Select and configure channel
Fig. 1: Example environment variables with locked fields are marked with ENV
Fig. 1: General settings menu for the publication website.

How to integrate a website

The ”Publication Website“ is the player website. You can customize the path of the web page and link any web page. To deploy a custom website at http://restreamer-url/ follow the few steps.

Prerequisite

You have already started your Docker container with the mount path if you followed the instructions.

-v /opt/restreamer/data:/core/data

Step 1

Make website (index.html) accessible

Copy your website files into the mount path:

/opt/restreamer/data

Step 2

Now the page is active.

The address is http://restreamer-url/

Learn more

How do I connect a USB camera to the Restreamer?

We explain how to connect a USB video device to a datarhei Restreamer.

USB device as a video source in datarhei Restreamer

Before the restreamer recognizes the USB device, check if the device is installed correctly. As soon as the device is available on the host system, it is automatically displayed in the restreamer. Use USB device as a video source in datarhei Restreamer

YouTube Video: Quick start guide for USB video device

The "USB Video Class" (UVC) contains devices that stream video over USB and brings them together into a particular class of USB devices. They are webcams, camcorders, transcoders, and devices that can convert analog tape material to a digital format. UVC video sources are displayed as video sources in the datarhei Restreamer's graphical user interface and are active for live streaming with a few simple steps.

If unexpected behavior occurs, a reboot of the host system will help.

If unexpected behavior occurs, restarting the datarhei Restreamer will help.

Learn more

The /core/data folder represents the root directory for the Restreamer, accessible via the URL:

http://restreamer-url/
Installing
Manual
User Guides
Knowledge Base

Why do I see ENV and cannot select anything?

In the user interface, there are always settings marked with ENV and locked for selection.

ENV = This value was set by an environment variable.

When starting the software via the shell, various settings can be activated. These settings are called “environment variables” and are marked with ENV. If a variable is activated at startup, it is no longer possible to adjust it in the graphical user interface.

Recommended variables

It is not mandatory to set variables. All settings can also be configured via the graphical user interface.

All environment variables on GitHub

Learn more

External URL: All environments variables on GitHub
Premium Support
Environment Variables
What are environment variables?
User Guides
Knowledge Base
https://github.com/datarhei/core#environment-variablesgithub.com