aboutsummaryrefslogtreecommitdiffstats
path: root/nix/dash.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/dash.nix')
-rw-r--r--nix/dash.nix23
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
'';
};
};