MoviePy: تحرير الفيديو باستخدام بايثون

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

MoviePy للغة بايثون: دليل شامل لتحرير الفيديو

مقدمة عن مكتبة MoviePy

عادةً ما يرتبط العمل مع الفيديو بأدوات ثقيلة وواجهات برمجية معقدة. لكن في لغة بايثون، توجد مكتبة تجعل تحرير الفيديو بسيطًا ومعبرًا، وهي MoviePy. تتيح لك هذه المكتبة إنشاء وتحرير ودمج وتصدير مقاطع الفيديو بأقل قدر من الأكواد البرمجية.

تم بناء MoviePy فوق FFmpeg وتدعم العديد من صيغ الفيديو والصوت. المكتبة مثالية لإنشاء مقاطع فيديو ديناميكية، وتوليد الميمات، والمونتاج البرمجي، والرسوم المتحركة، والمزامنة مع الصوت. تُستخدم MoviePy على نطاق واسع من قبل المطورين لأتمتة إنتاج الفيديو، وإنشاء محتوى لوسائل التواصل الاجتماعي، ومعالجة ملفات الوسائط على نطاق صناعي.

تشمل المزايا الرئيسية لـ MoviePy: بناء جملة بسيط، وظائف غنية، دعم للعديد من الصيغ، تكامل مع NumPy، وإمكانية إنشاء تركيبات معقدة دون الحاجة لمعرفة عميقة بترميز الفيديو.

تثبيت وإعداد MoviePy

التثبيت عبر pip

pip install moviepy

التبعيات الإضافية

لكي تعمل MoviePy بشكل صحيح، تحتاج إلى FFmpeg. في معظم الحالات، يتم تثبيته تلقائيًا، ولكن في حالة ظهور مشاكل:

نظام Windows:

# عبر chocolatey
choco install ffmpeg

# أو التحميل من الموقع الرسمي

نظام macOS:

brew install ffmpeg

نظام Linux:

sudo apt install ffmpeg  # Ubuntu/Debian
sudo yum install ffmpeg  # CentOS/RHEL

التحقق من التثبيت

from moviepy.editor import VideoFileClip
print("تم تثبيت MoviePy بنجاح!")

أساسيات العمل مع ملفات الفيديو

تحميل الفيديو

from moviepy.editor import VideoFileClip

# تحميل ملف الفيديو
clip = VideoFileClip("video.mp4")

# الحصول على معلومات الفيديو
print(f"المدة: {clip.duration} ثانية")
print(f"الأبعاد: {clip.size}")
print(f"معدل الإطارات: {clip.fps}")

العمل مع صيغ مختلفة

تدعم MoviePy مجموعة واسعة من صيغ الفيديو:

  • MP4, AVI, MOV, WMV
  • MKV, FLV, WebM
  • GIF (كصيغة إدخال وإخراج)

العمليات الأساسية للتحرير

قص وتقطيع الفيديو

# قص حسب الوقت
clip_cut = clip.subclip(10, 20)  # من الثانية 10 إلى 20

# قص من البداية
clip_from_start = clip.subclip(0, 30)

# قص حتى النهاية
clip_to_end = clip.subclip(15)

# إزالة جزء
clip_without_part = clip.cutout(5, 15)

تغيير الحجم والجودة

# تغيير الحجم حسب الارتفاع
resized = clip.resize(height=480)

# تغيير الحجم حسب العرض
resized = clip.resize(width=640)

# تغيير الحجم بنسبة
resized = clip.resize(0.5)  # 50% من الحجم الأصلي

# تغيير معدل الإطارات
fps_changed = clip.set_fps(30)

التدوير والعكس

# تدوير 90 درجة
rotated = clip.rotate(90)

# عكس أفقي
from moviepy.video.fx import mirror_x
mirrored = mirror_x(clip)

# عكس عمودي
from moviepy.video.fx import mirror_y
mirrored_y = mirror_y(clip)

العمل مع النصوص والعناوين

إنشاء مقاطع نصية

from moviepy.editor import TextClip, CompositeVideoClip

# نص بسيط
text = TextClip("مرحبًا بالعالم!", fontsize=70, color='white', font='Arial-Bold')
text = text.set_position('center').set_duration(5)

# نص مع خلفية
text_with_bg = TextClip("عنوان رئيسي", fontsize=50, color='white',                    

توصيات