diff options
Diffstat (limited to 'nix/dash.nix')
-rw-r--r-- | nix/dash.nix | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/nix/dash.nix b/nix/dash.nix index c0af4d7..d24e572 100644 --- a/nix/dash.nix +++ b/nix/dash.nix @@ -15,9 +15,16 @@ in metadata in some clients ''; }; + + openFirewall = mkEnableOption "open firewall"; }; config = mkIf cfg.dash.enable { + networking.firewall = mkIf cfg.dash.openFirewall { + allowedTCPPorts = [ 1935 ]; + allowedUDPPorts = [ 1935 ]; + }; + systemd.services.brook-ffmpeg = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; @@ -31,13 +38,15 @@ in ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg"; in '' - ${ffmpeg}-listen 1 -i rtmp://0.0.0.0:1935/${cfg.dash.name}/live \ - -c:v libx264 -x264opts "keyint=24:min-keyint=24:no-scenecut" -r 24 \ - -c:a aac -b:a 128k \ - -bf 1 -b_strategy 0 -sc_threshold 0 -pix_fmt yuv420p \ - -map 0:v:0 -map 0:a:0 -map 0:v:0 \ - -map 0:a:0 -map 0:v:0 -map 0:a:0 \ - /var/lib/dash/live.mpd + while true; do + ${ffmpeg} -listen 1 -i rtmp://0.0.0.0:1935/${cfg.dash.name}/live \ + -c:v libx264 -x264opts "keyint=24:min-keyint=24:no-scenecut" -r 24 \ + -c:a aac -b:a 128k \ + -bf 1 -b_strategy 0 -sc_threshold 0 -pix_fmt yuv420p \ + -map 0:v:0 -map 0:a:0 -map 0:v:0 \ + -map 0:a:0 -map 0:v:0 -map 0:a:0 \ + /var/lib/dash/live.mpd + done ''; }; }; |