راکت
حل شده

جلوگیری از دانلود ویدیو

7 پاسخ

سلام دوستان می خواستم بدونم به چه صورت می شه ویدیو های سایت را به صورتی پخش کرد که قابل دانلود نباشند.
در حال حاضر سایت هایی مثل Filimo و ... دارند این کار را انجام می دهند.
توی سرچ هایی که داشتم به پسوند هایی رسیدم مثل M3U8 و MP2T و HDCP که باید ویدیو را به این پسوند های تبدیل کرد و به صورت Stream ارسال بکنیم.
توی بررسی هایی که داشتم از سایت filimo ابتدا یه فایل با پسوند m3u ارسال می کنه که داخلش آدرس های فایل ts هست و در ادامه فایل هایی با پسوند ts ارسال می کنه.
می خواستم این کار را در Laravel انجام بدم، آیا از دوستان کسی هست که بتونه کمکی بکنه.

#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-ALLOW-CACHE:YES
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:12.012,
s-1-v1-a1.ts?wmsAuthSign=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbiI6IjJlZjI2NzUxNWY5NTgyYjMzZWViOTQ3NWM1OGNlMzY5IiwiZXhwIjoxNTc3OTQ0ODEzLCJpc3MiOiJTYWJhIElkZWEgR1NJRyJ9.3iQyNtxpMnqK38yRPJJG7b00VSB4cPayz_rif7WNZkw
#EXTINF:12.012,
s-2-v1-a1.ts?wmsAuthSign=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbiI6IjJlZjI2NzUxNWY5NTgyYjMzZWViOTQ3NWM1OGNlMzY5IiwiZXhwIjoxNTc3OTQ0ODEzLCJpc3MiOiJTYWJhIElkZWEgR1NJRyJ9.3iQyNtxpMnqK38yRPJJG7b00VSB4cPayz_rif7WNZkw
#EXTINF:6.006,
s-3-v1-a1.ts?wmsAuthSign=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbiI6IjJlZjI2NzUxNWY5NTgyYjMzZWViOTQ3NWM1OGNlMzY5IiwiZXhwIjoxNTc3OTQ0ODEzLCJpc3MiOiJTYWJhIElkZWEgR1NJRyJ9.3iQyNtxpMnqK38yRPJJG7b00VSB4cPayz_rif7WNZkw
#EXTINF:12.012,
s-4-v1-a1.ts?

alt text

ثبت پرسش جدید

پاسخ‌ها

7
محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

بهترین پاسخ

@HamidNE
سلام. برای این کار باید از FFMpeg استفاده کنید. ---> https://www.ffmpeg.org
برای php این پکیج رو داره ---> https://github.com/PHP-FFMpeg/PHP-FFMpeg
و برای لاراول هم این پکیج رو ---> https://github.com/pascalbaljetmedia/laravel-ffmpeg

درمورد این کاری که شما میخواید انجام بدید از لینک زیر استفاده کنید، دقیقا همونی میشه که میخواستید :
https://protone.media/en/blog/how-to-use-ffmpeg-in-your-laravel-projects

Nameless
Nameless
@HamidNE

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

@mohsenbostan
حالا به غیر از این روش، روشی هایی هست که جلو دانلود مستقیم کاربر را گرفت؟

محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

@HamidNE
کلا بحث جلو گیری از دانلود یکم پیچیدگی داره و در حالت عادی غیر ممکن حساب میشه. چند روش داره که من اصولی ترین روش رو به شما گفتم. روش دیگه هم اگه بخواید، میتونید توی کانفیگ سرورتون فرمت های .mp4 یا هرچی که میخواهید رو دانلودشون رو ممنوع کنید. ولی این امکان داره باعث بشه که توی سایت هم پلی نشن. راه بعدی هم RTMP هست که این روش هم دقیقا همون استریم کردن ویدیو هستش که فکر نکنم برای شما کاربردی داشته باشه.

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

amir dabaghi
amir dabaghi
@amir463

تخصص: Full-Stack Web Developer Freelancer

سلام
این پکیج لاراولی که فرمودین روی سرورهای اشتراکی هم قابل پیاده هست یا خیر ؟
https://github.com/pascalbaljetmedia/laravel-ffmpeg
و هاستینگ ها در اختیار می گذارند یا خیر منظورم پلاگین های ffmpeg هست نه نصب پکیج لاراول
تو ویندوز ظاهرا باید متغییرهای زیر رو تو .env اضافه کنبم با آدرس پلاگین پخش

'ffmpeg.binaries'  => 'C:/FFmpeg/bin/ffmpeg.exe', // the path to the FFMpeg binary
            'ffprobe.binaries' => 'C:/FFmpeg/bin/ffprobe.exe',
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@amir463
بعید میدونم هاستینگ ها اجازه اجرای FFMPEG رو بدند
این ابزار منابع سرور رو درگیر میکنه

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@ali.bayat یک سوال داشتم برای جلوگیری از دانلود ویدیو توسط کاربر بهتره که از blob استفاده کنیم یا بیایم با این روشی که در این سوال مطرح شده این رو پیاده سازی کنیم ؟؟

علی سعیدی
علی سعیدی
@ali_saeedi_dev

با سلام و عرض ادب
من این روش رو امتحان کردم و چند تا خروجی بهم داد ، ولی وقتی خروجی ها رو داخل تگ ویدیو گذاشتم قابل دانلود بودن
مگه این روش از دانلود توسط دانلود منیجرهایی مثل idm جلوگیری نمیکنه ؟
لطفا پاسخ بدید با تشکر

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

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