update
This commit is contained in:
parent
62c48e3e00
commit
32ebed41cf
|
|
@ -17,79 +17,79 @@ $defaults = [
|
||||||
'service_srt_multiple' => 'disable',
|
'service_srt_multiple' => 'disable',
|
||||||
'service_custom' => 'disable',
|
'service_custom' => 'disable',
|
||||||
|
|
||||||
'rtmp0_multiple' => [],
|
'rtmp_multiple0' => [],
|
||||||
'rtmp1_multiple' => [],
|
'rtmp_multiple1' => [],
|
||||||
'srt_multiple' => [],
|
'srt_multiple' => [],
|
||||||
'rtmp0' => [
|
'rtmp0' => [
|
||||||
'resolution' => '',
|
'resolution' => '1920x1080',
|
||||||
'data_rate' => '',
|
'data_rate' => '6M',
|
||||||
'framerate' => '',
|
'framerate' => '30',
|
||||||
'gop' => '',
|
'gop' => '30',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '128k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'rtmp1' => [
|
'rtmp1' => [
|
||||||
'resolution' => '',
|
'resolution' => '720x576',
|
||||||
'data_rate' => '',
|
'data_rate' => '1.5M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '96k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'udp0' => [
|
'udp0' => [
|
||||||
'udp' => '',
|
'udp' => 'udp://@224.1.1.1:8001',
|
||||||
'format' => '',
|
'formate' => 'h264_qsv',
|
||||||
'resolution' => '',
|
'resolution' => '1280x720',
|
||||||
'data_rate' => '',
|
'data_rate' => '2.2M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_format' => '',
|
'audio_formate' => 'aac',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '128k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'udp1' => [
|
'udp1' => [
|
||||||
'udp' => '',
|
'udp' => 'udp://@224.1.1.1:8001',
|
||||||
'format' => '',
|
'formate' => 'h264_qsv',
|
||||||
'resolution' => '',
|
'resolution' => '720x576',
|
||||||
'data_rate' => '',
|
'data_rate' => '1.5M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_format' => '',
|
'audio_formate' => 'mp2',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '128k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'udp2' => [
|
'udp2' => [
|
||||||
'udp' => '',
|
'udp' => 'udp://@224.1.1.1:8002',
|
||||||
'format' => '',
|
'formate' => 'mpeg2video',
|
||||||
'resolution' => '',
|
'resolution' => '720x576',
|
||||||
'data_rate' => '',
|
'data_rate' => '3M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_format' => '',
|
'audio_formate' => 'mp2',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '96k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'srt' => [
|
'srt0' => [
|
||||||
'format' => '',
|
'formate' => 'mpeg2video',
|
||||||
'resolution' => '',
|
'resolution' => '1920x1080',
|
||||||
'data_rate' => '',
|
'data_rate' => '6M',
|
||||||
'framerate' => '',
|
'framerate' => '50',
|
||||||
'gop' => '',
|
'gop' => '50',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_format' => '',
|
'audio_formate' => 'aac',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '256k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
|
|
||||||
'display' => '1920x1080@60.00',
|
'display' => '1920x1080@60.00',
|
||||||
|
|
|
||||||
|
|
@ -117,55 +117,55 @@ function update_service($which_service)
|
||||||
'audio_sample_rate' => '48000'
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'udp0' => [
|
'udp0' => [
|
||||||
'udp' => '',
|
'udp' => 'udp://@224.1.1.1:8001',
|
||||||
'formate' => '',
|
'formate' => 'h264_qsv',
|
||||||
'resolution' => '',
|
'resolution' => '1280x720',
|
||||||
'data_rate' => '',
|
'data_rate' => '2.2M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_formate' => '',
|
'audio_formate' => 'aac',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '128k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'udp1' => [
|
'udp1' => [
|
||||||
'udp' => '',
|
'udp' => 'udp://@224.1.1.1:8001',
|
||||||
'formate' => '',
|
'formate' => 'h264_qsv',
|
||||||
'resolution' => '',
|
'resolution' => '720x576',
|
||||||
'data_rate' => '',
|
'data_rate' => '1.5M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_formate' => '',
|
'audio_formate' => 'mp2',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '128k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'udp2' => [
|
'udp2' => [
|
||||||
'udp' => '',
|
'udp' => 'udp://@224.1.1.1:8002',
|
||||||
'formate' => '',
|
'formate' => 'mpeg2video',
|
||||||
'resolution' => '',
|
'resolution' => '720x576',
|
||||||
'data_rate' => '',
|
'data_rate' => '3M',
|
||||||
'framerate' => '',
|
'framerate' => '25',
|
||||||
'gop' => '',
|
'gop' => '25',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_formate' => '',
|
'audio_formate' => 'mp2',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '96k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
'srt0' => [
|
'srt0' => [
|
||||||
'formate' => '',
|
'formate' => 'mpeg2video',
|
||||||
'resolution' => '',
|
'resolution' => '1920x1080',
|
||||||
'data_rate' => '',
|
'data_rate' => '6M',
|
||||||
'framerate' => '',
|
'framerate' => '50',
|
||||||
'gop' => '',
|
'gop' => '50',
|
||||||
'extra' => '',
|
'extra' => '',
|
||||||
'audio_formate' => '',
|
'audio_formate' => 'aac',
|
||||||
'audio_data_rate' => '',
|
'audio_data_rate' => '256k',
|
||||||
'audio_db_gain' => '',
|
'audio_db_gain' => '0dB',
|
||||||
'audio_sample_rate' => ''
|
'audio_sample_rate' => '48000'
|
||||||
],
|
],
|
||||||
|
|
||||||
'display' => '1920x1080@60.00',
|
'display' => '1920x1080@60.00',
|
||||||
|
|
@ -364,7 +364,7 @@ http {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($service_rtmp0_multiple === "enable") {
|
if ($service_rtmp0_multiple === "enable") {
|
||||||
$rtmp = 'ffmpeg -hwaccel auto -hide_banner -fflags nobuffer -i "udp://@239.255.254.254:39000?fifo_size=5000000&overrun_nonfatal=1&localaddr=127.0.0.1" '
|
$rtmp = 'ffmpeg -hwaccel auto -hide_banner -fflags nobuffer -flags low_delay -tune zerolatency -i "udp://@239.255.254.254:39000?fifo_size=5000000&overrun_nonfatal=1&localaddr=127.0.0.1" '
|
||||||
. ' -c:v h264_qsv '
|
. ' -c:v h264_qsv '
|
||||||
. ' -vf "scale=' . str_replace("x", ":", $data['rtmp0']['resolution'])
|
. ' -vf "scale=' . str_replace("x", ":", $data['rtmp0']['resolution'])
|
||||||
. '" -b:v ' . $data['rtmp0']['data_rate']
|
. '" -b:v ' . $data['rtmp0']['data_rate']
|
||||||
|
|
@ -373,7 +373,7 @@ http {
|
||||||
. ' -r ' . $data['rtmp0']['framerate']
|
. ' -r ' . $data['rtmp0']['framerate']
|
||||||
. ' -g ' . $data['rtmp0']['gop']
|
. ' -g ' . $data['rtmp0']['gop']
|
||||||
. ' -c:a aac -b:a ' . $data['rtmp0']['audio_data_rate']
|
. ' -c:a aac -b:a ' . $data['rtmp0']['audio_data_rate']
|
||||||
. ' ' . $data['rtmp0']['audio_db_gain']
|
. ' -af "volume=' . $data['rtmp0']['audio_db_gain'] . '"'
|
||||||
. ' -ar ' . $data['rtmp0']['audio_sample_rate']
|
. ' -ar ' . $data['rtmp0']['audio_sample_rate']
|
||||||
. ' ' . $data['rtmp0']['extra']
|
. ' ' . $data['rtmp0']['extra']
|
||||||
. ' -f flv rtmp://127.0.0.1/shree/bhattji';
|
. ' -f flv rtmp://127.0.0.1/shree/bhattji';
|
||||||
|
|
@ -397,7 +397,7 @@ http {
|
||||||
. ' -r ' . $data['rtmp1']['framerate']
|
. ' -r ' . $data['rtmp1']['framerate']
|
||||||
. ' -g ' . $data['rtmp1']['gop']
|
. ' -g ' . $data['rtmp1']['gop']
|
||||||
. ' -c:a aac -b:a ' . $data['rtmp1']['audio_data_rate']
|
. ' -c:a aac -b:a ' . $data['rtmp1']['audio_data_rate']
|
||||||
. ' ' . $data['rtmp1']['audio_db_gain']
|
. ' -af "volume=' . $data['rtmp1']['audio_db_gain'] . '"'
|
||||||
. ' -ar ' . $data['rtmp1']['audio_sample_rate']
|
. ' -ar ' . $data['rtmp1']['audio_sample_rate']
|
||||||
. ' ' . $data['rtmp1']['extra']
|
. ' ' . $data['rtmp1']['extra']
|
||||||
. ' -f flv rtmp://127.0.0.1/shreeshree/bhattji';
|
. ' -f flv rtmp://127.0.0.1/shreeshree/bhattji';
|
||||||
|
|
@ -457,7 +457,7 @@ srt {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
";
|
";
|
||||||
$service = 'ffmpeg -hwaccel auto -fflags nobuffer -i udp://@239.255.254.254:39000 -c copy -f mpeg srt://127.0.0.1/' . $srt_pass1 . '/' . $srt_pass2 . '/ji';
|
$service = 'ffmpeg -hwaccel auto -fflags nobuffer -i udp://@239.255.254.254:39000 -c copy -f mpegts srt://127.0.0.1/' . $srt_pass1 . '/' . $srt_pass2 . '/ji';
|
||||||
$file = "/var/www/encoder-srt.sh";
|
$file = "/var/www/encoder-srt.sh";
|
||||||
file_put_contents($file, $service);
|
file_put_contents($file, $service);
|
||||||
|
|
||||||
|
|
@ -487,7 +487,7 @@ srt {
|
||||||
. ' -g ' . $data['udp0']['gop']
|
. ' -g ' . $data['udp0']['gop']
|
||||||
. ' -c:a ' . $data['udp0']['audio_formate']
|
. ' -c:a ' . $data['udp0']['audio_formate']
|
||||||
. ' -b:a ' . $data['udp0']['audio_data_rate']
|
. ' -b:a ' . $data['udp0']['audio_data_rate']
|
||||||
. ' ' . $data['udp0']['audio_db_gain']
|
. ' -af "volume=' . $data['udp0']['audio_db_gain'] . '"'
|
||||||
. ' -ar ' . $data['udp0']['audio_sample_rate']
|
. ' -ar ' . $data['udp0']['audio_sample_rate']
|
||||||
. ' ' . $data['udp0']['extra']
|
. ' ' . $data['udp0']['extra']
|
||||||
. ' -f mpegts ' . $data['udp0']['udp'];
|
. ' -f mpegts ' . $data['udp0']['udp'];
|
||||||
|
|
@ -512,7 +512,7 @@ srt {
|
||||||
. ' -g ' . $data['udp1']['gop']
|
. ' -g ' . $data['udp1']['gop']
|
||||||
. ' -c:a ' . $data['udp1']['audio_formate']
|
. ' -c:a ' . $data['udp1']['audio_formate']
|
||||||
. ' -b:a ' . $data['udp1']['audio_data_rate']
|
. ' -b:a ' . $data['udp1']['audio_data_rate']
|
||||||
. ' ' . $data['udp1']['audio_db_gain']
|
. ' -af "volume=' . $data['udp1']['audio_db_gain'] . '"'
|
||||||
. ' -ar ' . $data['udp1']['audio_sample_rate']
|
. ' -ar ' . $data['udp1']['audio_sample_rate']
|
||||||
. ' ' . $data['udp1']['extra']
|
. ' ' . $data['udp1']['extra']
|
||||||
. ' -f mpegts ' . $data['udp1']['udp'];
|
. ' -f mpegts ' . $data['udp1']['udp'];
|
||||||
|
|
@ -537,7 +537,7 @@ srt {
|
||||||
. ' -g ' . $data['udp2']['gop']
|
. ' -g ' . $data['udp2']['gop']
|
||||||
. ' -c:a ' . $data['udp2']['audio_formate']
|
. ' -c:a ' . $data['udp2']['audio_formate']
|
||||||
. ' -b:a ' . $data['udp2']['audio_data_rate']
|
. ' -b:a ' . $data['udp2']['audio_data_rate']
|
||||||
. ' ' . $data['udp2']['audio_db_gain']
|
. ' -af "volume=' . $data['udp2']['audio_db_gain'] . '"'
|
||||||
. ' -ar ' . $data['udp2']['audio_sample_rate']
|
. ' -ar ' . $data['udp2']['audio_sample_rate']
|
||||||
. ' ' . $data['udp2']['extra']
|
. ' ' . $data['udp2']['extra']
|
||||||
. ' -f mpegts ' . $data['udp2']['udp'];
|
. ' -f mpegts ' . $data['udp2']['udp'];
|
||||||
|
|
|
||||||
|
|
@ -26,16 +26,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
case 'rtmp0':
|
case 'rtmp0':
|
||||||
switch ($data[1]) {
|
switch ($data[1]) {
|
||||||
case 'restart':
|
case 'restart':
|
||||||
exec('sudo systemctl enable encoder-rtmp');
|
exec('sudo systemctl enable encoder-rtmp0');
|
||||||
exec('sudo systemctl restart encoder-rtmp');
|
exec('sudo systemctl restart encoder-rtmp0');
|
||||||
break;
|
break;
|
||||||
case 'enable':
|
case 'enable':
|
||||||
exec('sudo systemctl enable encoder-rtmp');
|
exec('sudo systemctl enable encoder-rtmp0');
|
||||||
exec('sudo systemctl restart encoder-rtmp');
|
exec('sudo systemctl restart encoder-rtmp0');
|
||||||
break;
|
break;
|
||||||
case 'disable':
|
case 'disable':
|
||||||
exec('sudo systemctl stop encoder-rtmp');
|
exec('sudo systemctl stop encoder-rtmp0');
|
||||||
exec('sudo systemctl disable encoder-rtmp');
|
exec('sudo systemctl disable encoder-rtmp0');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue