This commit is contained in:
devdatt 2026-02-19 11:26:47 +05:30
parent 80b68d41b5
commit 52bec25ef6
2 changed files with 35 additions and 19 deletions

View File

@ -19,7 +19,11 @@ $defaults = [
'audio_source' => 'hw:1,0', 'audio_source' => 'hw:1,0',
'framerate' => '30', 'framerate' => '30',
'video_delay' => '', 'video_delay' => '',
'audio_delay' => '' 'audio_delay' => '',
'brightness' => '',
'contrast' => '',
'saturation' => '',
'hue' => '',
], ],
'url' => 'https://cdn.urmic.org/unavailable.mp4', 'url' => 'https://cdn.urmic.org/unavailable.mp4',
'rtmp' => [ 'rtmp' => [
@ -69,7 +73,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
'audio_source' => $posted('hdmi_audio_source', $defaults['hdmi']['audio_source']), 'audio_source' => $posted('hdmi_audio_source', $defaults['hdmi']['audio_source']),
'framerate' => $posted('hdmi_framerate', $defaults['hdmi']['framerate']), 'framerate' => $posted('hdmi_framerate', $defaults['hdmi']['framerate']),
'video_delay' => $posted('hdmi_video_delay', $defaults['hdmi']['video_delay']), 'video_delay' => $posted('hdmi_video_delay', $defaults['hdmi']['video_delay']),
'audio_delay' => $posted('hdmi_audio_delay', $defaults['hdmi']['audio_delay']) 'audio_delay' => $posted('hdmi_audio_delay', $defaults['hdmi']['audio_delay']),
'brightness' => $posted('hdmi_brightness', $defaults['hdmi']['brightness']),
'contrast' => $posted('hdmi_contrast', $defaults['hdmi']['contrast']),
'saturation' => $posted('hdmi_saturation', $defaults['hdmi']['saturation']),
'hue' => $posted('hdmi_hue', $defaults['hdmi']['hue']),
], ],
'url' => $posted('url', $defaults['url']), 'url' => $posted('url', $defaults['url']),
'rtmp' => [ 'rtmp' => [
@ -215,7 +223,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<span>Brightness</span> <span>Brightness</span>
<span id="brightnessVal">0</span> <span id="brightnessVal">0</span>
</div> </div>
<input type="range" id="brightness" min="-100" max="100" step="1" value="0"> <input type="range" name="hdmi_brightness" id="hdmi_brightness" min="-100" max="100" step="1" value="0">
</div> </div>
<div class="control"> <div class="control">
@ -223,7 +231,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<span>Contrast</span> <span>Contrast</span>
<span id="contrastVal">1.0</span> <span id="contrastVal">1.0</span>
</div> </div>
<input type="range" id="contrast" min="0" max="10" step="0.1" value="1"> <input type="range" name="hdmi_contrast" id="hdmi_contrast" min="0" max="10" step="0.1" value="1">
</div> </div>
<div class="control"> <div class="control">
@ -231,7 +239,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<span>Saturation</span> <span>Saturation</span>
<span id="saturationVal">1.0</span> <span id="saturationVal">1.0</span>
</div> </div>
<input type="range" id="saturation" min="0" max="10" step="0.1" value="1"> <input type="range" name="hdmi_saturation" id="hdmi_saturation" min="0" max="10" step="0.1" value="1">
</div> </div>
<div class="control"> <div class="control">
@ -239,7 +247,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<span>Hue</span> <span>Hue</span>
<span id="hueVal">0</span> <span id="hueVal">0</span>
</div> </div>
<input type="range" id="hue" min="-180" max="180" step="1" value="0"> <input type="range" name="hdmi_hue" id="hdmi_hue" min="-180" max="180" step="1" value="0">
</div> </div>
<div class="panel-actions"> <div class="panel-actions">
<button type="button" id="colorReset">Reset</button> <button type="button" id="colorReset">Reset</button>

View File

@ -326,7 +326,11 @@ function update_service($which_service)
'audio_source' => 'hw:1,0', 'audio_source' => 'hw:1,0',
'framerate' => '30', 'framerate' => '30',
'video_delay' => '', 'video_delay' => '',
'audio_delay' => '' 'audio_delay' => '',
'brightness' => '',
'contrast' => '',
'saturation' => '',
'hue' => '',
], ],
'url' => 'https://cdn.urmic.org/unavailable.mp4', 'url' => 'https://cdn.urmic.org/unavailable.mp4',
'rtmp' => [ 'rtmp' => [
@ -745,11 +749,11 @@ function update_service($which_service)
case 'rtmp1'; case 'rtmp1';
update_service_backend("rtmp", "", ""); update_service_backend("rtmp", "", "");
if ($service_rtmp0_multiple === "enable") { if ($service_rtmp0_multiple === "enable") {
$rtmp = "ffmpeg -hide_banner -fflags nobuffer -analyzeduration 3000000 -i "; $rtmp = "ffmpeg -hide_banner -fflags nobuffer -i ";
if ($use_common_backend === "transcode_every_time") { if ($use_common_backend === "transcode_every_time") {
$rtmp .= $input_transcode_every_time; $rtmp .= $input_transcode_every_time;
} else { } else {
$rtmp .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1" '; $rtmp .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1" ';
switch ($use_common_backend_rtmp0) { switch ($use_common_backend_rtmp0) {
case "enable": case "enable":
$rtmp .= ' ' $rtmp .= ' '
@ -794,13 +798,13 @@ function update_service($which_service)
switch ($use_common_backend_rtmp1) { switch ($use_common_backend_rtmp1) {
case "enable": case "enable":
$rtmp = 'ffmpeg -hwaccel auto -hide_banner -fflags nobuffer -analyzeduration 3000000 -i "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1" ' $rtmp = 'ffmpeg -hide_banner -fflags nobuffer -i "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1" '
. ' -c:v copy ' . ' -c:v copy '
. ' -c:a copy ' . ' -c:a copy '
. ' -f flv "rtmp://127.0.0.1/shreeshree/bhattji"'; . ' -f flv "rtmp://127.0.0.1/shreeshree/bhattji"';
break; break;
case "disable": case "disable":
$rtmp = 'ffmpeg -hwaccel auto -hide_banner -fflags nobuffer -analyzeduration 3000000 -i "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1" ' $rtmp = 'ffmpeg -hwaccel auto -hide_banner -fflags nobuffer -analyzeduration 3000000 -i "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1" '
. ' -c:v h264_qsv ' . ' -c:v h264_qsv '
. ' -vf "scale=' . str_replace("x", ":", $data['rtmp1']['resolution']) . '"' . ' -vf "scale=' . str_replace("x", ":", $data['rtmp1']['resolution']) . '"'
. ' -b:v ' . $data['rtmp1']['data_rate'] . ' -b:v ' . $data['rtmp1']['data_rate']
@ -837,7 +841,7 @@ function update_service($which_service)
switch ($use_common_backend) { switch ($use_common_backend) {
case "copy_input": case "copy_input":
case "use_common_backend": case "use_common_backend":
$srt .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1"'; $srt .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1"';
break; break;
case "transcode_every_time": case "transcode_every_time":
$srt .= '"' . $input_transcode_every_time . '"'; $srt .= '"' . $input_transcode_every_time . '"';
@ -886,7 +890,7 @@ function update_service($which_service)
case "copy_input": case "copy_input":
case "use_common_backend": case "use_common_backend":
$udp0 .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1"'; $udp0 .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1"';
break; break;
case "transcode_every_time": case "transcode_every_time":
@ -941,7 +945,7 @@ function update_service($which_service)
case "copy_input": case "copy_input":
case "use_common_backend": case "use_common_backend":
$udp1 .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1"'; $udp1 .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1"';
break; break;
case "transcode_every_time": case "transcode_every_time":
@ -996,7 +1000,7 @@ function update_service($which_service)
case "copy_input": case "copy_input":
case "use_common_backend": case "use_common_backend":
$udp2 .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1" '; $udp2 .= ' "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1" ';
break; break;
case "transcode_every_time": case "transcode_every_time":
@ -1047,7 +1051,7 @@ function update_service($which_service)
break; break;
case "custom"; case "custom";
if ($service_custom === "enable") { if ($service_custom === "enable") {
$custom = 'ffmpeg -hwaccel auto -hide_banner -i "udp://@239.255.254.254:39000?localaddr=127.0.0.1&fifo_size=500000&overrun_nonfatal=1" ' $custom = 'ffmpeg -hwaccel auto -hide_banner -i "udp://@239.255.254.254:39000?localaddr=127.0.0.1&overrun_nonfatal=1" '
. $data['custom_output']; . $data['custom_output'];
$file = "/var/www/encoder-custom.sh"; $file = "/var/www/encoder-custom.sh";
file_put_contents($file, $custom); file_put_contents($file, $custom);
@ -1088,8 +1092,12 @@ function update_service_backend($service, $srt_pass1, $srt_pass2)
'resolution' => '1920x1080', 'resolution' => '1920x1080',
'audio_source' => 'hw:1,0', 'audio_source' => 'hw:1,0',
'framerate' => '30', 'framerate' => '30',
'video_delay' => '300', 'video_delay' => '',
'audio_delay' => '' 'audio_delay' => '',
'brightness' => '',
'contrast' => '',
'saturation' => '',
'hue' => '',
], ],
'url' => 'https://cdn.urmic.org/unavailable.mp4', 'url' => 'https://cdn.urmic.org/unavailable.mp4',
'rtmp' => [ 'rtmp' => [
@ -1109,7 +1117,7 @@ function update_service_backend($service, $srt_pass1, $srt_pass2)
'framerate' => '30', 'framerate' => '30',
'gop' => '30', 'gop' => '30',
'audio_db_gain' => '0dB', 'audio_db_gain' => '0dB',
'audio_data_rate' => '256k', 'audio_data_rate' => '128k',
'audio_sample_rate' => '48000', 'audio_sample_rate' => '48000',
'extra' => '' 'extra' => ''
], ],