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() |