تطبيق قائم على سطر الأوامر/المحطة مكتوب باللغة Go لتنزيل السراويل القصيرة ومقاطع الفيديو باستخدام عناوين URL/المعرفات على YouTube.
ملحوظة : إذا كنت تبحث عن أداة جاهزة للاستخدام، فيرجى التحقق من المشكلات المثبتة لهذا الريبو.
تنزيل فيديوهات وشورتات اليوتيوب.
القدرة على الاختيار من بين صفات المحتوى المختلفة.
في الوقت الحاضر، يحتوي المشروع على تبعيتين،
tview - مكتبة واجهة المستخدم الطرفية التي تحتوي على عناصر واجهة مستخدم غنية وتفاعلية - مكتوبة بلغة Golang.
FFmpeg - إطار الوسائط المتعددة الرائد عبر الأنظمة الأساسية. يجب أن يتم تثبيته في النظام أو على الأقل أن يكون لديه أحدث ثنائي ثابت في الدليل الجذر للمشروع. إنها أكثر من تبعية وقت التشغيل الخارجي .
عند لصق معرف YouTube Shorts/الفيديو أو عنوان URL، يجلب التطبيق البيانات الوصفية من واجهات برمجة التطبيقات الداخلية في YouTube.
وبعد ذلك، اعتمادًا على اختيارات الجودة للفيديو والصوت، يقوم التطبيق بتنزيل محتوى الفيديوهات القصيرة/الفيديو عن طريق تقديم طلبات بيانات صغيرة الحجم إلى عناوين URL للمحتوى الذي تم جلبه.
في النهاية، إذا كان FFmpeg موجودًا، فسيتم دمج ملفات دفق الفيديو والصوت المنفصلة في ملف إخراج واحد.
بعد تثبيت Go، أدخل الأمر أدناه من جذر المشروع،
على لينكس/يونيكس،
go build -o go_youtube_downloader ./cmd/go_youtube_downloader.go
على ويندوز،
go build -o go_youtube_downloader.exe ./cmd/go_youtube_downloader.go
بعد تثبيت Go، قم باستنساخ/تنزيل هذا المشروع وأدخل الأمر أدناه من جذر المشروع،
go run ./cmd/go_youtube_downloader.go
يجب أن تكون الأنظمة مثبتة على FFmpeg أو أن يكون لديها أحدث ثنائي ثابت في الدليل الجذر للمشروع لدمج تدفقات الفيديو والصوت المنفصلة التي تم تنزيلها في ملف واحد.
لا يمكن تنزيل مقاطع الفيديو المقيدة بالفئة العمرية بسبب تشفير التوقيع في YouTube.
لدى YouTube قيود على النطاق الترددي لكل طلب وارد، حوالي 10 ميغابايت لكل طلب. إذا حصل أي طلب على بيانات أكثر من هذا الحجم، فستؤدي الطلبات الإضافية إلى اختناق التنزيل أو قد يتم إنهاء الاتصال. لذلك، للحصول على أداء أفضل عند تنزيل البيانات وكتابتها إلى ملف الإخراج، يتم تقسيمها إلى أجزاء أصغر لتحقيق الاتساق. بناءً على الجودة والحجم المحددين، سيكون وقت التنزيل أكثر أو أقل.
الهندسة العكسية على YouTube: إعادة النظر - مدونة تشرح واجهات برمجة التطبيقات الداخلية في YouTube.
YouTube-Internal-Clients - برنامج نصي بيثون يكتشف عملاء YouTube API المخفيين. مجرد مشروع بحثي.
YT-DLP - شوكة youtube-dl مع ميزات وإصلاحات إضافية
Youtubei - احصل على بيانات Youtube مثل مقاطع الفيديو وقوائم التشغيل والقنوات ومعلومات الفيديو والتعليقات ومقاطع الفيديو ذات الصلة والفيديو التالي والمزيد!
تنزيل ملف فعال في Golang: دليل شامل
مثال على ملفات تنزيل Golang
فريق نيوبايب
تنفيذ الأوامر المتقدمة في Go with os/exec