Spaces:
Paused
Paused
Update streamlit_app.py
Browse files- streamlit_app.py +13 -13
streamlit_app.py
CHANGED
|
@@ -64,7 +64,7 @@ def get_tiktok_stream_url():
|
|
| 64 |
def start_stream_stable(stream_key, stream_url):
|
| 65 |
if not stream_key or not stream_url:
|
| 66 |
return None
|
| 67 |
-
log("🎬 بدء البث المستقر (إشارة قوية)...")
|
| 68 |
rtmp_url = f"rtmp://a.rtmp.youtube.com/live2/{stream_key}"
|
| 69 |
|
| 70 |
cmd = [
|
|
@@ -97,17 +97,17 @@ def start_stream_stable(stream_key, stream_url):
|
|
| 97 |
"-avoid_negative_ts", "make_zero",
|
| 98 |
"-use_wallclock_as_timestamps", "1",
|
| 99 |
"-correct_ts_overflow", "1",
|
| 100 |
-
"-max_interleave_delta", "
|
| 101 |
|
| 102 |
-
# فيديو – إ
|
| 103 |
"-c:v", "libx264",
|
| 104 |
"-preset", "ultrafast",
|
| 105 |
-
"-crf", "23",
|
| 106 |
-
"-maxrate", "6000k",
|
| 107 |
-
"-minrate", "4000k",
|
| 108 |
-
"-bufsize", "12000k",
|
| 109 |
"-g", "60",
|
| 110 |
-
"-vsync", "2",
|
| 111 |
"-x264-params", "nal-hrd=cbr",
|
| 112 |
"-pix_fmt", "yuv420p",
|
| 113 |
"-color_range", "tv",
|
|
@@ -115,14 +115,14 @@ def start_stream_stable(stream_key, stream_url):
|
|
| 115 |
"-color_trc", "bt709",
|
| 116 |
"-colorspace", "bt709",
|
| 117 |
|
| 118 |
-
# صوت –
|
| 119 |
"-c:a", "aac",
|
| 120 |
-
"-b:a", "
|
| 121 |
"-ac", "2",
|
| 122 |
"-ar", "44100",
|
| 123 |
-
"-
|
| 124 |
|
| 125 |
-
# إرسال
|
| 126 |
"-max_muxing_queue_size", "65535",
|
| 127 |
"-flush_packets", "1",
|
| 128 |
"-max_delay", "5000000",
|
|
@@ -154,7 +154,7 @@ def run_monitor():
|
|
| 154 |
was_streaming = False
|
| 155 |
consecutive_fails = 0
|
| 156 |
|
| 157 |
-
log("🚀 محرك البث المستقر (
|
| 158 |
|
| 159 |
while True:
|
| 160 |
try:
|
|
|
|
| 64 |
def start_stream_stable(stream_key, stream_url):
|
| 65 |
if not stream_key or not stream_url:
|
| 66 |
return None
|
| 67 |
+
log("🎬 بدء البث المستقر (صوت بسيط + إشارة قوية)...")
|
| 68 |
rtmp_url = f"rtmp://a.rtmp.youtube.com/live2/{stream_key}"
|
| 69 |
|
| 70 |
cmd = [
|
|
|
|
| 97 |
"-avoid_negative_ts", "make_zero",
|
| 98 |
"-use_wallclock_as_timestamps", "1",
|
| 99 |
"-correct_ts_overflow", "1",
|
| 100 |
+
"-max_interleave_delta", "0",
|
| 101 |
|
| 102 |
+
# فيديو – إشارة مستقرة
|
| 103 |
"-c:v", "libx264",
|
| 104 |
"-preset", "ultrafast",
|
| 105 |
+
"-crf", "23",
|
| 106 |
+
"-maxrate", "6000k",
|
| 107 |
+
"-minrate", "4000k",
|
| 108 |
+
"-bufsize", "12000k",
|
| 109 |
"-g", "60",
|
| 110 |
+
"-vsync", "2",
|
| 111 |
"-x264-params", "nal-hrd=cbr",
|
| 112 |
"-pix_fmt", "yuv420p",
|
| 113 |
"-color_range", "tv",
|
|
|
|
| 115 |
"-color_trc", "bt709",
|
| 116 |
"-colorspace", "bt709",
|
| 117 |
|
| 118 |
+
# صوت – بسيط جدًا ومتناسق
|
| 119 |
"-c:a", "aac",
|
| 120 |
+
"-b:a", "192k",
|
| 121 |
"-ac", "2",
|
| 122 |
"-ar", "44100",
|
| 123 |
+
"-async", "1", # ✅ تصحيح التزامن فقط
|
| 124 |
|
| 125 |
+
# إرسال سلس
|
| 126 |
"-max_muxing_queue_size", "65535",
|
| 127 |
"-flush_packets", "1",
|
| 128 |
"-max_delay", "5000000",
|
|
|
|
| 154 |
was_streaming = False
|
| 155 |
consecutive_fails = 0
|
| 156 |
|
| 157 |
+
log("🚀 محرك البث المستقر (صوت بسيط)")
|
| 158 |
|
| 159 |
while True:
|
| 160 |
try:
|