update
This commit is contained in:
parent
adefce01cb
commit
1f876fb98d
|
|
@ -1,10 +1,17 @@
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
<div class="containerindex">
|
<div class="containerindex">
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
<div class="card wide">
|
<div class="card wide">
|
||||||
<h3>ShreeBhattJi</h3>
|
<h3>ShreeBhattJi</h3>
|
||||||
<p>If you’ve ever read the Panchatantra, a few stories begin like this: “Once upon a time, there lived a poor Brahmin in a village.” In this story, that Brahmin is me — ShreeBhattJi, also known as Devdatt Bhatt, the King of Automation and Remote Control from the land of great beginnings, Bhavnagar.
|
<p>If you ever read the Panchatantra, a few stories begin like this: “Once upon a time, there lived a poor Brahmin in a village.” In this story, that Brahmin is me — ShreeBhattJi, also known as Devdatt Bhatt, the King of Automation and Remote Control from the land of great beginnings, Bhavnagar.
|
||||||
<p>I am here to help provide a great viewing experience for users, generate strong commissions for LCOs, MSOs, and ISPs, and create substantial revenue for content owners while contributing fair taxes to the government. I have reason to believe that by upgrading a few devices at the transmission point, both streaming operations and customer viewing experiences can be improved exponentially.
|
<p>I am here to help provide a great viewing experience for users, generate strong commissions for LCOs, MSOs, and ISPs, and create substantial revenue for content owners while contributing fair taxes to the government. I have reason to believe that by upgrading a few devices at the transmission point, both streaming operations and customer viewing experiences can be improved exponentially.
|
||||||
<p>We are proud to present Universal Digital Encoder Decoder as all format to all format encoder cum decoder for dedicated hardware , virtual machines and proxmox lxc images .
|
<p>We are proud to present Universal Digital Encoder Decoder as all format to all format encoder cum decoder for dedicated hardware , virtual machines and proxmox lxc images .
|
||||||
<p><a href="https://urmic.org/trusted-partners/" target="_blank"><button class="red-btn">Meet Our Partners</button></a>
|
<p><a href="https://urmic.org/trusted-partners/" target="_blank"><button class="red-btn">Meet Our Partners</button></a>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,12 @@
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
<div class="containerindex">
|
<div class="containerindex">
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
<div class="card wide">
|
<div class="card wide">
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,14 @@
|
||||||
<?php include 'header.php' ?>
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
include 'header.php' ?>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$jsonFile = __DIR__ . '/firewall.json';
|
$jsonFile = __DIR__ . '/firewall.json';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
exec("sudo chmod 444 /sys/class/dmi/id/product_uuid");
|
exec("sudo chmod 444 /sys/class/dmi/id/product_uuid");
|
||||||
$version = 1;
|
$version = 1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
session_start();
|
session_start();
|
||||||
|
|
@ -9,10 +19,12 @@ $clientIp = $_SERVER['REMOTE_ADDR'] ?? '';
|
||||||
$usersFile = '/var/www/users.json';
|
$usersFile = '/var/www/users.json';
|
||||||
|
|
||||||
/* ---------- helpers ---------- */
|
/* ---------- helpers ---------- */
|
||||||
function load_json(string $file): array {
|
function load_json(string $file): array
|
||||||
|
{
|
||||||
return is_file($file) ? json_decode(file_get_contents($file), true) ?: [] : [];
|
return is_file($file) ? json_decode(file_get_contents($file), true) ?: [] : [];
|
||||||
}
|
}
|
||||||
function save_json(string $file, array $data): void {
|
function save_json(string $file, array $data): void
|
||||||
|
{
|
||||||
file_put_contents($file, json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);
|
file_put_contents($file, json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,6 +68,7 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
@ -115,11 +128,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 2px;
|
width: 2px;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
background: linear-gradient(
|
background: linear-gradient(to bottom,
|
||||||
to bottom,
|
|
||||||
rgba(255, 255, 255, 0.9),
|
rgba(255, 255, 255, 0.9),
|
||||||
rgba(255, 255, 255, 0)
|
rgba(255, 255, 255, 0));
|
||||||
);
|
|
||||||
opacity: 0.55;
|
opacity: 0.55;
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
filter: blur(0.3px);
|
filter: blur(0.3px);
|
||||||
|
|
@ -133,6 +144,7 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
0% {
|
0% {
|
||||||
transform: translate3d(0, -120px, 0);
|
transform: translate3d(0, -120px, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
transform: translate3d(0, 110vh, 0);
|
transform: translate3d(0, 110vh, 0);
|
||||||
}
|
}
|
||||||
|
|
@ -146,12 +158,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
padding: 2.5rem 2rem;
|
padding: 2.5rem 2rem;
|
||||||
border-radius: 1.75rem;
|
border-radius: 1.75rem;
|
||||||
border: 1px solid rgba(148, 163, 184, 0.6);
|
border: 1px solid rgba(148, 163, 184, 0.6);
|
||||||
background: linear-gradient(
|
background: linear-gradient(135deg,
|
||||||
135deg,
|
|
||||||
rgba(15, 23, 42, 0.9),
|
rgba(15, 23, 42, 0.9),
|
||||||
rgba(15, 23, 42, 0.7)
|
rgba(15, 23, 42, 0.7)) border-box;
|
||||||
)
|
|
||||||
border-box;
|
|
||||||
backdrop-filter: blur(16px);
|
backdrop-filter: blur(16px);
|
||||||
box-shadow:
|
box-shadow:
|
||||||
0 20px 60px rgba(15, 23, 42, 0.7),
|
0 20px 60px rgba(15, 23, 42, 0.7),
|
||||||
|
|
@ -171,11 +180,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
letter-spacing: 0.12em;
|
letter-spacing: 0.12em;
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
background: linear-gradient(
|
background: linear-gradient(90deg,
|
||||||
90deg,
|
|
||||||
rgba(59, 130, 246, 0.6),
|
rgba(59, 130, 246, 0.6),
|
||||||
rgba(34, 197, 94, 0.75)
|
rgba(34, 197, 94, 0.75));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.badge-dot {
|
.badge-dot {
|
||||||
|
|
@ -192,12 +199,10 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
|
||||||
h1 span.highlight {
|
h1 span.highlight {
|
||||||
font-size: clamp(1.1rem, 2vw, 1.8rem);
|
font-size: clamp(1.1rem, 2vw, 1.8rem);
|
||||||
background-image: linear-gradient(
|
background-image: linear-gradient(120deg,
|
||||||
120deg,
|
|
||||||
#22c55e,
|
#22c55e,
|
||||||
#a855f7,
|
#a855f7,
|
||||||
#f97316
|
#f97316);
|
||||||
);
|
|
||||||
background-clip: text;
|
background-clip: text;
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
|
|
@ -229,11 +234,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
border: 1px solid rgba(148, 163, 184, 0.8);
|
border: 1px solid rgba(148, 163, 184, 0.8);
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
color: #e5e7eb;
|
color: #e5e7eb;
|
||||||
background: radial-gradient(
|
background: radial-gradient(circle at top left,
|
||||||
circle at top left,
|
|
||||||
rgba(59, 130, 246, 0.22),
|
rgba(59, 130, 246, 0.22),
|
||||||
rgba(15, 23, 42, 0.7)
|
rgba(15, 23, 42, 0.7));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
|
|
@ -334,24 +337,21 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
name="username"
|
name="username"
|
||||||
placeholder="New Username"
|
placeholder="New Username"
|
||||||
required
|
required
|
||||||
style="padding:0.7rem;border-radius:0.5rem;border:none"
|
style="padding:0.7rem;border-radius:0.5rem;border:none" />
|
||||||
/>
|
|
||||||
|
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
name="password"
|
name="password"
|
||||||
placeholder="New Password"
|
placeholder="New Password"
|
||||||
required
|
required
|
||||||
style="padding:0.7rem;border-radius:0.5rem;border:none"
|
style="padding:0.7rem;border-radius:0.5rem;border:none" />
|
||||||
/>
|
|
||||||
|
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
name="confirm"
|
name="confirm"
|
||||||
placeholder="Confirm Password"
|
placeholder="Confirm Password"
|
||||||
required
|
required
|
||||||
style="padding:0.7rem;border-radius:0.5rem;border:none"
|
style="padding:0.7rem;border-radius:0.5rem;border:none" />
|
||||||
/>
|
|
||||||
|
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
|
|
@ -405,4 +405,5 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1,4 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
require 'require_login.php';
|
require 'require_login.php';
|
||||||
include 'static.php';
|
include 'static.php';
|
||||||
?>
|
?>
|
||||||
|
|
@ -409,12 +419,14 @@ include 'static.php';
|
||||||
.form-center {
|
.form-center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.social-row {
|
.social-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.social-btn {
|
.social-btn {
|
||||||
width: 67px;
|
width: 67px;
|
||||||
height: 67px;
|
height: 67px;
|
||||||
|
|
@ -425,9 +437,26 @@ include 'static.php';
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
transition: transform .12s, box-shadow .12s;
|
transition: transform .12s, box-shadow .12s;
|
||||||
}
|
}
|
||||||
.social-btn:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
|
|
||||||
.social-btn svg { width: 22px; height: 22px; display: block; }
|
.social-btn:hover {
|
||||||
.sr-only { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
|
transform: translateY(-3px);
|
||||||
|
box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-btn svg {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sr-only {
|
||||||
|
position: absolute;
|
||||||
|
left: -10000px;
|
||||||
|
top: auto;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
<?php include 'header.php'; ?>
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
|
include 'header.php'; ?>
|
||||||
|
|
||||||
<div class="containerindex">
|
<div class="containerindex">
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
<?php include 'header.php'; ?>
|
<?php
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
include 'header.php'; ?>
|
||||||
<?php
|
<?php
|
||||||
$coreFile = "/var/www/core.json";
|
$coreFile = "/var/www/core.json";
|
||||||
|
|
||||||
|
|
@ -161,7 +170,7 @@ function all_service_update()
|
||||||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||||
|
|
@ -212,7 +221,7 @@ function all_service_start()
|
||||||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||||
|
|
@ -306,7 +315,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||||
|
|
@ -374,7 +383,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
|
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
|
||||||
header('Pragma: no-cache');
|
header('Pragma: no-cache');
|
||||||
header('Expires: 0');
|
header('Expires: 0');
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
$_SESSION = [];
|
$_SESSION = [];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
include 'header.php';
|
include 'header.php';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
<?php include 'header.php'; ?>
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
|
include 'header.php'; ?>
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
--accent: #0b74de;
|
--accent: #0b74de;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
// auth/require_login.php
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
session_start();
|
session_start();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
|
||||||
function generateRandomString($length = 16)
|
function generateRandomString($length = 16)
|
||||||
{
|
{
|
||||||
$bytes = random_bytes(ceil($length / 2));
|
$bytes = random_bytes(ceil($length / 2));
|
||||||
|
|
@ -287,4 +296,3 @@ function netplan_yaml(array $data, int $indent = 0): string
|
||||||
|
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
<?php include 'header.php'; ?>
|
<?php
|
||||||
|
/*
|
||||||
|
Urmi you happy me happy licence
|
||||||
|
|
||||||
|
Copyright (c) 2026 shreebhattji
|
||||||
|
|
||||||
|
License text:
|
||||||
|
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||||
|
*/
|
||||||
|
include 'header.php'; ?>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$domain = "";
|
$domain = "";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue