diff --git a/html/input.php b/html/input.php
index 8c264ae..6061fca 100644
--- a/html/input.php
+++ b/html/input.php
@@ -35,7 +35,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && $_POST["action"] === "add") {
break;
}
$ffmpeg .= " -c:a " . $new["audio_format"] . " -b:a " . $new["audio_bitrate"] . "k -ar 48000 -ac 2 -f mpegts udp://@" . $new["output_udp"];
- file_put_contents("/var/www/encoder/" . $new["id"], $ffmpeg);
+ file_put_contents("/var/www/encoder/" . $new["id"] . ".sh", $ffmpeg);
exec("sudo systemctl enable encoder@" . $new["id"]);
exec("sudo systemctl restart encoder@" . $new["id"]);
echo "OK";
@@ -75,7 +75,28 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && $_POST["action"] === "edit") {
"audio_bitrate" => $_POST["audio_bitrate"],
"service" => $_POST["service"]
];
- exec("sudo systemctl restart encoder@" . $id);
+ $new = $row;
+ $ffmpeg = "ffmpeg -fflags +genpts+discardcorrupt -i udp://@" . $new["input_udp"] . "?overrun_nonfatal=1&fifo_size=50000000 ";
+ switch ($new["video_format"]) {
+ case "mpeg2video":
+ $ffmpeg .= " -vf scale=" . $new["resolution"] . " -c:v mpeg2video -pix_fmt yuv420p -b:v " . $new["video_bitrate"] . "k -maxrate " . $new["video_bitrate"] . "k -minrate " . $new["video_bitrate"] . "k -bufsize " . $new["video_bitrate"] . "k";
+ break;
+ case "h264":
+ $ffmpeg .= " -vf scale=" . $new["resolution"] . " -c:v h264 -pix_fmt yuv420p -b:v " . $new["video_bitrate"] . "k -maxrate " . $new["video_bitrate"] . "k -minrate " . $new["video_bitrate"] . "k -bufsize " . $new["video_bitrate"] . "k";
+ break;
+ case "h265":
+ $ffmpeg .= " -vf scale=" . $new["resolution"] . " -c:v h265 -pix_fmt yuv420p -b:v " . $new["video_bitrate"] . "k -maxrate " . $new["video_bitrate"] . "k -minrate " . $new["video_bitrate"] . "k -bufsize " . $new["video_bitrate"] . "k";
+ break;
+ }
+ $ffmpeg .= " -c:a " . $new["audio_format"] . " -b:a " . $new["audio_bitrate"] . "k -ar 48000 -ac 2 -f mpegts udp://@" . $new["output_udp"];
+ file_put_contents("/var/www/encoder/" . $new["id"] . ".sh", $ffmpeg);
+ if ($new["service"] === "enable") {
+ exec("sudo systemctl enable encoder@" . $new["id"]);
+ exec("sudo systemctl restart encoder@" . $new["id"]);
+ } else {
+ exec("sudo systemctl stop encoder@" . $new["id"]);
+ exec("sudo systemctl disable encoder@" . $new["id"]);
+ }
}
$newData[] = $row;
}