Restreamer is an open-source video streaming platform that allows streaming of video feeds from various sources to multiple platforms. It is developed by Datarhei/Thomas Weber and is compatible with several operating systems, including NixOS. In this tutorial, we will guide you on how to install Restreamer on NixOS latest version.
Before installing Restreamer, you need to have the following:
To install Nix package manager, run the following command in the terminal:
$ curl -L https://nixos.org/nix/install | sh
Once the installation is complete, you can verify by running the command:
$ nix-version
To add Restreamer package to NixOS configuration, create a new file named restreamer.nix
in the /etc/nixos/
directory using the following command:
$ sudo nano /etc/nixos/restreamer.nix
Copy the code below into the file and save it.
{ config, pkgs, ... }:
let
restreamer = pkgs.callPackage (pkgs.fetchgit {
url = "https://github.com/datarhei/restreamer";
rev = "tag/v5.0.0";
sha256 = "1zix0pkrx6vz8jh61wymbdvqpz7dnk0d2vgr8ylpkdn78hxb28s6";
}) {
src = null;
};
in
{
services.restreamer = {
enable = true;
version = "5.0.0";
config = {
paths = {
input = "${config.services.restreamer.path}/input";
www = "${config.services.restreamer.path}/www";
log = "${config.services.restreamer.path}/log";
tmp = "${config.services.restreamer.path}/tmp";
};
inits = {
input_init = {
command = "${restreamer}/bin/init-input.sh";
after = ["network-online.target" "ssh.service"];
};
stream_init = {
command = "${restreamer}/bin/init-stream.sh";
after = ["input_init.service"];
};
web_init = {
command = "${restreamer}/bin/init-web.sh";
after = ["stream_init.service"];
};
};
keys = {
key = "streamkey";
};
};
};
}
The code above specifies the Restreamer version, sets up paths for input, log, and temporary files, creates initialization scripts for the input, streams, and web, and specifies a stream key.
Next, include the restreamer.nix
file in your NixOS configuration by adding the following line in the configuration.nix
file:
$ sudo nano /etc/nixos/configuration.nix
imports = [ /etc/nixos/restreamer.nix ];
Then, save and exit the file.
To activate the Restreamer package, run the following command:
$ sudo nixos-rebuild switch
Wait for the build process to finish, and then reboot your system for the changes to take effect.
$ sudo reboot
Once your system has rebooted, you can access Restreamer web interface via http://<your IP address>:8080
. In the web interface, you can add video sources, configure output, and stream to various platforms.
Congratulations! You have successfully installed Restreamer on NixOS latest.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!