راکت
حل شده

استریم در لاراول و انگولار

7 پاسخ

سلام دوستان

نیاز به این داریم که دقیقن مثل همین وبسایت، ویدیو استریم کنیم. تعداد ویدیو ها زیاد هست. یک یا چند کیفیت بودنش فعلن مهم نیست.
بک سایت با لاراول API هستش و فرانت با انگولار هر دو هم آخرین ورژن.

برای این کار لطف میکنین راهنمایی کنین؟

ثبت پرسش جدید

پاسخ‌ها

7
mmjvox
mmjvox
@mmdjv.kh94

تخصص: QML,Objective-C,Qt/C++,Webassembly

بهترین پاسخ

ببینید آخه شما با یک مدرسه طرف حساب هستید.
راه های زیادی هست.
ولی از یک طرف وقت زیادی باید صرف کنید . از یک طرف هم اونها متوجه زحمت شما نیستن 😀
همین m3u براشون زیاد هم هست

ولی خیلی دلم برای اون بچه ای میسوزه که باید برای هربار تماشا کردن اون همه اینترنت مصرف کنه

1- برای بروزر ها:
فایل m3u8 یک نوع پلی لیست هست برای خوندن تکه های یک فایل
شما میتونید یک سیستم دیگه مثل m3u8 بسازید، طوری که یک پلی لیست داشته باشید و داخل اون تکه های فایل (تکه هایی با encrypt خودتون) رو وارد کنید (خیلی encrypt خاصی نیاز نیست و zip کردن می تونه کافی باشه) بعد روی بروزر این تکه های فایل رو تک تک دانلود کنید و بعد از decrypt کردن داخل یک circular buffer جمع کنید و وقتی circular buffer شما تا حد کافی پر شد دیتای داخلش رو به سمت پلیر بفرستید (همزمان از طرفی که داره دانلود میشه پر میشه و از طرفی هم که داره برای پلیر فرستاده میشه خالی میشه)
circular buffer
circular buffer

2- اپ موبایل:
توی اندروید همچین آدرسی برای هر برنامه وجود داره که فقط برای همون برنامه دسترسی داره .. میتونید فیلم ها رو اونجا بریزید

/data/data/your.package.name/files/

توی ios هم هر اپی فقط به فایل های خودش دسترسی داره.
می تونید از همون circular buffer هم اینجا استفاده کنید.

3- اپ دسکتاپ و موبایل
یا این که میتونید برای همه پلتفرم ها از یک encrypt سبک برای فایل ها استفاده کنید که فقط داخل اپ شما خونده بشن.
می تونید از همون circular buffer هم اینجا استفاده کنید.

ولی این کار ها برای یک مدرسه می ارزه؟

mmjvox
mmjvox
@mmdjv.kh94

تخصص: QML,Objective-C,Qt/C++,Webassembly

یه سوال
مگه این سایت استریم ویدئو هم داره؟

پویا زورآوند
پویا زورآوند
@zouravand

تخصص: برنامه نویس بک اند

دوره ها رو به صورت استریم پخش میکنه که protected هست و نمیشه دانلود بشه

شاید پاسخ شما همین‌جا باشد

mmjvox
mmjvox
@mmdjv.kh94

تخصص: QML,Objective-C,Qt/C++,Webassembly

استریم واقعی نیست 🙏، یعنی کسی اونور به صورت زنده چیزی رو برای شما ارسال نمی کنه .. فقط داره فایل رو به صورت چانک چانک دانلود می کنه برای همین راحت نمیشه دانلود کرد.
توی این سایت از روش M3U استفاده کردن برای پخش ویدئو ها
M3U برای استریم ساخته شده ، ,ولی realtime نیست و تاخیر زیادی می تونه داشته باشه. برای همین برای استریم هایی مثل تماس صوتی یا تصویری مناسب نیست. چون استریم اصلی که به سمت سرور فرستاده میشه را روی سرور به صورت فایل یا بافر ذخیره می کنه و کلاینت ها هر چند ثانیه درخواست دانلود یک قسمت از اون ویدئوی ذخیره شده رو میدن.
حالا این سایت برای این که ویدئو ها دانلود نشن اومده از M3U استفاده کرده و قصدش استریم نبوده .
پلیر m3u برای انگولار

اگه استریم لحظه ای و بدون تاخیر نیاز دارید بهتره از webrtc یا rtmp یا rtsp استفاده کنید.

حالا دانلود کردن ویدئو های این سایت (یا هر سایتی که با m3u داره پلی می کنه مثل این سایت های ایرانی پخش فیلم) هم کار سختی نیست:

ffmpeg -i http://....m3u8 -c copy roocket.mp4
  • من خودم تا حالا ویدئو های این سایت رو دانلود نکردم. استفاده هم نکردم و نمیدونم آیا قابلیت دانلود دارن یا خیر 🙏.
پویا زورآوند
پویا زورآوند
@zouravand

تخصص: برنامه نویس بک اند

ممنونم، خیلی کامل و خوب توضیح دادین.

برای سایت و PWA که فیلم آموزشی برای مدرسه پخش میکنه، به نظرتون این روش مناسبه؟

@mmdjv.kh94

mmjvox
mmjvox
@mmdjv.kh94

تخصص: QML,Objective-C,Qt/C++,Webassembly

خپ هدف شما چیه؟ میخواید جلوی دانلود رو بگیرید؟
میخواید مثل تلویزیون سر تایم خاصی هر فیلم رو پخش کنید؟

پویا زورآوند
پویا زورآوند
@zouravand

تخصص: برنامه نویس بک اند

جلوی دانلود رو بگیریم، زودتر از دانلود کامل پخش کنیم، حتا اگر بشه تو PWA دانلود کتیم و فقط از طریق اپ پخش بشه

@mmdjv.kh94

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام