هوتن القاس پور
چگونه از HTTP Live Streaming و Blob URL ویدیو ها را دانلود کنیم
در حقیقت تعدادی ویدیو از اینجا می خواستم دانلود کنم.
حتی پس از ورود به سیستم، ویدیوها لینک دانلود ندارند، ما ندیدیم. جایی هم ننوشته بود دانلود نکنید!
از تکنولوژی HTTP Live Streaming و Flowplayer AB بعنوان پخش کننده استفاده می کند و با Blob Url طرف هستید که از روی یک فایل M3U8، ویدیوها را بصورت شکسته شده به فایل های کوچکتر ts. ، خوانده و پخش می کند. فایل M3U8 در حقیقت معرف یک playlist است.
استفاده از این روش هم بخاطر امکان استریم و کنترل و تطابق پذیری با اینترنت های مختلف کاربران و پخش روان تر است و هم شاید کمی برای جلوگیری از دانلود راحت کل ویدیو توسط کاربر.
برای مثال در این ویدیو ؛
فایل اصلی playlist :
https://vino.ut.ac.ir/s2/KwLzl/processed/video/5711fb1b-368b-4bd0-9585-749a6de42961/playlist.m3u8
به محتوی :
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=400000,RESOLUTION=256x144
144P/manifest.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=600000,RESOLUTION=426x240
240P/manifest.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360
360P/manifest.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1400000,RESOLUTION=854x480
480P/manifest.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720
720P/manifest.m3u8
است و در نتیجه مثلاً آدرس :
https://vino.ut.ac.ir/s2/KwLzl/processed/video/5711fb1b-368b-4bd0-9585-749a6de42961/720P/manifest.m3u8
به playlist فایل های شکسته شده این ویدیو (162 فایل) با کیفیت 720 و با فرمت ts. اشاره دارد.
چگونه آدرس M3U8 اصلی را بدست آوریم؟
با استفاده از inspect element و developer tools و ... مرورگر می توانید دستی آن را پیدا کنید.
یا HTTP Live streams (HLS) Downloader را بصورت extension مثلاً روی کوروم یا فایرفاکس نصب بفرمایید.
چگونه کل playlist را براحتی با فرمت mp4 دانلود نماییم؟
با استفاده از VLC طبق مراحل ضمیمه شده در تصاویر، ابتدا open network stream را بزنید و آدرس playlist را بدهید و سپس convert را انتخاب کرده و آدرس فایل mp4 برای ذخیره را مشخص کنید.
و در نهایت کل ویدیو را روی یک فایل mp4 خواهید داشت.
بروزرسانی :
برای دانلود ویدیو از مواردی مثل سرویس هایی که از VOD ابر آروان استفاده می کنند، ابتدا فایل manifest.mpd را از response پیدا کنید و سپس با youtube-dl دانلود بفرمایید.
مطلبی دیگر از این انتشارات
Binary Analysis - PART One
مطلبی دیگر از این انتشارات
برنامه نویسی شی گرا؛ سرآغاز و تاریخچه پیدایش
مطلبی دیگر از این انتشارات
پیاده سازی پخش کننده موزیک با زبان C و GTK-2.0 ( قسمت دوم )