upadte ui

This commit is contained in:
devdatt 2025-12-08 02:07:51 +05:30
parent 8733302753
commit cbab4e2fcb
3 changed files with 83 additions and 62 deletions

View File

@ -189,6 +189,87 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
</div> </div>
</div> </div>
<div class="card wide">
<h3>Common BackEnd</h3>
<div class="grid">
<div class="card">
<div class="dropdown-container">
<span class="dropdown-label">Resolution :</span>
<div class="dropdown">
<select name="common_input_resolution" id="common_input_resolution">
<option value="720x480" <?php if ($data['common_input']['resolution'] == '720x480') echo 'selected'; ?>>480p 720x480 NTSC DVD</option>
<option value="720x576" <?php if ($data['common_input']['resolution'] == '720x576') echo 'selected'; ?>>576p 720x576 PAL DVD</option>
<option value="1280x720" <?php if ($data['common_input']['resolution'] == '1280x720') echo 'selected'; ?>>720p 1280x720 HD</option>
<option value="1920x1080" <?php if ($data['common_input']['resolution'] == '1920x1080') echo 'selected'; ?>>1080p 1920x1080 FHD</option>
<option value="2560x1440" <?php if ($data['common_input']['resolution'] == '2560x1440') echo 'selected'; ?>>2k 2560x1440 QHD</option>
<option value="2048x1080" <?php if ($data['common_input']['resolution'] == '2048x1080') echo 'selected'; ?>>2k 2048x1080 DCI 2K</option>
<option value="3840x2160" <?php if ($data['common_input']['resolution'] == '3840x2160') echo 'selected'; ?>>4k 3840x2160 UHD</option>
<option value="4096x2160" <?php if ($data['common_input']['resolution'] == '4096x2160') echo 'selected'; ?>>4k 4096x2160 DCI 4K</option>
<option value="7680x4320" <?php if ($data['common_input']['resolution'] == '7680x4320') echo 'selected'; ?>>8k 7680x4320 UHD 8K</option>
<option value="8192x4320" <?php if ($data['common_input']['resolution'] == '8192x4320') echo 'selected'; ?>>8k 8192x4320 DCI 8K</option>
</select>
</div>
</div>
<div class="input-group">
<input type="text" id="common_input_data_rate" name="common_input_data_rate" placeholder="5M" value="<?php echo htmlspecialchars($data['common_input']['data_rate']); ?>">
<label for="common_input_data_rate">Data Rate :</label>
</div>
<div class="input-group">
<input type="text" id="common_input_framerate" name="common_input_framerate" placeholder="25" value="<?php echo htmlspecialchars($data['common_input']['framerate']); ?>">
<label for="common_input_framerate">Framerate :</label>
</div>
<div class="input-group">
<input type="text" id="common_input_gop" name="common_input_gop" placeholder="12" value="<?php echo htmlspecialchars($data['common_input']['gop']); ?>">
<label for="common_input_gop">GOP :</label>
</div>
</div>
<div class="card">
<div class="dropdown-container">
<span class="dropdown-label">DB Gain :</span>
<div class="dropdown">
<select name="common_input_audio_db_gain" id="common_input_audio_db_gain">
<option value="-25dB" <?php if ($data['common_input']['audio_db_gain'] == '-25dB') echo 'selected'; ?>>-25dB</option>
<option value="-20dB" <?php if ($data['common_input']['audio_db_gain'] == '-20dB') echo 'selected'; ?>>-20dB</option>
<option value="-15dB" <?php if ($data['common_input']['audio_db_gain'] == '-15dB') echo 'selected'; ?>>-15dB</option>
<option value="-10dB" <?php if ($data['common_input']['audio_db_gain'] == '-10dB') echo 'selected'; ?>>-10dB</option>
<option value="-6dB" <?php if ($data['common_input']['audio_db_gain'] == '-6dB') echo 'selected'; ?>>-6dB</option>
<option value="-5dB" <?php if ($data['common_input']['audio_db_gain'] == '-5dB') echo 'selected'; ?>>-5dB</option>
<option value="-4dB" <?php if ($data['common_input']['audio_db_gain'] == '-4dB') echo 'selected'; ?>>-4dB</option>
<option value="-3dB" <?php if ($data['common_input']['audio_db_gain'] == '-3dB') echo 'selected'; ?>>-3dB</option>
<option value="-2dB" <?php if ($data['common_input']['audio_db_gain'] == '-2dB') echo 'selected'; ?>>-2dB</option>
<option value="-1dB" <?php if ($data['common_input']['audio_db_gain'] == '-1dB') echo 'selected'; ?>>-1dB</option>
<option value="0dB" <?php if ($data['common_input']['audio_db_gain'] == '0dB') echo 'selected'; ?>>0dB</option>
<option value="1dB" <?php if ($data['common_input']['audio_db_gain'] == '1dB') echo 'selected'; ?>>1dB</option>
<option value="2dB" <?php if ($data['common_input']['audio_db_gain'] == '2dB') echo 'selected'; ?>>2dB</option>
<option value="3dB" <?php if ($data['common_input']['audio_db_gain'] == '3dB') echo 'selected'; ?>>3dB</option>
<option value="4dB" <?php if ($data['common_input']['audio_db_gain'] == '4dB') echo 'selected'; ?>>4dB</option>
<option value="5dB" <?php if ($data['common_input']['audio_db_gain'] == '5dB') echo 'selected'; ?>>5dB</option>
<option value="6dB" <?php if ($data['common_input']['audio_db_gain'] == '6dB') echo 'selected'; ?>>6dB</option>
<option value="10dB" <?php if ($data['common_input']['audio_db_gain'] == '10dB') echo 'selected'; ?>>10dB</option>
<option value="15dB" <?php if ($data['common_input']['audio_db_gain'] == '15dB') echo 'selected'; ?>>15dB</option>
<option value="20dB" <?php if ($data['common_input']['audio_db_gain'] == '20dB') echo 'selected'; ?>>20dB</option>
<option value="25dB" <?php if ($data['common_input']['audio_db_gain'] == '25dB') echo 'selected'; ?>>25dB</option>
</select>
</div>
</div>
<p></p>
<div class="input-group">
<input type="text" id="common_input_audio_data_rate" name="common_input_audio_data_rate" placeholder="96k" value="<?php echo htmlspecialchars($data['common_input']['audio_data_rate']); ?>">
<label for="common_input_audio_data_rate">Bit Rate :</label>
</div>
<div class="input-group">
<input type="text" id="common_input_audio_sample_rate" name="common_input_audio_sample_rate" placeholder="48000" value="<?php echo htmlspecialchars($data['common_input']['audio_sample_rate']); ?>">
<label for="rtmp1_audio_sampcommon_input_audio_sample_ratele_rate">Sample Rate :</label>
</div>
</div>
</div>
<div class="input-group">
<input type="text" id="common_input_extra" name="common_input_extra" value="<?php echo htmlspecialchars($data['common_input']['extra']); ?>">
<label for="common_input_extra">Extra :</label>
</div>
</div>
<div style="text-align:center; width:100%; margin-top:12px;"> <div style="text-align:center; width:100%; margin-top:12px;">
<button type="submit" style="background:#c00;color:#fff;padding:10px 20px;border:none;font-weight:bold;border-radius:6px;">Save</button> <button type="submit" style="background:#c00;color:#fff;padding:10px 20px;border:none;font-weight:bold;border-radius:6px;">Save</button>
</div> </div>

View File

@ -63,15 +63,7 @@ function update_service($which_service)
switch ($input_source) { switch ($input_source) {
case "hdmi": case "hdmi":
$ustreamer = "ustreamer --device /dev/video0 --format MJPEG --resolution " . $data['hdmi']['resolution'] . " -f " . $data['hdmi']['framerate'] . ' --workers 3 --host 0.0.0.0 --port 9090 '; $input .= "ffmpeg -hide_banner -stream_loop -1 -re -i " . $data['url'];
$file = "/var/www/ustreamer.sh";
if (file_put_contents($file, $ustreamer) !== false) {
echo "File saved.";
} else {
echo "Error writing file.";
}
exec('sudo systemctl enable ustreamer');
exec('sudo systemctl restart ustreamer');
break; break;
case "url": case "url":
$input .= "ffmpeg -hide_banner -stream_loop -1 -re -i " . $data['url']; $input .= "ffmpeg -hide_banner -stream_loop -1 -re -i " . $data['url'];
@ -218,10 +210,7 @@ function update_service($which_service)
switch ($which_service) { switch ($which_service) {
case 'input': case 'input':
if ($input_source == 'hdmi') $input .= ' -c:v copy -c:a copy -f mpegts "udp://@239.255.254.254:39000?fifo_size=5000000&overrun_nonfatal=1&localaddr=127.0.0.1&ttl=1" ';
$input = "ffmpeg -hide_banner -stream_loop -1 -f alsa -i " . $hdmi_source . " -c:a aac -b:a 256k -f mpegts udp://@239.255.254.254:39000?fifo_size=5000000&overrun_nonfatal=1&localaddr=127.0.0.1&ttl=1";
else
$input .= " -c:v copy -c:a copy -f mpegts udp://@239.255.254.254:39000?fifo_size=5000000&overrun_nonfatal=1&localaddr=127.0.0.1&ttl=1";
$service = $input; $service = $input;
$file = "/var/www/encoder-main.sh"; $file = "/var/www/encoder-main.sh";
if (file_put_contents($file, $service) !== false) { if (file_put_contents($file, $service) !== false) {

View File

@ -198,52 +198,6 @@ Environment=PATH=/usr/bin:/usr/local/bin
WantedBy=multi-user.target WantedBy=multi-user.target
EOL EOL
cat > /etc/systemd/system/mediamtx.service<< 'EOL'
[Unit]
Description= UDP Encoder by ShreeBhattJi
[Service]
WorkingDirectory=/var/lib/mediamtx
ExecStart=/usr/local/bin/mediamtx -f /etc/mediamtx.yml
Restart=on-failure
RestartSec=5
WatchdogSec=30
LimitNOFILE=65536
User=root
[Install]
WantedBy=multi-user.target
EOL
cat > /etc/systemd/system/ustreamer.service<< 'EOL'
[Unit]
Description= UDP Encoder by ShreeBhattJi
[Service]
ExecStart=/bin/bash /var/www/ustreamer.sh
WorkingDirectory=/var/www/
Restart=always
User=root
Environment=PATH=/usr/bin:/usr/local/bin
[Install]
WantedBy=multi-user.target
EOL
sudo mv mediamtx /usr/local/bin/mediamtx
sudo chmod +x /usr/local/bin/mediamtx
sudo mkdir -p /var/lib/mediamtx
# /etc/mediamtx.yml
cat > /etc/mediamtx.yml<< 'EOL'
paths:
mystream:
publish: yes
EOL
# graph monitor setup # graph monitor setup
cat > /etc/systemd/system/system-monitor.service<< 'EOL' cat > /etc/systemd/system/system-monitor.service<< 'EOL'
[Unit] [Unit]
@ -415,7 +369,6 @@ server {
EOL EOL
rm /var/www/html/index.nginx-debian.html; rm /var/www/html/index.nginx-debian.html;
sudo mkdir -p /var/lib/mediamtx;
sudo mkdir -p /var/www/html/hls/shree; sudo mkdir -p /var/www/html/hls/shree;
sudo mkdir -p /var/www/html/dash/shree; sudo mkdir -p /var/www/html/dash/shree;
sudo mkdir -p /var/www/html/hls/shreeshree; sudo mkdir -p /var/www/html/hls/shreeshree;
@ -435,8 +388,6 @@ sudo systemctl enable --now system-monitor.service
sudo systemctl status system-monitor.service --no-pager sudo systemctl status system-monitor.service --no-pager
sudo systemctl enable --now nginx.service sudo systemctl enable --now nginx.service
sudo systemctl status nginx.service --no-pager sudo systemctl status nginx.service --no-pager
sudo systemctl enable --now mediamtx.service
sudo systemctl restart mediamtx.service --no-pager
sudo chmod 777 -R /var/www sudo chmod 777 -R /var/www
sudo chown -R www-data:www-data /var/www sudo chown -R www-data:www-data /var/www