لو عندك list مكدّسة من 50 فيديو YouTube محفوظين تحت اسم "ارجعلهم بعدين"، وكل مرة بتحاول تلاقي الدقيقة اللي فيها المعلومة اللي محتاجها بتتفرج على الـ 20 دقيقة كلها من الأول، السكربت اللي هنبنيه هنا بيحل الحكاية دي بـ 22 سنت للفيديو وأقل من دقيقتين معالجة.
أتمتة تحويل فيديوهات YouTube إلى مقالات: النظام الكامل
المشكلة باختصار
المحتوى التعليمي على YouTube بيتضاعف كل سنة، لكن الفيديو كوسيط مش قابل للبحث بالنص. اللي بيحصل فعلاً إنك بتعيد مشاهدة نفس الـ 20 دقيقة 4 مرات علشان تلاقي الدقيقة اللي فيها الحل. الحل مش إنك توقف تتفرّج؛ الحل إنك تحوّل الفيديو لمقال نصي منظم في اللحظة اللي بتخلّص فيها منه، علشان يبقى عندك مكتبة قابلة للبحث بـ grep أو Notion.
مثال مبسّط قبل الغوص في التفاصيل
تخيّل إن عندك صديق شاطر بياخد ملاحظات باحتراف. بتبعتله رابط فيديو، وبعد 3 دقايق بيرجعلك بورقة فيها: موضوع الفيديو في جملتين، النقاط الأساسية بعناوين واضحة، والأكواد أو الأوامر اللي اتذكرت في الفيديو كلها مرتّبة. النظام اللي هنبنيه هو نفس الصديق ده، بس سوفتوير بيشتغل لوحده على الخلفية. بيتكوّن من ثلاث أدوات بيتكلموا مع بعض: أداة بتنزّل الصوت من YouTube، نموذج ذكاء اصطناعي بيحوّل الصوت لنص، ونموذج تاني بيفهم النص ويعمله ملخص مكتوب زي أي مقال.
الأدوات الثلاثة بدقّة تقنية
yt-dlp: أداة command-line مفتوحة المصدر بتنزّل الصوت أو الفيديو من YouTube ومن آلاف المواقع التانية بأعلى جودة متاحة. هنا هناخد الصوت بس بصيغة m4a لأن Whisper بيقبل أغلب صيغ الصوت الشائعة، والـ m4a بتيجي من YouTube مباشرة بدون إعادة ترميز، فبتوفر وقت.
OpenAI Whisper: موديل تفريغ صوتي (speech-to-text) بيدعم 99 لغة ومنهم العربية بجودة عالية. فيه نسخة open-source بتشتغل محليًا على GPU، وفيه API مدفوع بسعر ثابت 0.006 دولار للدقيقة. يعني فيديو من 30 دقيقة بيكلّف 18 سنت تفريغ.
Claude Haiku 4.5: نموذج اللغة اللي هيحوّل النص الخام (اللي ممكن يطلع 8,000 كلمة على فيديو نص ساعة) لمقال منظم بعناوين وقائمة نقاط وأكواد. Haiku كافي تمامًا لهذه المهمة وبيكلّف جزء بسيط مقارنة بـ Opus 4.7؛ الافتراض هنا إن الفيديو تعليمي مباشر مش محاضرة فلسفية فيها nuance دقيق.
الخطوات الخمسة — سكربت Python شغّال
- تنزيل الصوت من رابط YouTube بـ yt-dlp في ملف m4a محلي.
- إرسال الملف لـ Whisper API وأخذ الـ transcript كنص عادي.
- تقسيم النص لو طوله أكبر من 20,000 توكن (للفيديوهات اللي أطول من ساعة).
- إرسال الـ transcript لـ Claude مع prompt بيطلب هيكل محدد للمقال.
- حفظ الناتج كـ Markdown وحذف ملف الصوت لتوفير مساحة.