دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

حوّل فيديوهات يوتيوب لفيديوهات قصيرة مولّدة بالذكاء الاصطناعي باستعمال بايثون

تعلّم كيفاش تثبّت وتستعمل AI Shorts Generator، وهي أداة مفتوحة المصدر مبنية ببايثون، كتبدّل فيديوهات يوتيوب أو الفيديوهات المحلية لمقاطع عمودية فيها تفريغ الكلام، وأبرز اللقطات مرتّبة بالذكاء الاصطناعي، واقتصاص أوتوماتيكي، وترجمة مكتوبة، مع إمكانية إضافة مقدمات جذابة.

حوّل فيديوهات يوتيوب لفيديوهات قصيرة مولّدة بالذكاء الاصطناعي باستعمال بايثون

شنو هو AI Shorts Generator؟

AI Shorts Generator هو بديل مجاني ومفتوح المصدر لخدمات SaaS ديال الفيديوهات القصيرة بحال OpusClip وVidyo.ai. كيقبل رابط YouTube ولا ملف فيديو محلي، كيلقى اللحظات الواعدة، وكيخرجها ففيديوهات قصيرة واجدة للنشر بلا علامات مائية ولا رصيد قبل القص.

المشروع كيجمع بين التفريغ النصي المحلي ومزوّد ديال نماذج اللغة الكبيرة. faster-whisper كيصاوب تفريغ نصي فيه التوقيت، بينما OpenAI أو Gemini أو MuAPI كيحللو باش يحددو ويرتبو اللقطات المهمة المحتملة.

مثال على فيديو قصير عمودي معالج

كيفاش كتخدم مراحل المعالجة

  1. التحميل أو القراءة: التطبيق كيحمّل فيديو من YouTube ولا كيقرا مسار ملف فيديو محلي.
  2. التفريغ النصي: faster-whisper كيولّد تفريغاً نصياً بالتوقيت محلياً.
  3. التصنيف: نموذج اللغة الكبير المختار كيحدّد نوع المحتوى والإيقاع ديالو، بحال حوار، بودكاست، شرح، ولا فلوق.
  4. ترتيب اللقطات المهمة: نموذج اللغة الكبير كيقيّم اللحظات باستعمال مؤشرات بحال البداية القوية، الذروة العاطفية، الاكتشافات، الصراع، العبارات القابلة للاقتباس، ذرى القصة، والقيمة العملية.
  5. حذف التداخلات: المرشحين المتداخلين كيتحيدو حسب النقط ديالهم.
  6. اختيار المقاطع: كيتختارو المرشحون اللي عندهم أعلى ترتيب حسب الخيار --n.
  7. الإخراج: كل اختيار كيتقص تلقائياً حسب نسبة العرض إلى الارتفاع المطلوبة. إلا ما عطلتهاش، كتزاد فالبداية مقدمة بالذكاء الاصطناعي كتراعي السياق.

المزايا الرئيسية

  • دعم YouTube والفيديوهات المحلية: عالج رابط فيديو ولا ملف مخزّن من قبل فالحاسوب ديالك.
  • الاختيار التلقائي للقطات المهمة: لقى اللحظات اللي عندها قابلية كبيرة لمحتوى قصير.
  • الإخراج العمودي: صايب فيديوهات 9:16 مناسبة لمنصات الفيديوهات القصيرة.
  • مخرجات متعددة: خرج عدة لقطات مهمة من مصدر واحد باستعمال --n.
  • مقدمات مولدة بالذكاء الاصطناعي: زِد مقدمة افتتاحية كتراعي السياق، ولا عطّلها باستعمال --no-hook.
  • الترجمة النصية والترجمة والتعليق الصوتي: المشروع كيجمع هاد القدرات ديال معالجة المحتوى فمسار عمل واحد.
  • واجهة ويب محلية: صفّ عدة فيديوهات وضبط خيارات الإخراج بصرياً.
  • توفر API: تقدر تدمج المولّد فمشاريع أخرى عن طريق API ديالو.

المتطلبات

قبل ما تبدا، تأكد باللي البيئة ديالك فيها هاد الحوايج:

  • Python 3.10 ولا أحدث
  • مفتاح API ديال OpenAI أو Gemini أو MuAPI
  • Git باش تنسخ المستودع
  • حزم Python المذكورة فـ requirements.txt

Gemini كيوفر خطة مجانية بحد يومي. OpenAI خدام بالفلوس، بينما MuAPI كيوفر ولوج مدفوع حسب الاستعمال بلا اشتراك. خذ المفاتيح من Google AI Studio أو OpenAI Platform أو MuAPI.

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

1. نسخ المستودع

git clone https://github.com/pierrenade/short-video-generator-AI.git
cd short-video-generator-AI

2. إنشاء بيئة افتراضية

صايب بيئة Python معزولة باش ما يتعارضوش حزم المشروع مع التثبيتات الأخرى.

python -m venv venv

فـ Windows، فعّلها بهاد الأمر:

venv\Scripts\activate

فـ Linux ولا macOS، فعّلها بهاد الأمر:

source venv/bin/activate

3. تثبيت الاعتماديات

pip install -r requirements.txt

4. إعداد ملف البيئة

صايب ملف .env ولا عدّلو فمجلد المشروع. عيّن LLM_PROVIDER إلى openai أو gemini أو muapi، ومن بعد دخل مفتاح API المناسب.

LLM_PROVIDER=openai

OPENAI_API_KEY=your_openai_key_here
OPENAI_MODEL=gpt-4o-mini

GEMINI_API_KEY=your_gemini_key_here
GEMINI_MODEL=gemini-2.5-flash

MUAPI_API_KEY=your_muapi_key_here

LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=auto

كتحتاج غير مفتاح API صالح ديال المزوّد المختار فـ LLM_PROVIDER. إعدادات نماذج OpenAI وGemini اختيارية.

اختيار إعدادات Whisper

LOCAL_WHISPER_MODEL كيقبل tiny أو base أو small أو medium أو large-v3. ملف README كيستعمل base كإعداد أولي.

LOCAL_WHISPER_DEVICE كيقبل auto أو cpu أو cuda. خليه auto إلا كنت محتاج بالضبط تفرض المعالجة بـ CPU ولا CUDA.

خرّج أول فيديو قصير ديالك

مرّر رابط YouTube إلى main.py:

python main.py "https://www.youtube.com/watch?v=video_id"

منين كتسالي المعالجة، كيتخزنو المقاطع اللي تخرجو فمجلد output.

نتيجة فيديو قصير مولّد بالذكاء الاصطناعي

التحكم فالمخرجات

المثال التالي كيولّد ثلاثة مقاطع عمودية وكيطلب دقة تحميل فيديو المصدر قدرها 1080:

python main.py "https://www.youtube.com/watch?v=video_id" \
  --n 3 \
  --ratio 9:16 \
  --resolution 1080

خيارات سطر الأوامر المتاحة

  • --n: كايحدّد شحال من كليب غادي يتصيّب. القيمة الافتراضية هي 3.
  • --ratio: كايحدّد نسبة العرض للطول ديال الخرج. القيمة الافتراضية هي 9:16؛ استعمل 1:1 للخرج المربّع ولا عطِ نسبة أخرى.
  • --resolution: كايحدّد جودة تحميل الفيديو الأصلي. القيم المدعومة اللي كايعرضها المشروع هي 360 و480 و720 و1080. القيمة الافتراضية هي 720.
  • --language: كيفرض كود اللغة ديال Whisper بحال en. فالحالة الافتراضية، كايتدار التعرّف أوتوماتيكياً.
  • --no-hook: كايمنع إضافة المقدّمة اللي كاينشئها الذكاء الاصطناعي فالبداية ديال كل كليب.

خدم بفيديو محلّي

تقدر تعوّض رابط YouTube بمسار ديال ملف محلّي. هاد المثال كاينشئ ربعة ديال الكليبات العمودية بجودة 720 وكايفرض التفريغ بالصيّنية:

python main.py "/Users/Admin/Folder/video.mp4" \
  --n 4 \
  --ratio 9:16 \
  --resolution 720 \
  --language zh

استعمل المسار المطلق ولا النسبي المناسب لنظام التشغيل ديالك. كتابة المسار بين علامتي تنصيص كتعاون إلا كانو السميات ديال المجلدات ولا الملفات فيهم مسافات.

استعمل الواجهة المحلية ديال الويب

النسخة ديال الويب كاتوفّر طريقة بصرية باش تصفّ أكثر من فيديو وتبدّل إعدادات التصيير. اختيار المزوّد ومعلومات الولوج ديال API كايبقاو جايين من .env؛ الواجهة كاتتكلف بإدخال الفيديو وخيارات التصيير.

1. شغّل الواجهة الخلفية

python3 server.py

2. خدم الواجهة الأمامية

حلّ ترمينال آخر، دخل للمجلد ديال الويب، وشغّل خادم HTTP ثابت:

cd web
python3 -m http.server 8000

3. حلّ الواجهة

دخل للرابط http://localhost:8000/shorts-generator-ui.html فالمتصفّح ديالك.

نصائح متقدّمة

طابق نسبة العرض للطول مع المنصّة ديالك

استعمل --ratio 9:16 للفيديوهات القصيرة العمودية العادية. استعمل --ratio 1:1 إلا كنت محتاج كليب مربّع. المشروع كايقبل حتى نسب أخرى.

فرض اللغة إلا كان التعرّف غير مؤكّد

التعرّف الأوتوماتيكي على اللغة هو الإعداد الافتراضي. إلا كنت عارف اللغة اللي كااتهضر، دوز كود اللغة ديال Whisper باستعمال --language، بحال --language en.

اختار شحال من مرشّح يتصيّب

الإعداد الافتراضي --n 3 كاينتج ثلاثة ديال اللقطات المختارة. طلّعو إلا بغيتي مرشّحين كثر من فيديو طويل، ولا هبّطو إلا كنت محتاج غير لأقوى نتيجة.

عطّل المقدّمات إلا كانت البداية الأصلية كافية

المقدّمة اللي كاينشئها الذكاء الاصطناعي اختيارية. زِد --no-hook إلا بغيتي كل كليب يبدا مباشرة بالجزء المختار من المصدر:

python main.py "https://www.youtube.com/watch?v=video_id" --n 2 --no-hook

وازن موارد التفريغ

نماذج Whisper المتاحة كااتراوح من tiny حتى large-v3. اختار نموذج مناسب للجهاز ديالك، واستعمل LOCAL_WHISPER_DEVICE=cuda غير إلا كانت عندك بيئة CUDA متوافقة. فالحالات الأخرى، auto كايخلّي التطبيق يختار الجهاز.

خلّي معلومات الولوج بعيدة على الأوامر

خزّن مفاتيح المزوّدين فـ .env بلا ما تحطّهم مباشرة فالأوامر ديال الترمينال ولا فالكود المصدري. تجنّب ترفع ملفات البيئة اللي عامرة بالمعلومات السرّية ملي كتدير fork ولا كتساهم فالمستودع.

الخلاصة

AI Shorts Generator كايوفّر مسار محلّي ومفتوح المصدر باش تحوّل فيديوهات طويلة من YouTube ولا من الجهاز ديالك لكليبات قصيرة. من بعد ما تجهّز Python ومزوّد LLM وإعدادات Whisper المحلية، تقدر تنشئ بزاف ديال الكليبات المختارة أوتوماتيكياً من سطر الأوامر، ولا تستعمل الواجهة اللي فالمتصفّح باش تسيّر المدخلات وخيارات التصيير.

المشروع متاح برخصة MIT. تقدر تبلّغ على المشاكل، تساهم بالتغييرات، ولا تدير ليه fork من مستودع GitHub ديالو.