diff --git a/encoder/firmware.php b/encoder/firmware.php
index e36b578..8f10762 100755
--- a/encoder/firmware.php
+++ b/encoder/firmware.php
@@ -1,7 +1,7 @@
'aac',
'audio_data_rate' => '128k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp0_output' => 'default',
+ 'udp0_service_name' =>''
],
'udp1' => [
'common_backend' => 'disable',
@@ -68,7 +70,9 @@ $defaults = [
'audio_format' => 'mp2',
'audio_data_rate' => '128k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp1_output' => 'default',
+ 'udp1_service_name' =>''
],
'udp2' => [
'common_backend' => 'disable',
@@ -82,7 +86,9 @@ $defaults = [
'audio_format' => 'mp2',
'audio_data_rate' => '96k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp2_output' => 'default',
+ 'udp2_service_name' =>''
],
'srt' => [
'common_backend' => 'enable',
@@ -180,6 +186,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$new['udp0']['audio_sample_rate'] = $get('udp0_audio_sample_rate', $defaults['udp0']['audio_sample_rate']);
$new['udp0']['udp'] = $get('udp0_ip', $defaults['udp0']['udp']);
$new['udp0']['common_backend'] = $get('udp0_common_backend', $defaults['udp0']['common_backend']);
+ $new['udp0']['service_udp0_output'] = $get('service_udp0_output', $defaults['udp0']['service_udp0_output']);
+ $new['udp0']['udp0_service_name'] = $get('udp0_service_name', $defaults['udp0']['udp0_service_name']);
$new['udp1']['format'] = $get('udp1_format', $defaults['udp1']['format']);
$new['udp1']['resolution'] = $get('udp1_resolution', $defaults['udp1']['resolution']);
@@ -193,6 +201,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$new['udp1']['audio_sample_rate'] = $get('udp1_audio_sample_rate', $defaults['udp1']['audio_sample_rate']);
$new['udp1']['udp'] = $get('udp1_ip', $defaults['udp1']['udp']);
$new['udp1']['common_backend'] = $get('udp1_common_backend', $defaults['udp1']['common_backend']);
+ $new['udp1']['service_udp1_output'] = $get('service_udp1_output', $defaults['udp1']['service_udp1_output']);
+ $new['udp1']['udp1_service_name'] = $get('udp1_service_name', $defaults['udp1']['udp1_service_name']);
$new['udp2']['format'] = $get('udp2_format', $defaults['udp2']['format']);
$new['udp2']['resolution'] = $get('udp2_resolution', $defaults['udp2']['resolution']);
@@ -206,6 +216,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$new['udp2']['audio_sample_rate'] = $get('udp2_audio_sample_rate', $defaults['udp2']['audio_sample_rate']);
$new['udp2']['udp'] = $get('udp2_ip', $defaults['udp2']['udp']);
$new['udp2']['common_backend'] = $get('udp2_common_backend', $defaults['udp2']['common_backend']);
+ $new['udp2']['service_udp2_output'] = $get('service_udp2_output', $defaults['udp2']['service_udp2_output']);
+ $new['udp2']['udp2_service_name'] = $get('udp2_service_name', $defaults['udp2']['udp2_service_name']);
$new['srt']['format'] = $get('srt_format', $defaults['srt']['format']);
$new['srt']['resolution'] = $get('srt_resolution', $defaults['srt']['resolution']);
@@ -644,6 +656,19 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+
+
Output Port :
+
+
+
+
+
+
+
+
Common Backend :
@@ -772,6 +797,19 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+
+
Output Port :
+
+
+
+
+
+
+
+
Common Backend :
@@ -900,6 +938,19 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+
+
Output Port :
+
+
+
+
+
+
+
+
Common Backend :
diff --git a/encoder/static.php b/encoder/static.php
index dad0b76..9a4ee52 100755
--- a/encoder/static.php
+++ b/encoder/static.php
@@ -415,7 +415,7 @@ function update_service($which_service)
$input .= ' -vf "format=nv12,hwupload=extra_hw_frames=64,scale_qsv=' . $common_backend_resolution . ',' . setptsFromMs($hdmi_delay_video) . '"';
else
$input .= ' -vf "format=nv12,hwupload=extra_hw_frames=64,scale_qsv=' . $common_backend_resolution . '"';
- $input .= " -c:v h264_qsv -profile:v high -level:v 4.2 "
+ $input .= " -c:v h264_qsv -profile:v high -level:v 4.2 "
. " -b:v " . $common_backend_data_rate
. " -maxrate " . $common_backend_data_rate
. " -bufsize 12M "
@@ -579,7 +579,9 @@ function update_service($which_service)
'audio_format' => 'aac',
'audio_data_rate' => '128k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp0_output' => 'default',
+ 'udp0_service_name' => ''
],
'udp1' => [
'common_backend' => 'disable',
@@ -593,7 +595,9 @@ function update_service($which_service)
'audio_format' => 'mp2',
'audio_data_rate' => '128k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp1_output' => 'default',
+ 'udp1_service_name' => ''
],
'udp2' => [
'common_backend' => 'disable',
@@ -607,7 +611,9 @@ function update_service($which_service)
'audio_format' => 'mp2',
'audio_data_rate' => '96k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp2_output' => 'default',
+ 'udp2_service_name' => ''
],
'srt' => [
'common_backend' => 'enable',
@@ -882,9 +888,19 @@ function update_service($which_service)
. ' -af "volume=' . $data['udp0']['audio_db_gain'] . '"'
. ' -ar ' . $data['udp0']['audio_sample_rate']
. ' ' . $data['udp0']['extra']
- . ' -f mpegts "' . $data['udp0']['udp'] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"';
+ . ' -metadata service_provider=ShreeBhattJI -f mpegts "' . $data['udp0']['udp'] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"';
break;
}
+ if ($$use_common_backend == "use_common_backend" && $data['udp0']['format'] == "h264_qsv") {
+ str_replace("ffmpeg -hwaccel auto -hide_banner -i", "ffmpeg -hwaccel qsv -hwaccel_output_format qsv -hide_banner -i ", $udp0);
+ str_replace("scale", "scale_qsv", $udp0);
+ }
+ if ($data['udp0']['service_udp0_output'] == "usb") {
+ str_replace("pkt_size=1316", "pkt_size=1316&localaddr=172.16.111.111", $udp0);
+ }
+ if ($data['udp0']['udp0_service_name'] != "") {
+ str_replace("-f mpegts", "-metadata service_name=" . $data['udp0']['udp0_service_name'] . " -f mpegts", $udp0);
+ }
$file = "/var/www/encoder-udp0.sh";
file_put_contents($file, $udp0);
exec('sudo systemctl enable encoder-udp0');
@@ -928,9 +944,19 @@ function update_service($which_service)
. ' -af "volume=' . $data['udp1']['audio_db_gain'] . '"'
. ' -ar ' . $data['udp1']['audio_sample_rate']
. ' ' . $data['udp1']['extra']
- . ' -f mpegts "' . $data['udp1']['udp'] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"';
+ . ' -metadata service_provider=ShreeBhattJI -f mpegts "' . $data['udp1']['udp'] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"';
break;
}
+ if ($$use_common_backend == "use_common_backend" && $data['udp1']['format'] == "h264_qsv") {
+ str_replace("ffmpeg -hwaccel auto -hide_banner -i", "ffmpeg -hwaccel qsv -hwaccel_output_format qsv -hide_banner -i ", $udp1);
+ str_replace("scale", "scale_qsv", $udp1);
+ }
+ if ($data['udp1']['service_udp1_output'] == "usb") {
+ str_replace("pkt_size=1316", "pkt_size=1316&localaddr=172.16.111.111", $udp1);
+ }
+ if ($data['udp1']['udp1_service_name'] != "") {
+ str_replace("-f mpegts", "-metadata service_name=" . $data['udp1']['udp1_service_name'] . " -f mpegts", $udp1);
+ }
$file = "/var/www/encoder-udp1.sh";
file_put_contents($file, $udp1);
exec('sudo systemctl enable encoder-udp1');
@@ -973,7 +999,17 @@ function update_service($which_service)
. ' -af "volume=' . $data['udp2']['audio_db_gain'] . '"'
. ' -ar ' . $data['udp2']['audio_sample_rate']
. ' ' . $data['udp2']['extra']
- . ' -f mpegts "' . $data['udp2']['udp'] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"';
+ . ' -metadata service_provider=ShreeBhattJI -f mpegts "' . $data['udp2']['udp'] . '?pkt_size=1316&ttl=4&reuse=1&buffer_size=1048576"';
+ if ($$use_common_backend == "use_common_backend" && $data['udp2']['format'] == "h264_qsv") {
+ str_replace("ffmpeg -hwaccel auto -hide_banner -i", "ffmpeg -hwaccel qsv -hwaccel_output_format qsv -hide_banner -i ", $udp2);
+ str_replace("scale", "scale_qsv", $udp2);
+ }
+ if ($data['udp2']['service_udp2_output'] == "usb") {
+ str_replace("pkt_size=1316", "pkt_size=1316&localaddr=172.16.111.111", $udp2);
+ }
+ if ($data['udp2']['udp2_service_name'] != "") {
+ str_replace("-f mpegts", "-metadata service_name=" . $data['udp2']['udp2_service_name'] . " -f mpegts", $udp2);
+ }
break;
}
$file = "/var/www/encoder-udp2.sh";
@@ -1121,7 +1157,9 @@ function update_service_backend($service, $srt_pass1, $srt_pass2)
'audio_format' => 'aac',
'audio_data_rate' => '128k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp0_output' => 'default',
+ 'udp0_service_name' => ''
],
'udp1' => [
'common_backend' => 'disable',
@@ -1135,7 +1173,9 @@ function update_service_backend($service, $srt_pass1, $srt_pass2)
'audio_format' => 'mp2',
'audio_data_rate' => '128k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp1_output' => 'default',
+ 'udp1_service_name' => ''
],
'udp2' => [
'common_backend' => 'disable',
@@ -1149,7 +1189,9 @@ function update_service_backend($service, $srt_pass1, $srt_pass2)
'audio_format' => 'mp2',
'audio_data_rate' => '96k',
'audio_db_gain' => '0dB',
- 'audio_sample_rate' => '48000'
+ 'audio_sample_rate' => '48000',
+ 'service_udp2_output' => 'default',
+ 'udp2_service_name' => ''
],
'srt' => [
'common_backend' => 'enable',
@@ -1165,12 +1207,12 @@ function update_service_backend($service, $srt_pass1, $srt_pass2)
'audio_sample_rate' => '48000'
],
- 'display' => '1920x1080@60.00',
+ 'display_resolution' => '720x576',
'display_audio' => '0,3',
+ 'display_hdmi_sdi' => 'disable',
'custom_output' => ''
];
-
for ($i = 1; $i <= 11; $i++) {
$defaults['rtmp0_multiple'][$i] = ['url' => '', 'name' => '', 'enabled' => false];
$defaults['rtmp1_multiple'][$i] = ['url' => '', 'name' => '', 'enabled' => false];
diff --git a/encoder/status.php b/encoder/status.php
index 8e0b8d7..75cc9d8 100755
--- a/encoder/status.php
+++ b/encoder/status.php
@@ -36,7 +36,7 @@ $text .= "";
if ($service_rtmp0_multiple == 'enable') {
$text .= "
rtmp://" . $domain . "/shree/bhattji
";
- if ($service_rtmp0_dash == 'enable') {
+ if ($service_rtmp0_hls == 'enable') {
$text .= "http://" . $domain . "/hls/shree/bhattji.m3u8
";
if ($https) {
$text .= "https://" . $domain . "/hls/shree/bhattji.m3u8
";
@@ -52,7 +52,7 @@ if ($service_rtmp0_multiple == 'enable') {
}
if ($service_rtmp1_multiple == 'enable') {
$text .= "rtmp://" . $domain . "/shreeshree/bhattji
";
- if ($service_rtmp1_dash == 'enable') {
+ if ($service_rtmp1_hls == 'enable') {
$text .= "http://" . $domain . "/hls/shreeshree/bhattji.m3u8
";
if ($https) {
$text .= "https://" . $domain . "/hls/shreeshree/bhattji.m3u8
";
@@ -67,7 +67,7 @@ if ($service_rtmp1_multiple == 'enable') {
$text .= "
";
}
-if($service_srt_multiple){
+if ($service_srt_multiple == 'enable') {
$text .= "srt://" . $domain . ":1937?streamid=shree/bhatt/ji
";
}