گفتم باید ویدیوتون رو برای استریم شدن تبدیل کنید و براش یک playlist ایجاد کنید ، شما میتونید فایل ویدیویی تون رو تیکه تیکه کنید و یک پلی لیست M3U8 براش ایجاد کنید.
اطلاعات کاملش اینجا هست : https://developer.apple.com/document...live_streaming
این هم یک اسکریپت برای ایجاد پلی لیست M3U8 ، کافیه فایل ویدیوی تون رو بهش بدید ، خودش پلی لیست M3U8 رو به همراه فایل ویدیو بخش بندی شده بهتون تحویل میده.
https://github.com/bentasker/HLS-Stream-Creator
برای پخش ویدیو هم کافیه آدرس فایل پلی لیست رو بدید به یک پلیری مثل video.js
این نسخه اش : https://videojs.github.io/videojs-contrib-hls/
برای اینکه ۱۰۰ درصد جلوی دانلود رو بگیرید ،میتونید ویدیو های تون رو سمت سرور رمز گذاری کنید (مقداری از هر کی فریم رمزگذاری میشه) ، بعد توی مرورگر با استفاده از Media Source Extensions API رمزگشایی کنید ، سایت هایی مثل نتفلیکس از این روش استفاده میکنن ، هیچ راهی برای دانلود شون وجود نداره. (بالاتر هم این رو گفته بودم)
این روش چند مشکل اساسی داره (بالاتر هم نوشتم)
اول اینکه کاربر باید کل ویدیو رو دانلود کنه ، بعد میتونه تماشاش کنه ! اصل پخش آنلاین اینکه همون لحظه بتونی پلی اش کنی.
بعدشم blob تو مرورگر یک محدودیت حجمی داره ، شما نمیتونید فایل های بزرگ رو توش ذخیره کنید (مگر اینکه از . IndexDB استفاده کنید) ،
اخر هم اینکه این فایل توی مموری ذخیره میشه ، اگر فایل بزرگ باشه باعث میشه مرورگر کرش کنه.
پ.ن: این کدی که گذاشتید ، فایل رو از Input مگیره ، هیچ فایلی رو دانلود نمیکنه.