File size: 1,188 Bytes
ebd642c
310901f
 
ebd642c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import gradio as gr
# بدلاً من: from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
from moviepy import VideoFileClip, TextClip, CompositeVideoClip
import requests

def process_video(video_url, audio_url, hook_text):
    # تحميل الفيديو والصوت
    with open("input.mp4", "wb") as f:
        f.write(requests.get(video_url).content)
    with open("audio.mp3", "wb") as f:
        f.write(requests.get(audio_url).content)
    
    # دمج النص والصوت
    video = VideoFileClip("input.mp4")
    txt_hook = TextClip(hook_text, fontsize=45, color='white', font='Arial-Bold').set_position(('center', 'center')).set_duration(video.duration)
    txt_caption = TextClip("اقرأ الكابتشن 👇", fontsize=30, color='yellow', font='Arial-Bold').set_position(('center', video.h - 120)).set_duration(video.duration)
    
    final = CompositeVideoClip([video, txt_hook, txt_caption])
    final.write_videofile("output.mp4", codec="libx264", audio="audio.mp3")
    
    return "output.mp4"

# واجهة Gradio للـ API
demo = gr.Interface(
    fn=process_video,
    inputs=["text", "text", "text"],
    outputs="video"
)

demo.launch()