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...
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...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Once Docker runs on the host, there is an excellent chance to use the Restreamer.
Docker Engine is free and available on various Linux platforms, macOS, and Windows via Docker Desktop and as a static binary installation.
Podman is a free and recommended alternative for Docker.
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.
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!
After successful installation, logging in, and creating a video source, you will get to the start screen.
Official production deployment recommendations
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.
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.
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.
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.
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:
Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.
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.
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
When you log in for the first time in your Restreamer, you have to enter your credentials.
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!
-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.
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.
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:
Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.
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.
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
When you log in for the first time in your Restreamer, you have to enter your credentials.
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!
-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.
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.
A current Linux distribution such as Ubuntu, Debian, Fedora, RedHat, or Suse Linux.
Download, install and run Docker Desktop. Follow the installation instructions. If you are already using Docker, skip this step.
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.
Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui
When you log in for the first time in your Restreamer, you have to enter your credentials.
Environments are global settings for the Restreamer. We recommend considering some environments at the startup.
-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.
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.
64Bit Intel or AMD CPU
A current Linux distribution such as Ubuntu, Debian, Fedora, RedHat, or Suse Linux.
Download, install and run Docker Desktop. Follow the installation instructions. If you are already using Docker, skip this step.
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.
Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui
Environments are global settings for the Restreamer. We recommend considering some environments at the startup.
-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.
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.
Raspberry Pi 3 or Pi 4
ARM CPU with arm32v7 or arm64v8 architecture.
Raspberry Pi 3 Mod. A+
Raspberry Pi 3 Model B+
Raspberry Pi 4 Mod. B
If you are already using Docker, skip this step.
Install the latest Raspberry Pi OS-Image on a memory card.
Log in to the Pi and install Docker according to the Debian installation guide for armhf.
Start with hardware support for arm32v7
Start without hardware support for arm32v7 and arm64v8
For security reasons, start the Restreamer only with --privileged if you need hardware support.
Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui
Please check out our guide: How do I stream a RaspiCam?
Environments are global settings for the Restreamer. We recommend considering some environments at the startup.
-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.
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.
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.
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 datarhei Service.
The fully documented API helps with software development. datarhei Restreamer is very easy to adapt to any project.
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.
Download, install and run Docker Desktop. 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 Microsoft and Docker websites. We recommend using the Debian or Ubuntu package. Follow the instructions, and there will be no problems.
Go to the Docker Desktop settings to enable the Linux distro integration.
After the steps, we recommend rebooting the computer.
Open the command-line PowerShell for Windows and load the latest Restreamer cotainer from Docker Hub. Use the command:
Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.
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.
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
When you log in for the first time in your Restreamer, you have to enter your credentials.
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!
--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.
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.
Download, install and run Docker Desktop. 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 Microsoft and Docker websites. We recommend using the Debian or Ubuntu package. Follow the instructions, and there will be no problems.
Go to the Docker Desktop settings to enable the Linux distro integration.
After the steps, we recommend rebooting the computer.
Open the command-line PowerShell for Windows and load the latest Restreamer cotainer from Docker Hub. Use the command:
Start Docker Desktop and go to Images. The Restreamer is in the list. A click on RUN takes you to the next step.
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.
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
When you log in for the first time in your Restreamer, you have to enter your credentials.
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!
-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.
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!
Load the Docker container and start with the default user credentials. The default ports for HTTP are 80 and for HTTPS 443.
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.
The wizard helps to activate a video source.
Optionally, the use of sound is possible via the configurator.
AAC and Mp3 formats are supported.
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.
The video player is ready to use. It is straightforward to customize the color, logo, and link.
The video page is active immediately and is provided via localhost.
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.
If your private ISP does not have enough bandwidth capacity, it is obvious to run the restreamer at a cloud/hosting service.
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.
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.
If this was too quick for you, check out the .
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.
To set up your Restreamer, you need to open the graphical user interface in a browser and log in with your credentials.
Migration notes for version breaks.
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.
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.)
Restoring the processes created with the new version >= 2.4.0, is impossible.
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.
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.
Start Restreamer v0.6.8 and start streaming from the video source.
Stop Restreamer v0.6.8 by stopping the Docker container, e.g. docker kill restreamer
and then docker rm restreamer
.
Pull the latest Restreamer image, e.g. docker pull datarhei/restreamer:latest
.
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.
Start Restreamer. Now the settings from v0.6.8 are imported to v2.x
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.
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.
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.
Check and control all device 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.
The node ID can be used to uniquely identify the running datarhei core.
The name makes it easier for people to identify the core. In addition, it is generated automatically or can be customized.
Enable automatic check for updates.
Once a Core is connected to the service, the service will notify you of updates.
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.
Restarting the Core.
Do not forget to save the settings.
Unsaved settings will be lost by aborting.
Closes the active window without saving.
πͺ 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.
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.
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
Select one of the available video profiles of the video source.
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
Metadata is essential for the search engine optimization of a video. Therefore, a short description of the video for the audience is optimal.
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.
The wizard can be started again in the first step or directly in the audio settings in the live stream settings.
After logging in with your credentials, the home page appears on the main screen.
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 navigation points take you to the settings of the various submenus.
System menu
datarhei Service
Issue alert
Language
Logout
All
Plattform
Software
Protocol
Add source
Switch channel
Embed
Color
Logo
Statistics
Playback
Process details
Stop Stream
Copy HLS, RTMP, SRT, or Snapshot address
Control area for the compilation of statistics of the users.
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.
Enable or disable Allow access from all referrers.
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.
The audience count is displayed when the hook is active.
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
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
Session data is stored on the hard disk of the core host system.
Check the credentials for the administrator and in the expert mode for IP addresses.
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.
Here you can store the name for the login.
Password for authorization on the system.
Configure basics for a functioning network.
Locked settings that have been set with environment variables at startup are marked with ENV. Disable or adjust environment variables unlocks the settings.
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
Address on which HTTP requests should listen. The default value is Port: 8080
Address on which HTTPS requests should listen. The default value is Port: 8181
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
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
Secure Reliable Transport (SRT) is an open-source video transport protocol that utilises the UDP transport protocol.
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.
The β checkmark activates the SRT server.
Port settings for the SRT server.
The default value for the listening address is port: 6000
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.
This setting encrypts the stream and is optional.
The Restreamer provides comprehensive system monitoring.
A video stream for viewing.
The number of the current audience.
in Mbit/s
Operating time is the duration of time the active livestream is used in hours, minutes, and seconds.
Bitrate of the active live stream
Frames per second β short FPS.
You can control the saving of videos in this section.
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.
Basic authentication for PUT, POST and DELETE requests. It is strongly recommended to enable basic authentication to prevent unauthorized writes to /memfs.
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.
Twitter YouTube Newsletter
Configuration settings for the internal RTMP server.
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.
The β checkmark activates the RTMP server.
The β checkmark activates the RTMPS server.
Port settings for the RTMP server.
The default value for the listening address is port: 1935
Port settings for the RTMP/S server.
The default value for the listening address is port: 1936
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
).
RTMP token for publishing and playback. The token is the value of the URL query parameter 'token'.
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.
A current Linux distribution such as Ubuntu, Debian, Fedora, RedHat, or Suse Linux.
Download, install and run . Follow the installation instructions. If you are already using Docker, skip this step.
In the PowerShell, a single command is required to download and 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.
Open a browser and enter the device's IP address with the Restreamer installed. In the example: http://device-ip:8080/ui
When you log in for the first time in your Restreamer, you have to enter your credentials.
Environments are global settings for the Restreamer. We recommend considering some environments at the startup.
-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.
requires one or more public domain names and an accessible port 80/TCP. The HTTP port is changed automatically.
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.
Click Process Report, save it as a .txt file, copy the data to the cache, and attach it to the case.
Besides the player, the Restreamer offers a complete publication website, for easy and quick presentation of the live stream.
Check the box to make the index.html page accessible from the home directory.
Sets the name of the publication website for the header and page title.
Choose the default video channel for the publication website. This selection is only available if more than one video channel is active.
Activate the sharing function on the Publication website.
Plays the video stream on Chromecast devices.
Plays the video stream on Airplay devices.
Support for datarhei Restreamer in footer. Thank you. πΎ
The button leads directly to the index.html of the publication website.
Do not forget to save the settings.
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.
Customize colors and background of the publication website.
RGB or web colors may be entered.
Color for general text.
For all headlines in title, channels, modal box.
The link color in the texts.
Hover color when hovering the mouse cursor over it.
The background color of the web page.
Color for the title bar
Color of the active tile in the channels. Only active for multiple live streams.
Color of the inactive tile in the channels. Only active for multiple live streams.
Line color defines the color of the horizontal lines.
Upload background image as JPEG or PNG. Recommended resolution 1280x720 px. The address to the image will be displayed.
Opens the publication website in a browser tab.
Save to save the settings.
Customize imprint and terms of use in the footer of the publication website.
The link to the imprint becomes active in the footer when a text is placed in the text field and saved.
The link to the terms of use becomes active in the footer when a text is in the text field and is saved.
Opens the publication website in a browser tab.
Save to save the settings.
Create, manage and delete additional video sources.
Activate additional video sources via the interface in the browser in just a few steps.
The icon opens an additional layer at the bottom of the screen.
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.
Active video signals appear in the video bar at the bottom of the screen.
Collapses the video bar.
Each video source is deleted from the settings menu of the respective live stream.
Edit the audio and video sources, determine their processing, add metadata, and define the desired license.
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.
π§Start the video source wizard.
Adjust the active video settings
π§Starts the wizard for the audio sources
Customize the active audio settings.
Unsaved settings are lost by canceling.
The active video source is completely removed from the system.
Do not forget to save settings.
Closes the active window without saving.
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.
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.)
Take the stream from the RTMP server if the channel is enabled as shown in "2. Channel Edit > Processing & Control". Latency: 1-2 sec.
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".
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.
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.
YouTube
Twitch
Vime
TikTok
Amazon
Telegram
dlive
Trovo
PeerTube
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
WOWZA
Icecast
Red5
Ant Server
Mist Server https://www.mistserver.org/opensource
Kurento https://www.kurento.org
Streamhash https://streamhash.com
Clipbucket https://clipbucket.com
FreeSwitch https://freeswitch.com
Nimble Streamer https://wmspanel.com/nimble
Xsplit https://www.xsplit.com
Wirecast https://www.telestream.net/wirecast/
Unreal Media Server http://www.umediaserver.net/umediaserver
NginX with nginx-rtmp-module
Owncast https://owncast.online
Image2
RTSP
RTMP
HLS
DASH
SRT
UDP
MPEG-TS
Framebuffer
If connection problems occur, error diagnostics can be performed via the error logs of the process details and the process report.
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.
Use audio signal with the video channel from the network.
Silence
Noise
Sine
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.
Stereo and mono support.
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".
With the help of the test signals, it is possible to test a transmission system, check for stability, or determine properties.
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.
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
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.
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.
After a successful check, more details and the encoding settings can be shown.
Send and receive video signals from a network on the LAN or WAN.
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.
You can select between > SRT > RTMP or > HLS.
Enter this address in the sending device from the video signal.
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".
At this point, the address of the server can be customized. The address supports HTTP, HTTPS (HLS, DASH), RTP, RTSP, RTMP, and SRT.
If required, the access data of the video source can be entered here.
Read input at native speed
Force input frame rate
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.
Default value is: genpts
discardcorrput -> Discard damaged frames
fastseek -> Enable fast but inaccurate searches for some formats.
genpts -> Generate the timestamp of the video
igndts -> Ignore decoding of the timestamp
ignidx -> Ignore index
nobuffer -> Reduce latency caused by optional buffering
nofillin -> Do not fill in missing values that can be calculated exactly
noparse -> Disable AVParsers, that needs filling too
sortdts -> Try to interleave the output packets by decoding the timestamp
After starting the test process, the active video stream can be selected.
"Show probe details" shows the feedback from the system.
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.
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.
The video player is part of the Publication Service for the website and the publication website.
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.
The customization of the colors of the video player. The syntax used is the standard for colors in HTML in hex color code (#fcee21)
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.
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.
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.
Select the options for the live stream.
Autostart video automatically starts the live stream.
Turns off the audio channel.
Start broadcasting with Chromecast.
Start broadcasting with Apple AirPlay devices.
General characteristics of the process control of the livestream.
HTTP live streaming (HLS) is an industry-standard video streaming protocol.
Selection of the storage location in the working memory or on the hard disk.
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.
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.
The maximum number of playlist segments. The value 0 will contain all segments. As a default value, we recommend using the value 6.
Master Playlist option (default is active). This Increases player compatibility.
Automatic cleanup of all media data after the end of the process.
Publish the stream as an RTMP output.
Publish the stream as an SRT output.
A preview image is generated from the live stream.
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.
Behavior rule for the running video process in case of a malfunction.
The checkbox is used to decide whether the stream should reconnect or not.
Interval in seconds until the connection starts again.
Seconds until a hanging process is terminated and exited as Faulty.
Unsaved settings are lost by canceling.
Do not forget to save settings.
Closes the active window without saving.
datarhei Restreamer uses FFmpeg for streaming and stores log files for each video process for diagnostic purposes.
Log data of the running FFmpeg process.
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
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.
A brief description should explain what the audience can expect as precisely as possible.
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.
The information about the video producer on the player page.
When you switch from content to author, the field is changed.
When switching from content to author, the field is changed.
The audio settings for a virtual audio source.
Silence
Noise
Sine
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.
Stereo and mono support.
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.
Use the Creative Commons (CC) license for each livestream.
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.
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.
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.
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.
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.
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.
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.
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.
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.
You have already started your Restreamer and added a video source.
Edit the video source settings.
Start encoding
Various setting options are available besides rotation, also horizontal and vertical flipping.
Use the option to change the protocol to SRT in the specific Publication Service.
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.
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.
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β:
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:
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β:
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.:
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β:
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:
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β:
Please note that you don't need to enable HTTPS in Restreamer, because Apache is already handling the SSL connection.
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β:
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:
Please note that you don't need to enable HTTPS in Restreamer, because Caddy is already handling the SSL connection.
The filters for audio software encoders are:
You can manipulate the sampling rate of the input signal (which already existed before directly in the encoder)
Sets the audio layout (mono, stereo, unprocessed)
Can mute the left or right channel
Lets you set the level (10-90% or custom with dB value)
FFmpeg tries to bring the noise level to an average level.
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.
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.
You could always change the username and password for the datarhei Restreamer.
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.
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.
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.
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.
Use the internal RTMP server as a video source.
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.
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.
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
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.
Select Publication Service
Enter a valid streaming ID from YouTube
Click on the Save button
Once connected to YouTube Live, the bitrate of the live stream will be displayed in the main Restreamer window.
Click Stop to pause the stream.
How to start a livestream to YouTube using the Publication Service with the free open source video software datarhei Restreamer.
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.
So that the Restreamer can be reached via the Internet.
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.
Open ports for HTTP and HTTPS are required. We recommend using HTTPS on the website.
What | Router (external port) | Restreamer (internal port) | Optional |
---|
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.
Various free web services are available on the Internet for testing to check whether the forwarding is active without errors.
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.
RS = Clicks in Restreamer FB = Clicks on Facebook
RS: Go to Publication Service in your Restreamer.
RS: Click on Facebook
RS: Click on Settings.
RS: Give a name to the Publication Service (optional)
FB: Copy the stream key on Facebook
RS: Paste the stream key or permanent stream key in the restreamer.
RS: Enter backup server (optional)
RS: Process settings are good on default values for all applications. We advise changing the settings only if necessary.
RS: Click on save to start the video stream to Facebook. A preview will be displayed on Facebook.
FB: Write a description and a title for the live stream.
Click go live now. If you want to schedule a broadcast for later, click Schedule Live Video Event.
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.
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 |
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.
That's a tough question but thankfully, our team is on it. Please bear with us while we're investigating.
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.
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.
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:
Open /boot/config.txt
in an editor, e.g. sudo nano /boot/config.txt
Set hdmi_force_hotplug=1
Set hdmi_group=1
Set hdmi_mode=4
(for 1280x720) or hdmi_mode=16
(for 1920x1080)
Set hdmi_pixel_encoding=2
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
).
The Restreamer provides a video player in iFrame for embedding in HTML on web pages.
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.
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.
We explain how to connect a USB video device to a 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
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.
We explain how to connect the Raspberry Pi camera module to a 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.
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.
ATTENTION! Using the GPU with the Raspicam requires increasing the cache memory to 256 MB. >> To the guide <<
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.
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.
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.
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:
Open /boot/config.txt
in an editor, e.g. sudo nano /boot/config.txt
Replace the line camera_auto_detect=1
with start_x=1
Add gpu_mem=256
right after the line with start_x=1
Replace the line with dtoverlay=vc4-kms-v3d
with dtoverlay=vc4-fkms-v3d
Save the file and exit the editor
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
.
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.
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: Invalid username or password
Solution: Check the access data for validity.
Token could not be updated: Missing or invalid JWT token
Token konnte nicht aktualisiert werden: Missing or invalid JWT token
Solution:
PrΓΌfen der Quelle ist fehlgeschlagen. <0>Details der ΓberprΓΌfung</0> ansehen.
Solution:
Token konnte nicht aktualisiert werden: {0}
Solution:
Die Quelle konnte nicht verifiziert werden. Bitte Adresse prΓΌfen.
Solution:
Login fehlgeschlagen: Konnte die API-Details nicht laden
Solution:
Die Daten konnten nicht in die Zwischenablage kopiert werden
Solution:
Beim Hochladen ist ein Fehler aufgetreten: {0}
Solution:
Es ist ein Fehler beim Verbinden mit der Restreamer-API bei {0} aufgetreten.
Solution:
Es gab einige Fehler in den Einstellungen. Einstellungen nicht gespeichert.
Solution:
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!
If you don't know how to get the RTSP address of your network camera, learn it in this guide.
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)
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
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.
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.
This guide explains how you can write a template for the publication website and describes the available expressions.
A template for the publication website is a single HTML page which uses the Handlebars templating language (https://handlebarsjs.com/) to control the output based on the available expressions.
The Restreamer default template is available at https://github.com/datarhei/restreamer-ui/blob/main/public/_playersite/index.html.
The available Handlebars expressions are:
Expression | Type | Description |
---|---|---|
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.
The template language "Handlebars" is used for the publication website templates. If you are new to Handlebars, please check out their guide (https://handlebarsjs.com/guide/) in order to get up to speed.
There are two additional helper defined:
This helper lets you check if two values are equal, e.g.
This helper lets you check if two values are not equal, e.g.
Design of the publication website with various modules.
The current default template cannot be deleted. If new templates are uploaded, they appear in a dropdown.
Delete available templates.
Give the template a pretty name!
The button uploads the template.
Opens the publication website in a browsertab.
Save the publication website settings.
The errors with the video source can be multilayered.
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 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.
If you have hardware integrated with your video signal, check the hardware, such as encoders, network cameras, video mixers, and other eligible components.
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.
Check the video source. IP cam, encoder, and other possible video sources.
Check LAN. Router, IP settings, firewall, port forwarding, and network settings in question.
Check WAN and Internet connection
In the last step, check the datarhei Restreamer settings.
Use the wizard to create the live stream again.
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.
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.
Most problems occur in one of these three sections.
Video-Input
Player-Streaming
Publication-Service
The following standard troubleshooting procedure is proven to find a quick solution before contacting us.
As a first procedure, check whether the error also occurs with a test transmission
Look into the process details and find the error to fix it.
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.
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.
It is not mandatory to set variables. All settings can also be configured via the graphical user interface.
Expression | Type | Description |
---|---|---|
The default template is available at .
If steps 1 and 2 were unsuccessful, create a and attach the process report.
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
.
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.
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.
Copies the system log to the clipboard.
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
The number of log lines.
Number of most recent log lines to keep for each process.
Number of most recent log lines to keep for each process.+
The custom code injection helps use external widgets or styles for advanced users. You will find some example code on the help page.
Insert code in the header style. Code at the end of the body, for example, to use external scripts.
Insert code in the channel list.
Insert code between the description of the live stream and the author's name. An example, for a comment widget or social media widget.
Insert code into the header style.
Opens the publication website in a browser tab.
Save to save the settings.
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 version and build info in case auth is valid or not required. If auth is required, just the name field is populated. https://demo.datarhei.com/api/swagger/index.html
You'll find a detailed description of the API on https://docs.datarhei.com/core
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.
Twitter https://twitter.com/datarhei YouTube https://youtube.com/user/datarhei Newsletter https://datarhei.com
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.
You have already started your Docker container with the mount path if you followed the instructions.
The /core/data folder represents the root directory for the Restreamer, accessible via the URL: http://restreamer-url/
Make website (index.html) accessible
Copy your website files into the mount path:
Now the page is active.
The address is http://restreamer-url/
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.
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
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.
How GPU encoding from the Raspberry Pi in the datarhei Restreamer significantly reduces CPU load.
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.
These encoders work well with the Restreamer.
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.
Video processing with a maximum of 1920x1080 pixels.
Video4Linux (V4L2) is a collection of device drivers and an API for supporting real-time video capture on Linux systems.
Video processing with a maximum of 1920x1080 pixels.
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.
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.
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.
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.
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.
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.