Skydata001 commited on
Commit
9f635b9
·
verified ·
1 Parent(s): 18c5349

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +20 -10
main.py CHANGED
@@ -118,7 +118,8 @@ async def generate_t2v_stream(
118
  global t2v_pipe
119
  start_time = time.time()
120
 
121
- yield f"data: {json.dumps({'status': 'info', 'progress': 5, 'message': 'تجهيز بيئة الـ GPU A100...'})}\n\n"
 
122
 
123
  if t2v_pipe is None:
124
  load_models()
@@ -141,7 +142,8 @@ async def generate_t2v_stream(
141
  print(f"[PROGRESS] {data}")
142
  return callback_kwargs
143
 
144
- yield f"data: {json.dumps({'status': 'generating', 'progress': 10, 'message': 'بدء عمليات الانتشار التوليدي...'})\n\n"
 
145
 
146
  video_frames = t2v_pipe(
147
  prompt=prompt,
@@ -153,17 +155,20 @@ async def generate_t2v_stream(
153
  callback_on_step_end=step_callback
154
  ).frames[0]
155
 
156
- yield f"data: {json.dumps({'status': 'encoding', 'progress': 92, 'message': 'جاري ضغط وترميز الفيديو بأعلى جودة (MP4)...'})}\n\n"
 
157
 
158
  filename = f"vid_{uuid.uuid4().hex[:10]}.mp4"
159
  with tempfile.TemporaryDirectory() as tmpdir:
160
  temp_video_path = os.path.join(tmpdir, filename)
161
  export_to_video(video_frames, temp_video_path, fps=8)
162
 
163
- yield f"data: {json.dumps({'status': 'uploading', 'progress': 96, 'message': 'جاري الرفع المباشر إلى Cloudflare R2...'})}\n\n"
 
164
  r2_url = upload_file_to_r2(temp_video_path, filename)
165
 
166
- yield f"data: {json.dumps({'status': 'completed', 'progress': 100, 'message': 'تم التوليد بنجاح!', 'video_url': r2_url})}\n\n"
 
167
 
168
  return StreamingResponse(event_stream(), media_type="text/event-stream")
169
 
@@ -180,7 +185,8 @@ async def generate_i2v_stream(
180
  global i2v_pipe
181
  start_time = time.time()
182
 
183
- yield f"data: {json.dumps({'status': 'info', 'progress': 5, 'message': 'قراءة الصورة وتحضير A100...'})}\n\n"
 
184
 
185
  if i2v_pipe is None:
186
  load_models()
@@ -201,7 +207,8 @@ async def generate_i2v_stream(
201
  msg = f"تحريك الصورة: الخطوة {current_step} من {num_inference_steps} | الوقت المتبقي: ~{eta_seconds} ثانية"
202
  return callback_kwargs
203
 
204
- yield f"data: {json.dumps({'status': 'generating', 'progress': 10, 'message': 'بدء تحريك الإطارات من الصورة...'})}\n\n"
 
205
 
206
  video_frames = i2v_pipe(
207
  prompt=prompt,
@@ -214,16 +221,19 @@ async def generate_i2v_stream(
214
  callback_on_step_end=step_callback
215
  ).frames[0]
216
 
217
- yield f"data: {json.dumps({'status': 'encoding', 'progress': 92, 'message': 'جاري ضغط وترميز الفيديو...'})}\n\n"
 
218
 
219
  filename = f"vid_i2v_{uuid.uuid4().hex[:10]}.mp4"
220
  with tempfile.TemporaryDirectory() as tmpdir:
221
  temp_video_path = os.path.join(tmpdir, filename)
222
  export_to_video(video_frames, temp_video_path, fps=8)
223
 
224
- yield f"data: {json.dumps({'status': 'uploading', 'progress': 96, 'message': 'جاري الرفع إلى Cloudflare R2...'})}\n\n"
 
225
  r2_url = upload_file_to_r2(temp_video_path, filename)
226
 
227
- yield f"data: {json.dumps({'status': 'completed', 'progress': 100, 'message': 'تم التوليد بنجاح!', 'video_url': r2_url})}\n\n"
 
228
 
229
  return StreamingResponse(event_stream(), media_type="text/event-stream")
 
118
  global t2v_pipe
119
  start_time = time.time()
120
 
121
+ payload = json.dumps({'status': 'info', 'progress': 5, 'message': 'تجهيز بيئة الـ GPU A100...'})
122
+ yield f"data: {payload}\n\n"
123
 
124
  if t2v_pipe is None:
125
  load_models()
 
142
  print(f"[PROGRESS] {data}")
143
  return callback_kwargs
144
 
145
+ payload = json.dumps({'status': 'generating', 'progress': 10, 'message': 'بدء عمليات الانتشار التوليدي...'})
146
+ yield f"data: {payload}\n\n"
147
 
148
  video_frames = t2v_pipe(
149
  prompt=prompt,
 
155
  callback_on_step_end=step_callback
156
  ).frames[0]
157
 
158
+ payload = json.dumps({'status': 'encoding', 'progress': 92, 'message': 'جاري ضغط وترميز الفيديو بأعلى جودة (MP4)...'})
159
+ yield f"data: {payload}\n\n"
160
 
161
  filename = f"vid_{uuid.uuid4().hex[:10]}.mp4"
162
  with tempfile.TemporaryDirectory() as tmpdir:
163
  temp_video_path = os.path.join(tmpdir, filename)
164
  export_to_video(video_frames, temp_video_path, fps=8)
165
 
166
+ payload = json.dumps({'status': 'uploading', 'progress': 96, 'message': 'جاري الرفع المباشر إلى Cloudflare R2...'})
167
+ yield f"data: {payload}\n\n"
168
  r2_url = upload_file_to_r2(temp_video_path, filename)
169
 
170
+ payload = json.dumps({'status': 'completed', 'progress': 100, 'message': 'تم التوليد بنجاح!', 'video_url': r2_url})
171
+ yield f"data: {payload}\n\n"
172
 
173
  return StreamingResponse(event_stream(), media_type="text/event-stream")
174
 
 
185
  global i2v_pipe
186
  start_time = time.time()
187
 
188
+ payload = json.dumps({'status': 'info', 'progress': 5, 'message': 'قراءة الصورة وتحضير A100...'})
189
+ yield f"data: {payload}\n\n"
190
 
191
  if i2v_pipe is None:
192
  load_models()
 
207
  msg = f"تحريك الصورة: الخطوة {current_step} من {num_inference_steps} | الوقت المتبقي: ~{eta_seconds} ثانية"
208
  return callback_kwargs
209
 
210
+ payload = json.dumps({'status': 'generating', 'progress': 10, 'message': 'بدء تحريك الإطارات من الصورة...'})
211
+ yield f"data: {payload}\n\n"
212
 
213
  video_frames = i2v_pipe(
214
  prompt=prompt,
 
221
  callback_on_step_end=step_callback
222
  ).frames[0]
223
 
224
+ payload = json.dumps({'status': 'encoding', 'progress': 92, 'message': 'جاري ضغط وترميز الفيديو...'})
225
+ yield f"data: {payload}\n\n"
226
 
227
  filename = f"vid_i2v_{uuid.uuid4().hex[:10]}.mp4"
228
  with tempfile.TemporaryDirectory() as tmpdir:
229
  temp_video_path = os.path.join(tmpdir, filename)
230
  export_to_video(video_frames, temp_video_path, fps=8)
231
 
232
+ payload = json.dumps({'status': 'uploading', 'progress': 96, 'message': 'جاري الرفع إلى Cloudflare R2...'})
233
+ yield f"data: {payload}\n\n"
234
  r2_url = upload_file_to_r2(temp_video_path, filename)
235
 
236
+ payload = json.dumps({'status': 'completed', 'progress': 100, 'message': 'تم التوليد بنجاح!', 'video_url': r2_url})
237
+ yield f"data: {payload}\n\n"
238
 
239
  return StreamingResponse(event_stream(), media_type="text/event-stream")