بسم الله و الحمد لله و الصلاة و السلام على رسول الله
هذا موضوع حول أداة yt-dlp. ليس شرح للأداة و إنما تطرق لأمر بسيط لتحميل فيديو بجودة عالية.
الأداة نسخة مزيدة و منقحة من المشروع الأم youtube-dl.
الإستخدام الشائع
yt-dlp -f format URL
*** لاحقة f- تعطيك قائمة عن جميع الهيئات المتوفرة لتحميل الفيديو.
بعد ذلك تعيد نفس الأمر مع إضافة الهيئة التي تريد.
العملية ليست صعبة.
و لكن تأخذ وقت.
الأداة عندها خصائص كثيرة.
و لكن الأغلبية لا يستفيد منها.
لماذا ؟
لا يريد أن يتعب و يبحث داخل الدليل.
man yt-dlp
و هذا شيء ليس جيد.
و هذا الصنف من المستخدمين. لن يتعلم كثيرا.
ربما شتات من هنا و هناك.
نعود للهدف من الموضوع ![]()
كأن الموضوع لم يبدأ بعد.
ما أريد طرحه. هو سكريبت أو سميه أداة تختصر عناء كتابة السطر الطويل لتحميل الفيديو.
مثال:
#!/usr/bin/env bash
# coding:utf-8
# Author:<samir>
# Purpose:Downloading best quality video using yt-#+dlp.
# Version:0.0.1
# Usage: ytv <URL>
echo "Downloading..."
yt-dlp -f bestvideo+bestaudio --downloader aria2c --restrict-filenames "$1" 2> /dev/null
if [ "$?" == 0 ]
then
echo "Finished with success"
fi
كما تلاحظون شيء عادي.
** إختصار صيغة الصورة و الصوت في عبارة:
bestvideo+bestaudio
كأننا نقول للأداة قومي بتحميل أفضل جودة للصورة و الصوت التي يتوفر عليها الفيديو.
** لاحقة --downloader
تبقى إختيارية.
يعني تحديد أداة خارجية للتحميل.
شخصيا جربت aria2c.وجدتها أسرع.
** لاحقة --restrict-filenames أرى أنها مهمة. دورها الإحتفاظ فقط برموز ascii بإسم الملف.
يعني تجتب رموز مثل & أو المسافات.
خصوصا المسافات مشكلة.
** المتغير “$1” هذا يحمل رابط الملف.
** و لاحقة 2> /dev/null
لإخفاء أي رسائل أخطاء.
** و في الأخير إمتحان لتحقق من قيمة العملية السابقة.
نقطة غير مهمة.
أضفتها فقط لطباعة عبارة تمت العملية بنجاح.
**
لماذا كل هذا العناء. لأنه يوجد من يسأل أو يتساءل
![]()
لماذا كل هذه التعقيدات؟
ما الهدف؟
الجواب بإختصار هو إختصار الوقت.
هذا السكريبت شخصيا محتفظ به بإسم ytv.
و يوجد بمجلد bin بالمنزل .يكفي فقط تصدير المسار.
ما يعني أنني عندما أريد تحميل فيديو. أكتب فقط :
ytv URL
و يمكن تغير السكريبت لتحميل الصوت فقط. و ذلك بالإحتفاظ فقط بجزء bestaudio
و هذه صورة للسكريبت. أتمنى أن يعمل الرابط:

