diff --git a/encoder-main.sh b/encoder-main.sh old mode 100644 new mode 100755 diff --git a/encoder/static.php b/encoder/static.php index 606ecf0..a60d4af 100755 --- a/encoder/static.php +++ b/encoder/static.php @@ -1,39 +1,6 @@ &1", $output, $status); if ($status === 0) { exec("sudo systemctl restart nginx 2>&1", $o, $s); - while (trim(shell_exec("systemctl is-active nginx")) !== "active") { - sleep(1); - } - exec("sudo systemctl enable encoder-rtmp"); + exec('sudo systemctl restart encoder-rtmp'); } else { exec('sudo cp /var/www/nginx.conf /etc/nginx/'); exec("sudo systemctl restart nginx"); diff --git a/html/metrics.json b/html/metrics.json index cc0ddbd..b3524e7 100644 --- a/html/metrics.json +++ b/html/metrics.json @@ -1 +1 @@ -{"timestamps": ["2025-11-20T23:37:04", "2025-11-20T23:37:14", "2025-11-20T23:37:24", "2025-11-20T23:37:34", "2025-11-20T23:37:44", "2025-11-20T23:37:54", "2025-11-20T23:38:04", "2025-11-20T23:38:14", "2025-11-20T23:38:24", "2025-11-20T23:38:34", "2025-11-20T23:38:44", "2025-11-20T23:38:54", "2025-11-20T23:39:04", "2025-11-20T23:39:14", "2025-11-20T23:39:24", "2025-11-20T23:39:34", "2025-11-20T23:39:44", "2025-11-20T23:39:54", "2025-11-20T23:40:04", "2025-11-20T23:40:14", "2025-11-20T23:40:24", "2025-11-20T23:40:34", "2025-11-20T23:40:44", "2025-11-20T23:40:54", "2025-11-20T23:41:04", "2025-11-20T23:41:14", "2025-11-20T23:41:24", "2025-11-20T23:41:34", "2025-11-20T23:41:44", "2025-11-20T23:41:54", "2025-11-20T23:42:04", "2025-11-20T23:42:14", "2025-11-20T23:42:24", "2025-11-20T23:42:34", "2025-11-20T23:42:44", "2025-11-20T23:42:54", "2025-11-20T23:43:04", "2025-11-20T23:43:14", "2025-11-20T23:43:24", "2025-11-20T23:43:34", "2025-11-20T23:43:44", "2025-11-20T23:43:54", "2025-11-20T23:44:04", "2025-11-20T23:44:14", "2025-11-20T23:44:24", "2025-11-20T23:44:34", "2025-11-20T23:44:44", "2025-11-20T23:44:54", "2025-11-20T23:45:04", "2025-11-20T23:45:14", "2025-11-20T23:45:24", "2025-11-20T23:45:34", "2025-11-20T23:45:44", "2025-11-20T23:45:54", "2025-11-20T23:46:04", "2025-11-20T23:46:14", "2025-11-20T23:46:24", "2025-11-20T23:46:34", "2025-11-20T23:46:44", "2025-11-20T23:46:54", "2025-11-20T23:47:04", "2025-11-20T23:47:14", "2025-11-20T23:47:24", "2025-11-20T23:47:34", "2025-11-20T23:47:44", "2025-11-20T23:47:54", "2025-11-20T23:48:04", "2025-11-20T23:48:14", "2025-11-20T23:48:24", "2025-11-20T23:48:34", "2025-11-20T23:48:44", "2025-11-20T23:48:54", "2025-11-20T23:49:04", "2025-11-20T23:49:14", "2025-11-20T23:49:24", "2025-11-20T23:49:34", "2025-11-20T23:49:44", "2025-11-20T23:49:54", "2025-11-20T23:50:04", "2025-11-20T23:50:14", "2025-11-20T23:50:24", "2025-11-20T23:50:34", "2025-11-20T23:50:44", "2025-11-20T23:50:54", "2025-11-20T23:51:04", "2025-11-20T23:51:14", "2025-11-20T23:51:24", "2025-11-20T23:51:34", "2025-11-20T23:51:44", "2025-11-20T23:51:54"], "cpu_percent": [0.2, 0.3, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.3, 0.2, 0.5, 0.3, 0.1, 0.3, 0.2, 0.7, 0.8, 0.3, 0.3, 0.3, 1.1, 0.7, 0.7, 0.7, 0.4, 0.4, 0.9, 0.2, 0.6, 0.4, 0.5, 0.6, 1.1, 1.3, 0.7, 0.7, 0.6, 1.1, 0.8, 0.9, 1.3, 1.0, 0.6, 0.5, 0.5, 0.5, 0.4, 0.6, 0.8, 0.5, 0.5, 0.6, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.5, 0.6, 0.5, 0.5, 1.0, 0.8, 0.7, 0.5, 0.2, 0.2, 1.2, 0.5, 1.1, 1.2, 1.1, 0.5, 0.6, 0.4, 0.7, 1.6, 1.5, 2.0, 1.4, 1.8, 0.6, 1.5, 0.9, 0.9, 1.5, 1.6], "ram_percent": [27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.7, 27.7, 27.7, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.6, 27.7, 27.7, 27.7, 27.7, 27.7, 27.6, 27.6, 27.7, 27.6, 27.5, 28.0, 28.0, 28.0, 28.0, 28.0, 28.0, 27.9, 27.9, 28.0, 27.9, 27.9, 28.0, 28.0, 28.0, 28.1, 28.0, 28.0, 28.0, 28.0, 28.0, 28.0, 28.1, 28.0, 28.0, 28.0, 27.9, 28.0, 28.0, 27.9, 28.0, 28.0, 28.0, 28.0, 28.0, 28.0, 27.9, 28.0, 27.9, 28.0, 28.0, 28.1, 28.1, 28.1, 28.1, 28.2, 28.1, 27.6, 27.7, 27.7, 27.7, 27.7, 27.7, 27.8, 27.8, 27.8], "net_in_Bps": [3433, 9168, 3833, 3894, 3763, 3753, 3804, 3628, 3638, 3587, 3945, 4150, 3689, 3759, 3488, 3778, 3334, 23378, 36890, 16260, 25091, 14906, 41830, 25710, 26799, 22774, 30779, 37466, 36354, 3305, 23096, 28252, 46440, 18537, 36414, 34099, 44743, 39371, 22725, 52368, 37174, 36573, 59973, 30439, 27145, 14199, 12283, 11743, 12203, 12715, 12439, 12258, 14318, 12032, 12251, 12199, 12170, 12109, 12363, 14244, 12348, 12131, 14887, 18633, 72127, 39361, 20820, 24064, 4418, 4880, 37087, 18424, 32640, 37945, 38628, 15076, 45281, 38404, 26112, 97670, 24627, 78338, 47319, 50201, 15571, 50761, 24364, 28275, 23164, 35047], "net_out_Bps": [3105, 5282, 3069, 2910, 3096, 3193, 3244, 2957, 2854, 2803, 2803, 3110, 2859, 3092, 2621, 2706, 2453, 83490, 39855, 37339, 24384, 18605, 46444, 28179, 29038, 26476, 30061, 37205, 36046, 2690, 25391, 29143, 47331, 20787, 42094, 39388, 46924, 39382, 23389, 53754, 38209, 39693, 63161, 34129, 28767, 15844, 13941, 13563, 13693, 14231, 14262, 14030, 15754, 13751, 13834, 13760, 13757, 14017, 14041, 15594, 13943, 14020, 16594, 20435, 71734, 44023, 82658, 24119, 3834, 4126, 41386, 19735, 34317, 40857, 40994, 16555, 48715, 37855, 29426, 76152, 26319, 82622, 48198, 53958, 17069, 54064, 25800, 29508, 24782, 38900], "disk_read_Bps": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10235, 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2047, 3684, 409, 0, 409, 0, 0, 0, 0, 0, 0], "disk_write_Bps": [9826, 42169, 11463, 9825, 41760, 10235, 9825, 37666, 7369, 6960, 41760, 6550, 6550, 59774, 9826, 6550, 36847, 12691, 113817, 11873, 37256, 7369, 47899, 11463, 6960, 49129, 6550, 11054, 45445, 6960, 53633, 50358, 10644, 7369, 38485, 25383, 9416, 39303, 7778, 29887, 40941, 18014, 45444, 45035, 9007, 6960, 41758, 9825, 17604, 48720, 7369, 9416, 13510, 37666, 6960, 41760, 11871, 7369, 8188, 38075, 9007, 7778, 37256, 13510, 19651, 51175, 67143, 8188, 37666, 6550, 9416, 37256, 6959, 27020, 38074, 7369, 16785, 46672, 70418, 22108, 39303, 8597, 23745, 44215, 11054, 11054, 52814, 7369, 8188, 45034], "disk_percent": [7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2], "sample_interval": 10.0, "generated_at": "2025-11-20T23:51:54Z"} \ No newline at end of file +{"timestamps": ["2025-11-21T00:47:40", "2025-11-21T00:47:50", "2025-11-21T00:48:00", "2025-11-21T00:48:10", "2025-11-21T00:48:20", "2025-11-21T00:48:30", "2025-11-21T00:48:40", "2025-11-21T00:48:50", "2025-11-21T00:49:00", "2025-11-21T00:49:10", "2025-11-21T00:49:20", "2025-11-21T00:49:30", "2025-11-21T00:49:40", "2025-11-21T00:49:50", "2025-11-21T00:50:00", "2025-11-21T00:50:10", "2025-11-21T00:50:20", "2025-11-21T00:50:30", "2025-11-21T00:50:40", "2025-11-21T00:50:50", "2025-11-21T00:51:00", "2025-11-21T00:51:10", "2025-11-21T00:51:20", "2025-11-21T00:51:30", "2025-11-21T00:51:40", "2025-11-21T00:51:50", "2025-11-21T00:52:00", "2025-11-21T00:52:10", "2025-11-21T00:52:20", "2025-11-21T00:52:30", "2025-11-21T00:52:40", "2025-11-21T00:52:50", "2025-11-21T00:53:00", "2025-11-21T00:53:10", "2025-11-21T00:53:20", "2025-11-21T00:53:30", "2025-11-21T00:53:40", "2025-11-21T00:53:50", "2025-11-21T00:54:00", "2025-11-21T00:54:10", "2025-11-21T00:54:20", "2025-11-21T00:54:30", "2025-11-21T00:54:40", "2025-11-21T00:54:50", "2025-11-21T00:55:00", "2025-11-21T00:55:10", "2025-11-21T00:55:20", "2025-11-21T00:55:30", "2025-11-21T00:55:40", "2025-11-21T00:55:50", "2025-11-21T00:56:00", "2025-11-21T00:56:10", "2025-11-21T00:56:20", "2025-11-21T00:56:30", "2025-11-21T00:56:40", "2025-11-21T00:56:50", "2025-11-21T00:57:00", "2025-11-21T00:57:10", "2025-11-21T00:57:20", "2025-11-21T00:57:30", "2025-11-21T00:57:40"], "cpu_percent": [54.4, 3.4, 3.8, 22.4, 2.4, 2.0, 0.8, 1.1, 0.9, 0.3, 0.3, 0.2, 0.5, 0.9, 3.5, 3.6, 1.3, 3.6, 2.7, 2.5, 0.9, 0.5, 2.1, 1.5, 1.3, 1.1, 0.7, 0.7, 0.3, 0.5, 0.7, 0.9, 2.3, 1.7, 3.7, 2.4, 0.6, 0.7, 1.4, 0.9, 1.0, 1.3, 1.6, 1.1, 1.1, 1.3, 1.5, 2.2, 1.1, 0.8, 1.9, 1.1, 1.5, 2.0, 1.1, 1.0, 0.7, 0.7, 0.4, 0.6, 0.6], "ram_percent": [12.0, 11.8, 14.2, 22.7, 22.5, 21.8, 20.5, 20.8, 20.6, 20.6, 20.6, 20.6, 20.7, 20.7, 20.7, 20.3, 20.4, 20.5, 20.7, 20.9, 20.8, 20.9, 20.7, 20.9, 20.8, 20.9, 20.9, 20.9, 20.9, 20.9, 20.9, 20.9, 20.7, 20.8, 20.7, 20.7, 20.7, 20.7, 20.7, 20.7, 20.8, 20.8, 20.8, 20.8, 20.8, 20.8, 20.8, 20.8, 20.6, 20.7, 20.6, 20.7, 20.8, 20.8, 20.8, 20.8, 20.8, 20.9, 20.9, 20.9, 20.6], "net_in_Bps": [0, 13501, 22329, 2404969, 53853, 57493, 14638, 40680, 17757, 4260, 4827, 4201, 11309, 31748, 62882, 113763, 49417, 115006, 80963, 96983, 22749, 13419, 88845, 62690, 51701, 51111, 20978, 25306, 4696, 14746, 27890, 33941, 133589, 79093, 78531, 34527, 43981, 47012, 25193, 41142, 49470, 73030, 95967, 60869, 39479, 41704, 38551, 71921, 48684, 29186, 73650, 48191, 48310, 64889, 30548, 20121, 27287, 22316, 7927, 45252, 45871], "net_out_Bps": [0, 13848, 15883, 3517467, 53929, 119586, 47714, 39702, 21887, 3644, 4141, 3729, 11688, 29952, 67199, 127605, 50725, 148075, 96740, 128403, 26506, 12856, 100371, 69040, 50795, 50332, 19916, 24557, 3919, 13919, 26614, 34587, 135280, 84589, 106634, 37939, 44131, 47621, 28339, 40672, 49609, 74210, 97532, 60964, 39693, 43234, 42344, 72846, 50265, 30179, 81170, 50862, 52123, 70809, 34170, 22933, 27265, 21764, 7253, 44382, 45358], "disk_read_Bps": [60545190, 7092722, 8560429, 5907517, 10328, 11464, 0, 14741, 478701, 0, 0, 0, 0, 0, 13102, 33985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4094, 0], "disk_write_Bps": [1371607, 129375, 396369, 281719, 145029, 759959, 137580, 20883, 75347, 9417, 20882, 9417, 9417, 12283, 17606, 22929, 26204, 9417, 27024, 30300, 13102, 27433, 36441, 19243, 18834, 25386, 6141, 6551, 21701, 6960, 22519, 10236, 12693, 20472, 9007, 39306, 42992, 22110, 12692, 13102, 6960, 36849, 6551, 23747, 18015, 7779, 26204, 15968, 6960, 22109, 23747, 6141, 21701, 31123, 40534, 45856, 16786, 6141, 22109, 7369, 11054], "disk_percent": [7.3, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2], "sample_interval": 10.0, "generated_at": "2025-11-21T00:57:40Z"} \ No newline at end of file diff --git a/html/static.php b/html/static.php deleted file mode 100644 index f4439a7..0000000 --- a/html/static.php +++ /dev/null @@ -1,357 +0,0 @@ - 'url', - 'hdmi' => [ - 'resolution' => '1920x1080', - 'audio_source' => 'hw:1,0', - 'framerate' => '30' - ], - 'url' => 'https://cdn.urmic.org/unavailable.mp4', - 'rtmp' => [ - 'mount' => 'channel_name', - 'password' => 'live', - 'port' => '1935' - ], - 'srt' => [ - 'stream_id_1' => 'har', - 'stream_id_2' => 'har', - 'stream_id_3' => 'mahadev', - 'port' => '1937' - ], - 'udp' => 'udp://@224.1.1.1:8000', - 'custom' => '' - ]; - - $jsonFile = __DIR__ . '/input.json'; - if (file_exists($jsonFile)) { - $raw = file_get_contents($jsonFile); - $data = json_decode($raw, true); - if (!is_array($data)) $data = $defaults; - } - - $input_source = $data['input']; - $input_rtmp_port = $data['rtmp']['port']; - $input_rtmp_mount = $data['rtmp']['mount']; - $input_rtmp_pass = $data['rtmp']['password']; - $input_port_srt = $data['srt']['port']; - - if ($input_rtmp_port === "80" || $input_rtmp_port === "443" || $input_port_srt === "80" || $input_port_srt === "443") { - echo ''; - die(); - } - - switch ($input_source) { - case "hdmi": - $input = "ffmpeg -thread_queue_size 512 -f v4l2 -input_format mjpeg -framerate " . $data['hdmi']['framerate'] . " -video_size " . $data['hdmi']['resolution'] . " -i /dev/video0 " . - "-f alsa -i " . $data['hdmi']['audio_source'] . ' -init_hw_device qsv=hw:/dev/dri/renderD128 -filter_hw_device hw -fflags +genpts -use_wallclock_as_timestamps 1 -vf "format=nv12,hwupload=extra_hw_frames=64,format=qsv" -c:v h264_qsv'; - break; - case "url": - $input .= "ffmpeg -hwaccel auto -stream_loop -1 -re -i " . $data['url']; - break; - case "rtmp": - $input .= "ffmpeg -hwaccel auto -stream_loop -1 -re -i rtmp://127.0.0.1:" . $$input_rtmp_port . "/" . $$input_rtmp_mount . "/" . $input_rtmp_pass; - break; - case "srt": - $input .= "-stream_loop -1 -re -i srt://127.0.0.1:" . $data['srt']['port'] . "/" . $data['srt']['stream_id_1'] . "/" . $data['srt']['stream_id_2'] . "/" . $data['srt']['stream_id_3']; - $input_port_srt = $data['srt']['port']; - break; - } - $input .= " "; - - $jsonFile = __DIR__ . '/output.json'; - - $defaults = [ - 'video' => [ - 'resolution' => '1920x1080', - 'format' => 'h264_qsv', - 'framerate' => '25', - 'data_rate' => '3.3M', - 'gop' => '12' - ], - 'audio' => [ - 'format' => 'aac', - 'sample_rate' => '48000', - 'bit_rate' => '96k', - 'db_gain' => '0dB' - ], - 'service_display' => 'disable', - 'output_display' => '1920x1080@60.00', - 'output_display_audio' => '0,3', - 'service_rtmp_multiple' => 'disable', - 'service_rtmp_hls' => 'disable', - 'service_rtmp_dash' => 'disable', - 'service_srt_multiple' => 'disable', - 'service_udp' => 'disable', - 'service_custom' => 'disable', - 'rtmp_multiple' => [], - 'srt_multiple' => [], - 'udp' => '', - 'custom_output' => '' - ]; - - for ($i = 1; $i <= 11; $i++) { - $defaults['rtmp_multiple'][$i] = ['url' => '', 'name' => '', 'enabled' => false]; - $defaults['srt_multiple'][$i] = ['url' => '', 'name' => '', 'enabled' => false]; - } - - if (file_exists($jsonFile)) { - $raw = file_get_contents($jsonFile); - $data = json_decode($raw, true); - if (!is_array($data)) $data = $defaults; - $data = array_replace_recursive($defaults, $data); - } else { - $data = $defaults; - } - - $service_display = $data['service_display']; - $service_rtmp_multiple = $data['service_rtmp_multiple']; - $service_rtmp_hls = $data['service_rtmp_hls']; - $service_rtmp_dash = $data['service_rtmp_dash']; - $service_srt_multiple = $data['service_srt_multiple']; - $service_udp = $data['service_udp']; - $service_custom = $data['service_custom']; - $rtmp_multiple = $data['rtmp_multiple']; - $srt_multiple = $data['srt_multiple']; - - $input .= ' -b:v ' . $data['video']['data_rate'] . ' -maxrate ' . $data['video']['data_rate'] . ' -bufsize 10M -g ' . $data['video']['gop'] . ' -af "aresample=async=1:first_pts=0" ' . - ' -c:a ' . $data['audio']['format'] . ' -ar ' . $data['audio']['sample_rate'] . ' -b:a ' . $data['audio']['bit_rate'] . ' -vsync 1 -copytb 1 -f mpegts udp://239.255.255.254:39000?localaddr=127.0.0.1'; - - $service = $input; - $file = "/var/www/encoder-main.sh"; - if (file_put_contents($file, $service) !== false) { - echo "File saved."; - } else { - echo "Error writing file."; - } - - switch ($which_service) { - case 'input': - exec('sudo systemctl restart encoder-main'); - break; - case 'display'; - break; - case 'rtmp'; - //if hls service enable add this to nginx - if ($service_rtmp_hls === "enable") { - $hls = " - hls on; - hls_path /var/www/html/hls/shree; - hls_fragment 3; - hls_playlist_length 60; -"; - } else { - $hls = " -"; - } - - //if dash service enable add this to nginx - if ($service_rtmp_dash === "enable") { - $dash = " - dash on; - dash_path /var/www/html/dash/shree; -"; - } else { - $dash = " -"; - } - - if (empty($input_rtmp_port)) - $input_rtmp_port = "1935"; - - $rtmp_push = ""; - - for ($i = 1; $i <= 11; $i++) { - if ($rtmp_multiple[$i]['enabled'] == 1) { - $rtmp_push .= " - push " . $rtmp_multiple[$i]['url'] . ";"; - } - } - - $nginx = $nginx_top; - if ($input_source === "rtmp") { - $nginx .= " -rtmp { - server { - listen " . $input_rtmp_port . "; - chunk_size 4096; - - application " . $input_rtmp_mount . " { - live on; - record off; - meta off; - wait_video on; - } - - application shree { - live on; - record off; - meta off; - wait_video on; - allow publish 127.0.0.1; - deny publish all; - " . $rtmp_push . " - } - } -} - "; - } else { - $nginx .= " -rtmp { - server { - listen 1935; - chunk_size 4096; - - application shree { - live on; - record off; - meta off; - wait_video on; - " . $rtmp_push . " - " . $hls . " - " . $dash . " - } - } -}"; - } - $nginx .= $nginx_bottom; - $file = "/var/www/nginx.conf"; - file_put_contents($file, $nginx); - - if ($service_rtmp_multiple === "enable") { - $rtmp = 'ffmpeg -fflags nobuffer -i "udp://239.255.255.254:39000?localaddr=127.0.0.1&fifo_size=5000000&overrun_nonfatal=1" -c:v copy -c:a aac -f flv rtmp://127.0.0.1:1935/shree/bhattji'; - $file = "/var/www/encoder-rtmp.sh"; - file_put_contents($file, $rtmp); - exec('sudo cp /var/www/nginx.conf /etc/nginx/'); - exec("$nginx -t 2>&1", $output, $status); - if ($status === 0) { - // Config OK → restart nginx - exec("sudo systemctl restart nginx"); - exec("sudo systemctl reset-failed encoder-rtmp.service"); - exec("sudo systemctl restart encoder-rtmp"); - } else { - exec('sudo cp /var/www/nginx.conf /etc/nginx/'); - exec("sudo systemctl restart nginx"); - exec("sudo systemctl stop encoder-rtmp"); - } - } { - } - - break; - case "srt"; - break; - case "udp"; - break; - case "custom"; - break; - default: - error_log("Error no input found"); - break; - } -} - - -function update_firewall() {} - -function update_network() {} - -function update_firmware() {} diff --git a/nginx.conf b/nginx.conf old mode 100644 new mode 100755 index b4db6b3..af87c32 --- a/nginx.conf +++ b/nginx.conf @@ -8,7 +8,6 @@ events { worker_connections 2048; multi_accept on; } - rtmp { server { @@ -53,4 +52,5 @@ http { include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; -} +} + \ No newline at end of file