وب سایت هایی مشابه آپارات برای تبدیل ویدیوها از نرم افزارهای سمت سرور استفاده میکنن ، که محبوب ترین اش ffmpeg هست و برای کدک هم H.264 هست.
حالا اینکه حجم ویدیو رو چطور کم کنیم بستگی به خیلی چیزها داره.
حجم یک ویدیو به متغیرهای زیادی وابسطه هست ، تعداد پیکسل ها ( hd و sd ...) ، نرخ فریم ،عمق رنگ و حتی میزان حرکات توی یک ویدیو ،اما اگر بخواهم به طور کلی بگیم ، ۳ معیار اصلی اینها هستن:
۱.اولیش تعداد پیکسل هست ، میتونه مقدار SD باشه ۴۸۰×۷۲۰ که برابر ۳۴۵.۶۰۰ پیکسل به ازای هر فریم هست یا اگر full hd باشه به صورت ۱۰۸۰×۱۹۲۰ برابر ۲.۰۷۳.۶۰۰ پیکسل به ازای هر فریم هست
۲. دومیش مقدار طول فیلم هست ،این دیگه خودش واضح هست نیازی به توضیح نداره ، هر چی طول فیلم بیشتر ،حجم هم بیشتر
۳. سومی هم تعداد فریم به ازای هر ثانیه هست ، هر چی تعداد فریم بیشتر باشه حجم بیشتره ، اغلب ویدیو ها با نرخ فریم ۳۰ ضیط میشن .
اینهایی که بالا گفتم معیار های اصلی تعیین کننده حجم یک ویدیو هست ، حالا شما اگر بخواهید حجم یک ویدیو رو کاهش بدید با دو تا چیز سر و کار دارید ، یکی کدک و یکی دیگه هم بیت ریت.
کدک میتونه هم نرم افزاری باش هم سخت افزاری و به طور کلی اون الگوریتمی هست که برای فشرده سازی تصاویر استفاده میشه.
بیت ریت رو بخواهیم خلاصه اش کنیم ، مربوط میشه به تعداد بیت به ازای هر پیکسل (bits per pixel)
برای محاسبه تعداد بیت به ازای هر پیکسل (bits per pixel) اول باید مقدار تعداد پیکسل به ازای هر ثانیه (pixels per second) رو حساب کنیم ، فرمول اش : عرض x ارتفاع X فریم در ثانیه
بعد از اون مقدار pixels per second رو روی مقدار بیت ریت ویدیوی تون تقسیم کنید مقدار pixels per second رو به دست میارید.
Bits per pixel (bpp) = video bitrate / pixels per second
مقدار Bits per pixel اگر حدود 0.1 باشه یعنی اینکه شما کیفیت خیلی خوبی دارید ، اگر مقدار چیزی حدود 0.3 باشه ،کیفت پایین دارید.
این هم لیستی از بیت ریت به ازای رزولیشن متداول که توی وب استفاده میشه.
320p (mobile) 180 kbit/s
360p 300 kbit/s
480p 500 kbit/s
576p (PAL) 850 kbit/s
720p 1000 kbit/s
اسکریپت های مخصوص ایجاد سایت فیلم هستش که فکر کنم خودش بخش تبدیل فرمت هم داره توی سایت های codecanyon هم یه چیزایی بودبا تشکر از توضیحات کامل و جامع شما از اونجایی که 3 دوره سایت فیلم داشتم با این مفاهیم اشنام فقط موندم برای انجام اینکار چه نوع سروری نیازه ایا فشار زیادی میاره ! من معمولا 100 تا 100 تا لینک اپلود می کنم و با توجه به اینکه تک تک اینها باید پردازش بشه چه نوع سروری نیازه
برای اینکار CPU از همه مهم تره ، بستگی به این داره که چه ویدیویی ها رو با چه کیفیت تبدیل میکنی و اینکه چقدر میخواهی کاربر رو معطل کنی. (منظورم اینکه نخواهید برای تبدیل ویدیو ها خیلی کاربرها رو معطل کنید.).با تشکر از توضیحات کامل و جامع شما از اونجایی که 3 دوره سایت فیلم داشتم با این مفاهیم اشنام فقط موندم برای انجام اینکار چه نوع سروری نیازه ایا فشار زیادی میاره ! من معمولا 100 تا 100 تا لینک اپلود می کنم و با توجه به اینکه تک تک اینها باید پردازش بشه چه نوع سروری نیازه
خودم قبلا همچین کاری رو روی یک سرور EX 41 انجام دادم ولی جالب نبود و زیاد طول میکشید و سی پی یو جواب گو نبود البته بستگی به حجم ویدئو هم داره...همچین کاری برای یک سایت معمولی به صرفس ؟ یعنی چه نوع سروری نیازه ؟ قصد دارم همچین کاری انجام بدم
یوتیوب یک سیستم پردازش ویدیو داره به نام وایپر ، که این قابلیت رو داره به طور همزمان مقدار قابل توجهی از ویدیوها رو پردازش کنه (برای درک قدرتش ،همین کافی است که بدونید که یوتیوب هر ویدیو رو توی حداقل ۳۰ ثانیه تیدیل میکنه !)آقا فقط من موندم که سایتی مثل یوتیوب چطوری با این سرعت ویدیوها رو تبدیل می کنه. اونم با چند کیفیت متفاوت (حداقل 5 کیفیت و فرمت متفاوت)
شما هزارتا سرور هم داشته باشی و هر سرور برای تبدیل یک ویدیو استفاده بشه بازم بیشتر طول می کشه. مگر اینکه از پردازش ابری استفاده کنند یا تکنولوژی سرور کوانتومی داشته باشن.
کسی میدونه چطور با این سرعت تبدیل رو انجام میده؟
@alik
@aalireza439
برای اینکار CPU از همه مهم تره ، بستگی به این داره که چه ویدیویی ها رو با چه کیفیت تبدیل میکنی و اینکه چقدر میخواهی کاربر رو معطل کنی. (منظورم اینکه نخواهید برای تبدیل ویدیو ها خیلی کاربرها رو معطل کنید.).
خودم قبلا همچین کاری رو روی یک سرور EX 41 انجام دادم ولی جالب نبود و زیاد طول میکشید و سی پی یو جواب گو نبود البته بستگی به حجم ویدئو هم داره...
دستوراتی که برای سرور های اپارات ارسال میشه هنگام اپلود بودن کردن ویدئو بدون دستور کم حجم کردن اینه
ffmpeg -i "file.MKV.FLV.AVI.3GP" -bsf:a aac_adtstoasc -c copy "File.mp4"
و دستور فشرده سازی
ffmpeg -i "file.MKV.FLV.AVI.3GP" -bsf:a aac_adtstoasc -c copy -compressed_aac "File.mp4"
اصلا به صرفه نیست این کارو انجام بدید چون با این سرور های عادی نمیشه