ارما
9 ماه پیش توسط ارما مطرح شد
3 پاسخ

لینک ویدیو که نشه دانلود کرد مثل راکت

سلام دوستان من میخوام مثل خود راکت فایل های ویدویی ام رو تو storage بزارم که گذاشتم و مشکلیی هم ندارم اما
دقت ککنید به لینک های ویدو های راکت این جوریه
blob:https://roocket.ir/fae2b125-092b-4148-a3fd-3d2ce3738730
blob اون اولش میاد و فقط تو ویدو پلیر پخش میشه این چیه میشه توضیح بدین ؟


ثبت پرسش جدید
آرتین کریمی
تخصص : طراح وب و برنامه نویس
@error.404 9 ماه پیش مطرح شد
0

نمیدونم اگه یادم بیاد
این blob به معنی اینه که فقط برای شما قابل دسترسی هست.
اینو می تونستید با یه سرچ ساده پیدا کنید
موفق باشید.


سعید
تخصص : برنامه نویس وب
@Saeeed 9 ماه پیش مطرح شد
0

برای پخش امن باید اون ویدئو رو استریم کنی.


سید آرین سید مومن
تخصص : junior security researcher
@arianseyed 9 ماه پیش آپدیت شد
0

@arma.malekii درود
روش مناسبی برای حافظت از فیلم هاست که فیلیمو هم اگر اشتباه نکنم ازش استفاده می کرد
این متن توی خودسایت راکت بود ، فکر کنم توی بخش مقالات ، قبلا برا خودم ذخیره اش کرده بودم ، امیدوارم به درد شما هم بخوره 👇
blob در دیتابیس:
در بعضی از نرم افزار ها فایل ها رو در دیتابیس ذخیره می کنن و به دیتا تایپی که میتونه فایل رو داخل یک ردیف ذخیره کنه blob گفته میشه. بعضی دیتابیس ها با استفاده از blob پرفرمنسشون پایین میاد ولی بعضی ها مشکلی براشون پیش نمیاد و حتی می تونن از وسط فایل ذخیره شده به مقدار نیاز سلکت کنن(نیاز نیست کل فایل رو سلکت کنن و این بیشتر برای خوندن فایل هایی مثل فایل ویدئویی یا صوتی استفاده میشه )

blob در مرورگرها:
داخل هر صفحه مرورگر می شود با استفاده از URL.createObjectURL() آبجکتی از فایل رو ساخت که فقط داخل اون صفحه قابل استفاده هست. یعنی یک استرینگ بزرگ میتونه درست کنه که محتویات فایل رو داخل اون به شکل متن ذخیره کنه. MDN که src="blob:http//xxxxxxxxx" خودش این کار رو می کنه

حالا ممکنه براتون سوال پیش بیاد که چرا از فایل باید آبجکت بسازه و بعد از اون استفاده کنه؟
دلیلش اینه که سرور طرف مقابل در جواب اون url برای شما محتویات فایل رو به شکل باینری می فرسته که یعنی همون buffer . و تگی مثل <img> نمیتون دیتای داخل فایل رو رندر کنه (باید خودش فایل رو open کنه و محتویات داخلش رو بخونه .. ورودی برای محتویات از قبل خوانده شده نداره). پس باید داخل مرورگر تبدیل به فایل بشه و بعد تگ <img> بتونه اون رو بکشه داخل خودش و بعد خودش محتویاتش رو بخونه و رندر کنه.

باز ممکنه سوال پیش بیاد که اصلا چرا همچین کاری رو می کنن و روی مرورگر دوباره کاری می کنن؟
دلیلش اینه که توی خیلی از زبان ها و فریمورک های برنامه نویسی آبجکت هایی که فایل تصویری رو رندر می کنن مثل تگ <img> خودشون فایل رو از روی آدرس نمی خونن که باز محتویاتش رو بخونن، و باید محتویات فایل به اون آبجکت ها برسه و برنامه نویس ها باید خودشون قسمتی برای برنامه ایجاد کنن که فایل رو بخونه و محتویات اون رو به شکل buffer (که بیشتر هم به صورت bytearray هستند) به آبجکت های رندر تصویر برسونه که این خودش مزایای خیلی خیلی زیادی برای بالاتر بردن پرفورمنس و سرعت و استیبل کردن یک نرم افزار داره.

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

توی بعضی از سایت ها هم که نمونش رو دیدید میتونه دلیلش این باشه که فایل ها به صورت blob داخل دیتابیس ذخیره شده باشن و وقتی که برنامه بک اند محتویات اون blob رو میخونه دیگه نیاز نباشه که اون رو تبدیل به فایل کنه و جایی ذخیره کنه که بعدش مرور گر دوباره برای دانلود اون فایل درخواست بده ... مستقیم در جواب اولین درخواست محتویات فایل رو به صورت buffer می فرسته به مرورگر .. حالا توی مرورگر تبدیل به آبجکت فایل میشه و تگ <img> اون رو میخونه یا اگر هم نسخه نیتیو برای دسکتاپ یا موبایل داشته باشن هم میتونن مستقیم دیتا رو استفاده کنن


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

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