Keyframe

Keyframe
Login

Keyframe is a self-hosted live video streaming server with integrated community features.

Getting Started

On a NixOS server, you should set up a mailserver that can send email. simple-nixos-mailserver is a good choice if you don't have one already.

You need to point the following subdomains to your server:

After this, add the following to /etc/nixos/keyframe.nix:

{
  imports = [
    (builtins.fetchTarball https://fossil.keyframe.live/tarball/v0.2.1/keyframe.tar.gz)
  ];

  boot.kernelPackages = pkgs.linuxPackages_latest;

  security.acme = {
    email = "your@email.example";
    acceptTerms = true;
  };

  keyframe = {
    enable = true;
    domain = "stream.yourdomain.example";
    streams = {
      test = { email = "your@email.example"; };
    };
  };
}

Then import it in your configuration.nix, by adding:

# ...
  imports = [
    # ...
    ./keyframe.nix
  ];
# ...

After this, run sudo nixos-rebuild switch, and check your email for credentials.

You can use software like OBS to stream to the server - see the OBS wiki for details. You must set OBS to produce keyframes every second.

License

Keyframe is released under various licenses. Some components are licensed under the AGPL or the GPL, while the NixOS configuration is licensed under the MIT. See the LICENSE file for more details.

This licensing choice ensures that Keyframe contributes to the free software commons. Anyone can use, modify and redistribute the software, creating bespoke servers for their own communities; in return, they must publish their modifications under the same terms.