Blob یک ابجکت جاوااسکریپت هست ، که ازش برای نمایش داده های خام تو جاوا اسکریپت استفاده میشه ، داده هایی که یه صورت عادی تو جاوا اسکریپت پشتیبانی نمیشه ، مثل داده های باینری (نمونه داده هایی مثل تصویر یا ویدیو)
وقتی یک داده Blob دارید ، به خودی خودش نمیتونید ازش استفاده کنید ، برای اینکه بتونید از اون داده های استفاده کنید ، باید از یک متد createObjectURL استفاده کنید ، این متد یک URL برای ارائه داده ایجاد میکنه (طول عمرش بسته به اون داکیومنتی که داخلش ایجاد شده هست)
Blob هیچ نقشی توی کد گذاری نداره ، برای استفاده از ویدیوهای کد گذاری شده باید از Encrypted Media Extensions که یکی از API های مرورگر هست استفاده کنید.
برای نمایش ویدیو های به صورت Blob از نظر فنی میتونید اینکار رو انجام بدید ، اول باید اون ویدیو رو کامل دانلود کنید ، بعد براش یک createObjectURL ایجاد کنید و در آخر هم توی سورس ویدیو قرارش بدید ، این روش برای ویدیوهای کوتاه جواب میده ، اما برای ویدیوهای بزرگ هم اینکه احمقانه هست ، و اینکه خود مرورگرها هم محدودیت هایی تو اندازه فایل های دانلودی دارن.
برای نمایش فایل های بزرگ شما اول باید فایل ویدیویی تون رو به قسمت های کوچیکتر تقسیم کنید (مثلا قسمت های ۱۰ ثانیه ای) ، بعد یک فایل نقشه برای تقسیم بندهای تون درست کنید (اینکه هر قسمت مربوط به کدوم بازه زمانی ویدیوتون هست) ، بعد از اون هنگام پخش ویدیو قسمت ها متناوب با پخش ویدیو دانلود کنید براش یک createObjectURL ایجاد کنید و اون رو جهت بخش به مرورگر بدیم (برای پخش ویدیوهای به اینصورت (استریم) باید از |Media Source Extensions API استفاده کنید).
به روش بالا میگن استریم ، ۲ استاندارد پر طرفدار برای استریم ویدیوهای داریم یکی HLS و یک هم MPEG Dash ، هر دوی این استاندارد ها یکسری قوانین برای نحوه استریم ویدیو تعیین میکنن ، که تا حدودی مشابه هم هست ، تفاوت شون توی پشتیبانی و لاسینسینگ هست.
شما برای اینکه بخواهید ویدیویی رو تو مرورگر (یا هر پلتفرم دیگه ای مثل موبایل) استریم کنید ، نیازی نیست که خودتون تمام کارهایی که اون بالا گفتم رو انجام بدید ، کتابخانه های رایگان زیادی هستن برای اینکار مثل Hls.js, shakaPlayer, dash..js و ... پلیرهایی مثل Video.js و Jwplayer هم از همین کتابخونه های استفاده میکنن.
برای آماده سازی ویدیوها توی برای استریم هم ابزارهایی رایگان زیادی هست ، من استفاده از FFmpeg رو پیشنهاد میکنم.