From 03677b742eecb45f509e0be8ef74bc15284e744c Mon Sep 17 00:00:00 2001 From: devdatt Date: Sat, 17 Jan 2026 18:46:32 +0530 Subject: [PATCH] updtae --- html/input.php | 76 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 55 insertions(+), 21 deletions(-) diff --git a/html/input.php b/html/input.php index e2ed52c..848d4ce 100644 --- a/html/input.php +++ b/html/input.php @@ -33,15 +33,35 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && $_POST["action"] === "add") { $data[] = $new; file_put_contents($jsonFile, json_encode($data, JSON_PRETTY_PRINT)); - $ffmpeg = 'ffmpeg -fflags +genpts+discardcorrupt -re -i "udp://@' . $new["input_udp"] . '?overrun_nonfatal=1&fifo_size=50000000" '; - $ffmpeg .= " -vf scale={$new["resolution"]} -g 12 -bf 2 -c:v mpeg2video -pix_fmt yuv420p -b:v {$new["video_bitrate"]}k -maxrate {$new["video_bitrate"]}k -minrate {$new["video_bitrate"]}k "; - $ffmpeg .= ' -af volume=' . $new["volume"] . 'dB'; - $ffmpeg .= ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2'; + + $ffmpeg = 'ffmpeg -hide_banner -loglevel error \ + -thread_queue_size 8192 \ + -re \ + -fflags +genpts+discardcorrupt+nobuffer \ + -flags +low_delay \ + -i "udp://@' . $new["input_udp"] . '?fifo_size=50000000&buffer_size=50000000&overrun_nonfatal=1" \ + -vf "scale=:' . $new["resolution"] . ',format=yuv420p" \ + -c:v ' . $new["video_format"] . ' \ + -threads 1 \ + -r 25 \ + -g 25 \ + -bf 0 \ + -qmin 2 -qmax 31 \ + -me_method dia \ + -subq 0 \ + -b:v ' . $new["video_bitrate"] . 'k \ + -minrate ' . $new["video_bitrate"] . 'k \ + -maxrate ' . $new["video_bitrate"] . 'k \ + -bufsize ' . ((int)$new["video_bitrate"] * 2) . 'k \ + -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 \ + -af "volume=' . $new["volume"] . 'dB,aresample=async=1000"'; + $ffmpeg .= ' -metadata service_provider=ShreeBhattJI '; if ($new["service_name"] !== "") $ffmpeg .= '-metadata service_name="' . $new["service_name"] . '"'; - $ffmpeg .= ' -metadata service_provider=ShreeBhattJI '; - $ffmpeg .= ' -f mpegts "udp://@' . $new["output_udp"] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"'; + $ffmpeg .= ' -f mpegts "udp://@' . $new["output_udp"] . '?pkt_size=1316&bitrate=4500000"'; + + file_put_contents("/var/www/encoder/{$new["id"]}.sh", $ffmpeg); @@ -98,15 +118,31 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && $_POST["action"] === "edit") { $new = $row; - $ffmpeg = 'ffmpeg -fflags +genpts+discardcorrupt -re -i "udp://@' . $new["input_udp"] . '?overrun_nonfatal=1&fifo_size=50000000" '; - $ffmpeg .= " -vf scale={$new["resolution"]} -g 12 -bf 2 -c:v mpeg2video -pix_fmt yuv420p -b:v {$new["video_bitrate"]}k -maxrate {$new["video_bitrate"]}k -minrate {$new["video_bitrate"]}k "; - $ffmpeg .= ' -af volume=' . $new["volume"] . 'dB'; - $ffmpeg .= ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2'; - + $ffmpeg = 'ffmpeg -hide_banner -loglevel error \ + -thread_queue_size 8192 \ + -re \ + -fflags +genpts+discardcorrupt+nobuffer \ + -flags +low_delay \ + -i "udp://@' . $new["input_udp"] . '?fifo_size=50000000&buffer_size=50000000&overrun_nonfatal=1" \ + -vf "scale=:' . $new["resolution"] . ',format=yuv420p" \ + -c:v ' . $new["video_format"] . ' \ + -threads 1 \ + -r 25 \ + -g 25 \ + -bf 0 \ + -qmin 2 -qmax 31 \ + -me_method dia \ + -subq 0 \ + -b:v ' . $new["video_bitrate"] . 'k \ + -minrate ' . $new["video_bitrate"] . 'k \ + -maxrate ' . $new["video_bitrate"] . 'k \ + -bufsize ' . ((int)$new["video_bitrate"] * 2) . 'k \ + -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 \ + -af "volume=' . $new["volume"] . 'dB,aresample=async=1000"'; + $ffmpeg .= ' -metadata service_provider=ShreeBhattJI '; if ($new["service_name"] !== "") $ffmpeg .= '-metadata service_name="' . $new["service_name"] . '"'; - $ffmpeg .= ' -metadata service_provider=ShreeBhattJI '; - $ffmpeg .= ' -f mpegts "udp://@' . $new["output_udp"] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"'; + $ffmpeg .= ' -f mpegts "udp://@' . $new["output_udp"] . '?pkt_size=1316&bitrate=4500000"'; file_put_contents("/var/www/encoder/$id.sh", $ffmpeg); @@ -266,9 +302,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && $_POST["action"] === "restart") { @@ -348,11 +382,11 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && $_POST["action"] === "restart") { service_name.value = ""; in_udp.value = ""; out_udp.value = ""; - video_format.value = "h264"; - audio_format.value = "aac"; - resolution.value = "1920:1080"; - video_bitrate.value = ""; - audio_bitrate.value = ""; + video_format.value = "mpeg2video"; + audio_format.value = "mp2"; + resolution.value = "720:576"; + video_bitrate.value = "3000"; + audio_bitrate.value = "96"; volume.value = "0"; service.value = "enable"; }