ویدیو Flash (.flv)
Adobe استانداردفلش ویدیو (FLV) یک فرمت کانتینر است که توسط Macromedia و Adobe برای ارائه ویدیو و صدای همگامسازی شده از طریق وب از طریق افزونه مرورگر Adobe Flash Player توسعه یافته است.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای FLV را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای FLV را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
46 4C 56 01نمایش ASCII: FLV
استانداردسازی: Adobe Systems Flash Video File Format Specification
مشخصات فنی
| معماری کانتینر | Tag-based streaming container with interleaved audio, video, and script data tags |
| فشردهسازی | Sorenson Spark, VP6, or H.264 video with MP3 or AAC audio |
| ترتیب بایتها (Endianness) | Big-Endian bit and byte ordering |
| فضاهای رنگی | YUV 4:2:0 |
| کانالها و ساختار | Mono and Stereo audio with video stream |
| حداکثر ابعاد | Commonly up to 1080p |
| شفافیت مشخصات | Alpha channel transparency supported in VP6 video streams |
| استریمینگ و پیشرونده | Native support for RTMP (Real-Time Messaging Protocol) live streaming |
ماتریس مقایسه فنی: FLV در برابر رقبا
| ویژگی فنی | FLV (فعلی) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| پشتیبانی مرورگر امروز | صفر درصد (به طور کامل از تمام مرورگرهای مدرن حذف شده است) | ۱۰۰ درصد سراسری در تمام مرورگرها | پشتیبانی ۱۰۰ درصدی در مرورگرهای مدرن | نیازمند پخشکننده رسانه دسکتاپ |
| استانداردسازی | مشخصات اختصاصی ادوبی | استاندارد باز بینالمللی ISO/IEC | استاندارد باز W3C / WebM | استاندارد متنباز ماتروسکا |
| پخش دستگاه موبایل | به صورت بومی در iOS و اندروید مدرن پشتیبانی نمیشود | پشتیبانی سختافزاری بومی | پشتیبانی سختافزاری بومی | پشتیبانی از طریق VLC/برنامههای شخص ثالث |
| شفافیت آلفا | پشتیبانی از طریق کدک On2 VP6 | محدود (نیازمند بوم یا WebCodecs) | پشتیبانی بومی کانال آلفا (VP9) | پشتیبانی شده در جریانهای VP9/ProRes |
حالتهای رایج خرابی و راهنمای بازیابی هگز
ویدیوی FLV دانلود شده مدت زمان کل را به صورت 'نامشخص' نشان میدهد و قابل اسکراب نیست.
علت ریشهای: نبود تگ اسکریپت 'onMetaData' حاوی جدولهای زمانبندی فریم کلیدی و حجم فایل.
بازیابی: تزریق جدولهای فریم کلیدی گمشده با استفاده از 'yamdi' (تزریقکننده متدادی دیگر) یا تبدیل به MP4 با File2File.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
افزونه فلش پلیر به دلیل اشکالات خرابی حافظه در ActionScript و تجزیه FLV، از نظر تاریخی یکی از آسیبپذیرترین مؤلفههای نرمافزاری در تاریخ محاسبات بوده است.
بردارهای حمله شناختهشده
- استفاده پس از آزادی و سرریز هیپ در موتور تجزیه ActionScript 3 FLV (به عنوان مثال CVE-2015-5122).
- بستههای متدادی AMF0/AMF3 ساخته شده که اجرای خودسرانه حافظه را فعال میکنند.
- سرریز بافر در روتینهای فشردهسازی زدایی قدیمی Sorenson Spark.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- پیشگام تاریخی ویدیوی آنلاین همهجانبه: پخش ویدیوی وب را بدون نیاز به پخشکنندههای دسکتاپ مستقل امکانپذیر کرد.
- پشتیبانی از شفافیت آلفا در جریانهای ویدیویی با استفاده از کدک On2 VP6.
- سربار پاکت کم بهینهسازی شده برای پخش زنده ویدیوی RTMP با تاخیر کم.
محدودیتها و معایب فنی
- کاملاً منسوخ شده و در تمام مرورگرهای وب مدرن پس از انقضای فلش پلیر پشتیبانی نمیشود.
- برای پخش در iOS، اندروید و تلویزیونهای هوشمند نیاز به کدگذاری مجدد یا تغییر کانتینر به MP4 دارد.
- فاقد ویژگیهای کانتینر مدرن مانند صدای چند کاناله و استریم با نرخ بیت تطبیقی واکنشگرا.
نکات فنی جالب
- اولین ویدیویی که تا به حال در یوتیوب آپلود شد ('Me at the zoo' در آوریل ۲۰۰۵) به عنوان یک فایل FLV رمزگذاری و تحویل داده شد.
- دنباله بایت جادویی فلش ویدیو '46 4C 56 01' کلمه اسکی 'FLV' و به دنبال آن نسخه کانتینر 1 را مینویسد.
- استیو جابز نامه سرگشاده معروف خود به نام 'فکری درباره فلش' را در سال ۲۰۱۰ منتشر کرد که سرعت حرکت صنعت از FLV به HTML5 MP4 را تسریع بخشید.
سوالات فنی متداول
چرا دیگر نمیتوانم فایلهای FLV را روی کامپیوتر خود پخش کنم؟
ادوبی و تمام مرورگرهای وب اصلی، فلش پلیر (Flash Player) را در دسامبر ۲۰۲۰ به دلیل آسیبپذیریهای امنیتی رسماً بازنشسته کردند. برای پخش فایلهای FLV در حال حاضر، از مدیا پلیر VLC استفاده کنید یا آنها را به MP4 تبدیل کنید.
آیا میتوانم FLV را بدون افت کیفیت به MP4 تبدیل کنم؟
اگر فایل FLV شامل ویدیو با کدک H.264 و صدای AAC باشد، File2File میتواند در چند ثانیه و بدون فشردهسازی مجدد ویدیو، آن را درون کانتینر MP4 بازبندی (Remux) کند.
ویدیوهای FLV در ابتدا از چه کدکی استفاده میکردند؟
فایلهای FLV اولیه از Sorenson Spark (نوعی از H.263) و بعدها On2 VP6 استفاده میکردند، پیش از اینکه ادوبی در سال ۲۰۰۷ پشتیبانی از کدک استاندارد H.264 را اضافه کند.