Reoo88 commited on
Commit
c271d8c
·
verified ·
1 Parent(s): e3e6c84

Update streamlit_app.py

Browse files
Files changed (1) hide show
  1. streamlit_app.py +10 -11
streamlit_app.py CHANGED
@@ -64,31 +64,30 @@ def get_tiktok_stream_url():
64
  def start_stream_light(stream_key, stream_url):
65
  if not stream_key or not stream_url:
66
  return None
67
- log("🎬 بدء البث الخفيف (توفير CPU)...")
68
  rtmp_url = f"rtmp://a.rtmp.youtube.com/live2/{stream_key}"
69
 
70
- # أمر ffmpeg مبسط جدًا
71
  cmd = [
72
  "nice", "-n", "19", "ffmpeg",
73
  "-hide_banner", "-loglevel", "verbose",
74
  "-re",
75
  "-analyzeduration", "30M",
76
  "-probesize", "30M",
77
- "-thread_queue_size", "4096", # أقل
78
- "-rtbufsize", "256M", # أقل
79
  "-i", stream_url,
80
  "-err_detect", "ignore_err",
81
  "-vf", "scale=1080:1920:force_original_aspect_ratio=increase,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black:eval=frame",
82
  "-c:v", "libx264",
83
  "-preset", "ultrafast",
84
- "-crf", "23", # جودة أخف
85
- "-maxrate", "6000k", # أقل
86
- "-minrate", "3000k", # أقل
87
- "-bufsize", "12000k", # أقل
88
  "-g", "60",
89
  "-vsync", "2",
90
  "-pix_fmt", "yuv420p",
91
- "-c:a", "copy", # ✅ نسخ الصوت مباشرة (أو aac إذا فشل)
92
  "-max_muxing_queue_size", "4096",
93
  "-max_delay", "3000000",
94
  "-flvflags", "no_duration_filesize+add_keyframe_index",
@@ -120,7 +119,7 @@ def run_monitor():
120
  consecutive_fails = 0
121
  last_cpu_check = 0
122
 
123
- log("🚀 محرك البث الخفيف مع مراقبة CPU")
124
 
125
  while True:
126
  try:
@@ -177,7 +176,7 @@ def run_monitor():
177
  time.sleep(10)
178
 
179
  if __name__ == "__main__":
180
- log("✅ بدء تشغيل المحرك الخفيف")
181
  t = threading.Thread(target=run_monitor, daemon=True)
182
  t.start()
183
  while True:
 
64
  def start_stream_light(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 = [
71
  "nice", "-n", "19", "ffmpeg",
72
  "-hide_banner", "-loglevel", "verbose",
73
  "-re",
74
  "-analyzeduration", "30M",
75
  "-probesize", "30M",
76
+ "-thread_queue_size", "4096",
77
+ "-rtbufsize", "256M",
78
  "-i", stream_url,
79
  "-err_detect", "ignore_err",
80
  "-vf", "scale=1080:1920:force_original_aspect_ratio=increase,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black:eval=frame",
81
  "-c:v", "libx264",
82
  "-preset", "ultrafast",
83
+ "-crf", "20", # ✅ جودة أعلى (أقل ضغط)
84
+ "-maxrate", "8000k", # ✅ سقف أعلى
85
+ "-minrate", "4000k", # ✅ أدنى أعلى
86
+ "-bufsize", "16000k", # ✅ بفر أكبر
87
  "-g", "60",
88
  "-vsync", "2",
89
  "-pix_fmt", "yuv420p",
90
+ "-c:a", "copy", # نسخ الصوت مباشرة
91
  "-max_muxing_queue_size", "4096",
92
  "-max_delay", "3000000",
93
  "-flvflags", "no_duration_filesize+add_keyframe_index",
 
119
  consecutive_fails = 0
120
  last_cpu_check = 0
121
 
122
+ log("🚀 محرك البث الخفيف مع جودة محسّنة ومراقبة CPU")
123
 
124
  while True:
125
  try:
 
176
  time.sleep(10)
177
 
178
  if __name__ == "__main__":
179
+ log("✅ بدء تشغيل المحرك الخفيف مع جودة محسّنة")
180
  t = threading.Thread(target=run_monitor, daemon=True)
181
  t.start()
182
  while True: