سرویس فعال — تحویل از لبهٔ ایران

CDN ویدیو: تحویل HLS و DASH از لبهٔ ایران

ویدیوهایی که خودتان به HLS یا DASH بسته‌بندی کرده‌اید، از لبهٔ داخل ایران با هدر کش مناسب هر نوع فایل و CORS آماده برای player‌های وب تحویل داده می‌شوند: فهرست پخش با اعتبار دو ثانیه، قطعه‌ها با اعتبار یک‌ساله در مرورگر. ترافیک خروجی لبه رایگان است.

video.example.com/lesson-12/
فهرست پخش .m3u8 · .mpd
۲ ثانیه
قطعه‌ها .ts · .m4s
۱ سال، immutable
CORS برای player
باز
اتصال
HTTPS روی لبه
اعتبار کش در مرورگر بیننده؛ فایل‌های HLS و DASH را سرور مبدأ شما می‌سازد.

معرفی

تحویل ویدیوی HLS و DASH از لبه چگونه کار می‌کند؟

در پخش تطبیقی، ویدیو به قطعه‌های کوتاه و چند کیفیت تقسیم می‌شود و player بسته به سرعت اینترنت بیننده کیفیت مناسب را انتخاب می‌کند. شما ویدیو را روی سرور خودتان به HLS یا DASH بسته‌بندی می‌کنید و CDN ایران‌کلاد فهرست‌های پخش و قطعه‌ها را از لبهٔ داخل ایران، با SSL معتبر دامنهٔ شما، به بیننده می‌رساند.

لبه برای فهرست پخش اعتبار کش دوثانیه‌ای و برای قطعه‌ها اعتبار یک‌ساله در مرورگر تنظیم می‌کند و هدر CORS را برای player‌های روی دامنهٔ دیگر می‌گذارد. قطعه‌ها روی لبه ذخیره نمی‌شوند و تبدیل کیفیت، آپلود و لینک امضاشده بخشی از این قابلیت نیستند.

فهرست و قطعه
HLS + DASH
m3u8‏، mpd‏، ts‏، m4s
اعتبار فهرست پخش
۲ ثانیه
همیشه فهرست تازه
اعتبار قطعه در مرورگر
۱ سال
immutable
برای player‌های وب
CORS
روی همهٔ فایل‌های پخش

قابلیت‌ها

با روشن کردن تحویل ویدیو چه چیزی می‌گیرید؟

تنظیمات آمادهٔ لبه برای فایل‌های پخش تکه‌ای؛ بسته‌بندی ویدیو با خودتان.

کش متناسب با نوع فایل

فهرست پخش دو ثانیه و قطعه‌ها یک سال در مرورگر معتبرند؛ بدون تنظیم دستی روی سرور.

HLS و DASH

فایل‌های m3u8‏، mpd‏، ts‏، m4s‏، cmfv و cmfa خودکار تشخیص داده می‌شوند.

CORS آماده

player روی دامنهٔ دیگر هم می‌تواند فهرست و قطعه‌ها را بخواند.

SSL خودکار

آدرس HTTPS معتبر برای ویدیوها؛ گواهی روی لبه صادر و تمدید می‌شود.

بسته‌بندی روی سرور شما

لبه همان فایل‌های HLS و DASH را که سرور مبدأ ساخته تحویل می‌دهد؛ تبدیل کیفیت و آپلود در این قابلیت نیست.

آمار ترافیک

تعداد درخواست و حجم ترافیک هر دامنه را در تحلیل ترافیک CDN ببینید.

قیمت

هزینهٔ تحویل ویدیو

برای تحویل ویدیو مبلغ جداگانه‌ای نیست و ترافیک پخش از لبه به بیننده رایگان است؛ فقط مازاد سهمیه‌های ماهانهٔ لبه کسر می‌شود.

ترافیک پخش به بیننده

رایگان

هر حجمی که از لبه به بیننده برسد

درخواست قطعه‌ها

۱۰۶ تومان / ۱۰٬۰۰۰ درخواست

پس از ۱ میلیارد درخواست رایگان در ماه، مبدأ داخل ایران (خارج از ایران: ۱۵۸ تومان)

ترافیک ورودی مازاد

۱٬۶۵۰ تومان / گیگابایت

پس از ۱۰ گیگابایت رایگان در ماه

هر قطعهٔ ویدیو یک درخواست است. ترافیک خروجی سرور مبدأ طبق شرایط سرویس همان سرور محاسبه می‌شود. جزئیات و مثال در راهنمای هزینه.

ویدیو را روی سرور خودتان به HLS یا DASH بسته‌بندی کنید و کلید «پخش ویدیو (HLS/DASH)» را در تنظیمات CDN همان رکورد روشن کنید؛ پروکسی لبه باید روشن باشد.

ثبت‌نام و فعال‌سازی

حساب دارید؟ وارد شوید تا مستقیم به تنظیمات CDN بروید.

۵ گام تا شروع

راه‌اندازی در پنج قدم

بسته‌بندی ویدیو با خودتان است؛ لبه تحویل، کش مرورگر و CORS را انجام می‌دهد.

  1. گام ۱: بسته‌بندی ویدیو

    ویدیو را روی سرور مبدأ با ffmpeg یا ابزار مشابه به HLS یا DASH در یک یا چند کیفیت تبدیل کنید.

  2. گام ۲: انتخاب رکورد

    در پنل به CDN و سپس «تنظیمات و دامنه‌ها» بروید و رکوردی را که ویدیوها از آن سرو می‌شوند انتخاب کنید؛ پروکسی لبه باید روشن باشد.

  3. گام ۳: روشن کردن تحویل ویدیو

    کلید «پخش ویدیو (HLS/DASH)» را روشن و تنظیمات را ذخیره کنید.

  4. گام ۴: قرار دادن لینک در player

    آدرس HTTPS فایل m3u8 یا mpd را در player سایت قرار دهید.

  5. گام ۵: بررسی هدرها

    با ابزار بررسی هدر ببینید فهرست پخش max-age=2 و قطعه‌ها max-age=31536000 دارند.

راهنمای کامل

راهنمای کامل تحویل ویدیوی HLS و DASH روی CDN ایران‌کلاد

پخش ویدیو در وب دیگر با یک فایل mp4 بزرگ انجام نمی‌شود؛ پلتفرم‌های آموزشی و ویدیویی محتوا را تکه‌تکه و چندکیفیتی منتشر می‌کنند. این راهنما توضیح می‌دهد قابلیت تحویل ویدیوی CDN ایران‌کلاد دقیقاً چه کاری برای فهرست‌های پخش و قطعه‌های HLS و DASH انجام می‌دهد، چه کارهایی را باید خودتان انجام دهید و چطور یک کتابخانهٔ ویدیو را پشت پروکسی لبه راه بیندازید.

۱۰ بخش حدود ۶ دقیقه مطالعه

فهرست مطالب

تحویل ویدیو روی CDN چیست و برای چه کسانی مناسب است؟

تحویل ویدیو یک تنظیم آماده روی لبهٔ ایران‌کلاد برای فایل‌های پخش تکه‌ای است. وقتی آن را برای رکوردی روشن می‌کنید، لبه فایل‌های فهرست پخش (m3u8 و mpd) و قطعه‌های ویدیو (ts‏، m4s‏، cmfv و cmfa) را تشخیص می‌دهد و برای هر کدام هدر کش و CORS مخصوص خودش را می‌گذارد. هدف این است که player همیشه فهرست تازه را بگیرد و قطعه‌هایی را که قبلاً دیده دوباره دانلود نکند.

این قابلیت برای سایت‌های آموزش آنلاین، آکادمی‌های داخلی سازمان‌ها، رسانه‌هایی که آرشیو ویدیو دارند، پلتفرم‌های ویدیوی درخواستی کوچک و هر تیمی مناسب است که ویدیو را خودش آماده می‌کند و می‌خواهد آن را با دامنه و SSL خودش از داخل ایران تحویل دهد.

اگر به دنبال سرویسی هستید که ویدیو را آپلود کنید و خودش به چند کیفیت تبدیل کند، این قابلیت چنین کاری نمی‌کند. تبدیل و بسته‌بندی بر عهدهٔ شماست و در بخش راه‌اندازی همین راهنما نشان می‌دهیم با یک دستور ffmpeg چطور انجامش دهید.

لبه با فهرست پخش و قطعه‌های ویدیو چه می‌کند؟

هر درخواست ویدیو از مسیر HTTPS دامنهٔ شما به لبه می‌رسد و لبه آن را به سرور مبدأ می‌فرستد. فرق مسیر ویدیو با یک درخواست معمولی در هدرهایی است که روی پاسخ گذاشته می‌شود. فهرست پخش اعتبار دوثانیه‌ای می‌گیرد، چون ممکن است عوض شود؛ قطعه‌ها اعتبار یک‌ساله با برچسب immutable می‌گیرند، چون محتوای یک قطعه هیچ‌وقت تغییر نمی‌کند.

روی هر دو نوع فایل هدر Access-Control-Allow-Origin با مقدار ستاره قرار می‌گیرد تا player روی دامنهٔ دیگری، مثلاً سایت اصلی‌تان در حالی که ویدیوها روی video.example.com هستند، بتواند آن‌ها را بخواند. درخواست‌های Range هم بدون تغییر به سرور مبدأ می‌رسند. قطعه‌ها و فهرست‌ها روی خود لبه ذخیره نمی‌شوند و هر درخواست از سرور مبدأ خوانده می‌شود.

نوع فایلپسوندهدر کش روی پاسخCORS
فهرست پخش HLSm3u8public، اعتبار ۲ ثانیهباز برای همهٔ دامنه‌ها
فهرست پخش DASHmpdpublic، اعتبار ۲ ثانیهباز برای همهٔ دامنه‌ها
قطعهٔ ویدیوts‏، m4s‏، cmfv‏، cmfapublic، اعتبار یک سال، immutableباز برای همهٔ دامنه‌ها
ویدیوی کاملmp4‏، webmمسیر کش استاتیک (فایل‌های تا ۱ مگابایت روی لبه)طبق تنظیم CORS دامنه

بازگشت به فهرست مطالب

کاربردهای رایج تحویل ویدیوی HLS و DASH

هر جا ویدیوی ضبط‌شده دارید که بیننده باید بدون دانلود کامل فایل، بلافاصله پخشش کند:

  • دوره‌های آموزشی: درس‌های ضبط‌شده با player داخل سایت آموزشی
  • آکادمی سازمانی: ویدیوهای آموزش کارکنان روی یک زیردامنهٔ داخلی
  • آرشیو رسانه: گزارش‌ها و برنامه‌های ضبط‌شده با چند کیفیت
  • معرفی محصول: ویدیوی صفحهٔ فرود که باید روی موبایل سریع شروع شود
  • وبینار ضبط‌شده: نسخهٔ آرشیوی جلسه‌ها پس از پایان پخش زنده
  • اپلیکیشن موبایل: player‌های اندروید و iOS که مستقیم m3u8 می‌خوانند

بازگشت به فهرست مطالب

راه‌اندازی تحویل ویدیو قدم‌به‌قدم

ابتدا ویدیو را روی سرور مبدأ بسته‌بندی کنید. برای یک کیفیت ساده، دستوری مثل ffmpeg -i lesson.mp4 -c:v libx264 -c:a aac -hls_time 6 -hls_playlist_type vod lesson.m3u8 فایل فهرست و قطعه‌های ts را می‌سازد. برای چند کیفیت، همین کار را برای هر کیفیت تکرار و یک فهرست اصلی بسازید. سرور مبدأ می‌تواند یک سرور ابری با Nginx باشد که پوشهٔ ویدیوها را سرو می‌کند.

  1. دامنه را روی DNS ایران‌کلاد بیاورید و رکوردی برای ویدیوها بسازید
  2. پروکسی لبه را برای همان رکورد روشن کنید
  3. در تنظیمات CDN کلید «پخش ویدیو (HLS/DASH)» را روشن کنید
  4. آدرس HTTPS فایل m3u8 یا mpd را در player سایت بگذارید
  5. با ابزار بررسی هدر هدرهای کش و CORS را کنترل کنید

سافاری و iOS فایل m3u8 را مستقیم پخش می‌کنند؛ در کروم و فایرفاکس از hls.js یا Video.js استفاده کنید.

بازگشت به فهرست مطالب

هزینهٔ تحویل ویدیو از لبه

ویدیو پرحجم‌ترین نوع محتوای وب است و همین‌جا مدل قیمت‌گذاری لبه به نفع شماست: ترافیکی که از لبه به بیننده می‌رسد هیچ هزینه‌ای ندارد. برای خود قابلیت تحویل ویدیو هم مبلغی گرفته نمی‌شود و فقط درخواست‌ها و ترافیک ورودی بیش از سهمیهٔ رایگان ماهانه از کیف پول کسر می‌شود.

هر قطعهٔ ویدیو یک درخواست است. ویدیویی یک‌ساعته با قطعه‌های شش‌ثانیه‌ای حدود ششصد درخواست برای هر بار تماشای کامل دارد، پس سهمیهٔ ۱ میلیارد درخواست رایگان ماهانه برای بیشتر سایت‌های آموزشی کافی است؛ بیش از آن، هر ۱۰٬۰۰۰ درخواست با مبدأ داخل ایران ۱۰۶ تومان است. ترافیک خروجی سرور مبدأ طبق شرایط همان سرور حساب می‌شود؛ برای برآورد آن ماشین‌حساب هزینه را ببینید.

بخشرایگان در ماهنرخ مازاد
ترافیک خروجی لبه به بینندهنامحدودرایگان
درخواست CDN (هر قطعه یک درخواست)۱ میلیارد درخواست۱۰۶ تومان برای هر ۱۰٬۰۰۰ درخواست با مبدأ داخل ایران (خارج: ۱۵۸)؛ بیش از ۵ میلیارد: ۵۳ تومان
ترافیک ورودی به لبه۱۰ گیگابایت۱٬۶۵۰ تومان برای هر گیگابایت
قابلیت تحویل ویدیوشامل استبدون هزینهٔ جداگانه

بازگشت به فهرست مطالب

HLS روی لبه یا فایل mp4 مستقیم؟

بسیاری از سایت‌ها هنوز ویدیو را به‌صورت یک فایل mp4 در تگ video می‌گذارند. این روش ساده است اما برای ویدیوهای طولانی و بیننده‌های موبایلی محدودیت دارد. مقایسهٔ عملی دو روش روی لبهٔ ایران‌کلاد:

موضوعmp4 مستقیمHLS یا DASH با تحویل ویدیو
آماده‌سازینداردتبدیل با ffmpeg
تغییر کیفیت با سرعت اینترنتندارددارد، اگر چند کیفیت بسازید
شروع پخشبسته به حجم فایل و Rangeبا اولین قطعه
کش مرورگرطبق کش استاتیک یا سرورقطعه‌ها یک سال، فهرست ۲ ثانیه
ذخیره روی لبهفقط فایل‌های تا ۱ مگابایتندارد
player روی دامنهٔ دیگرنیاز به تنظیم CORSCORS خودکار

بازگشت به فهرست مطالب

امنیت و محافظت از محتوای ویدیو

لبه برای ویدیو لینک امضاشده یا DRM ارائه نمی‌دهد و این را صریح می‌گوییم تا برای دورهٔ پولی برنامه‌ریزی درستی داشته باشید. راه عملی، رمزگذاری AES-128 در خود HLS است: هنگام بسته‌بندی با ffmpeg یک کلید می‌سازید و آدرس آن در فهرست پخش قرار می‌گیرد. فایل کلید را روی سرور خودتان فقط به کاربرانی بدهید که وارد حساب شده‌اند.

روی لبه، درخواست آدرس‌هایی که در فهرست IP مخرب هستند پیش از رسیدن به سرور شما رد می‌شود و IP واقعی سرور مبدأ پنهان می‌ماند. برای صفحه‌های سایت و صفحهٔ ورود دوره‌ها، محافظت در برابر ربات و فایروال و محدودیت جغرافیایی را هم ببینید. اگر مسیر کلید یا فهرست را باید از دسترس مستقیم مخفی کنید، قوانین لبه برای ریدایرکت و بازنویسی مسیر کمک می‌کنند.

بازگشت به فهرست مطالب

نگه‌داری فایل اصلی و نسخه‌های بسته‌بندی‌شده

چون لبه چیزی ذخیره نمی‌کند، کتابخانهٔ ویدیوی شما فقط روی سرور مبدأ است. فایل اصلی با کیفیت کامل را جدا از خروجی HLS نگه دارید تا اگر بعداً خواستید کیفیت یا طول قطعه را تغییر دهید، بتوانید دوباره بسته‌بندی کنید. برای فایل‌های اصلی حجیم، فضای ذخیره‌سازی ابری جای مناسبی برای نسخهٔ پشتیبان است.

خروجی هر نسخه را در پوشهٔ جدا، مثلاً lesson-12/v2، بسازید. به‌خاطر کش یک‌سالهٔ قطعه‌ها در مرورگر، بازنویسی قطعه با همان نام ممکن است باعث شود بیننده‌ای که قبلاً دیده تکه‌هایی از نسخهٔ قدیمی را ببیند.

بازگشت به فهرست مطالب

انتقال کتابخانهٔ ویدیو به لبهٔ ایران‌کلاد

اگر ویدیوها الان روی سروری خارج از کشور یا یک هاست دیگر هستند، اولین قدم این است که زیردامنهٔ ویدیو را به DNS ایران‌کلاد بیاورید و پروکسی لبه را روی همان سرور فعلی روشن کنید. به این ترتیب بیننده از لبهٔ داخل ایران پاسخ می‌گیرد بدون اینکه فایلی جابه‌جا شود.

قدم بعدی، در صورت تمایل، انتقال فایل‌ها به سروری در ایران است تا مسیر بین لبه و مبدأ هم کوتاه شود. پوشهٔ ویدیوها را با rsync منتقل کنید، سرور جدید را بررسی کنید و رکورد را به IP جدید تغییر دهید. اگر player شما آدرس کامل فایل‌ها را ذخیره کرده، چون دامنه عوض نشده نیازی به تغییر نیست.

بازگشت به فهرست مطالب

محدودیت‌های فعلی تحویل ویدیو

برای اینکه انتظار درستی داشته باشید: تحویل ویدیو تبدیل کیفیت، آپلود، بسته‌بندی، لینک امضاشده، رمزگذاری و آمار پخش ارائه نمی‌دهد. قطعه‌ها و فهرست‌ها روی لبه ذخیره نمی‌شوند و هر درخواست به سرور مبدأ می‌رسد، پس سرور مبدأ باید توان پاسخ به بینندگان هم‌زمان را داشته باشد.

پسوندها و مدت اعتبار کش ثابت‌اند و برای هر دامنه قابل تغییر نیستند. آمار درخواست و حجم را در تحلیل ترافیک CDN می‌بینید، اما آماری مثل تعداد بیننده یا نقطهٔ ترک ویدیو باید از player خودتان جمع‌آوری شود. پخش زنده هم قابلیت جداگانه‌ای است که هنوز فعال نشده؛ وضعیتش را در صفحهٔ پخش زنده ببینید.

بازگشت به فهرست مطالب بازگشت به ابتدای راهنما

پرسش و پاسخ،  ۱۰ پرسش

سؤالات متداول

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

HLS و DASH یعنی چه و پخش تطبیقی چطور کار می‌کند؟
HLS و DASH دو استاندارد پخش تکه‌ای ویدیو هستند. ویدیو به قطعه‌های چندثانیه‌ای و معمولاً چند کیفیت مثل ۱۰۸۰p‏، ۷۲۰p و ۴۸۰p تقسیم می‌شود و یک فایل فهرست پخش (m3u8 برای HLS و mpd برای DASH) قطعه‌ها را معرفی می‌کند. player بسته به سرعت لحظه‌ای اینترنت بیننده، قطعهٔ کیفیت مناسب را انتخاب می‌کند تا پخش کمتر متوقف شود.
آیا ویدیوها را برای من به چند کیفیت تبدیل (transcode) می‌کنید؟
خیر. این قابلیت تبدیل یا بسته‌بندی ویدیو انجام نمی‌دهد و محل آپلود ویدیو هم ندارد. شما ویدیو را روی سرور خودتان با ابزاری مثل ffmpeg به HLS یا DASH تبدیل می‌کنید و لبه فایل‌های حاصل را با تنظیمات کش و CORS مناسب به بیننده می‌رساند.
با چه player‌هایی کار می‌کند؟
با هر player استاندارد HLS یا DASH، مثل hls.js‏، Video.js‏، Shaka Player و پخش‌کنندهٔ داخلی سافاری و گوشی‌های iOS. لبه هدر Access-Control-Allow-Origin را روی فهرست‌های پخش و قطعه‌ها می‌گذارد تا playerی که روی دامنهٔ دیگری است هم بتواند آن‌ها را بخواند.
محتوای ویدیو در برابر دانلود و لینک‌دزدی محافظت می‌شود؟
لبه به‌تنهایی لینک امضاشده یا رمزگذاری نمی‌سازد. اگر محافظت لازم دارید، هنگام بسته‌بندی HLS رمزگذاری AES-128 را فعال کنید و فایل کلید را پشت ورود به حساب روی سرور خودتان سرو کنید. درخواست آدرس‌هایی که در فهرست IP مخرب لبه هستند هم پیش از رسیدن به سرور شما رد می‌شود.
برای آموزش آنلاین و ویدیوی درخواستی (VOD) مناسب است؟
بله، به شرطی که دوره‌ها را خودتان به HLS یا DASH تبدیل کنید. تنظیم کش قطعه‌ها باعث می‌شود بیننده‌ای که عقب و جلو می‌رود یا درس را دوباره می‌بیند، قطعه‌های قبلی را از حافظهٔ مرورگر بخواند و لبهٔ داخل ایران با SSL معتبر پاسخ می‌دهد.
هزینه چطور حساب می‌شود؟
برای روشن کردن تحویل ویدیو مبلغ جداگانه‌ای گرفته نمی‌شود. ترافیک خروجی لبه به بیننده رایگان است و هر ماه ۱ میلیارد درخواست اول رایگان است؛ فقط مازاد درخواست‌ها و ترافیک ورودی بالای ۱۰ گیگابایت هزینه دارد.
آیا قطعه‌های ویدیو روی لبه ذخیره (cache) می‌شوند؟
خیر. فهرست‌های پخش و قطعه‌های ts و m4s از سرور مبدأ خوانده و از طریق لبه تحویل داده می‌شوند و روی لبه نگه داشته نمی‌شوند. کش در مرورگر بیننده انجام می‌شود: قطعه‌ها تا یک سال و فهرست پخش فقط دو ثانیه معتبرند.
چرا اعتبار فهرست پخش فقط دو ثانیه است؟
فهرست پخش ممکن است تغییر کند، مثلاً وقتی قطعهٔ جدیدی اضافه می‌شود یا نسخهٔ ویدیو را عوض می‌کنید. اعتبار کوتاه باعث می‌شود player همیشه فهرست تازه را بگیرد، در حالی که قطعه‌ها که هرگز تغییر نمی‌کنند طولانی کش می‌شوند.
فایل mp4 معمولی را هم می‌توانم از لبه پخش کنم؟
فایل mp4 و webm از مسیر کش استاتیک می‌گذرد، نه از مسیر HLS و DASH. اگر کش استاتیک روشن باشد، فقط فایل‌های تا یک مگابایت روی لبه ذخیره می‌شوند و بزرگ‌ترها از سرور مبدأ خوانده می‌شوند. برای ویدیوهای طولانی، تبدیل به HLS انتخاب بهتری است.
اگر محتوای یک ویدیو را عوض کنم، بیننده‌ها نسخهٔ قدیمی را می‌بینند؟
قطعه‌ها با برچسب immutable و اعتبار یک‌ساله در مرورگر نگه داشته می‌شوند، پس هرگز قطعهٔ جدید را با نام قدیمی جایگزین نکنید. نسخهٔ جدید را در پوشه یا با نام تازه بسازید و فهرست پخش را به آن اشاره دهید؛ چون فهرست فقط دو ثانیه معتبر است، تغییر تقریباً فوری دیده می‌شود.

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

ویدیوی HLS و DASH را از لبهٔ ایران تحویل دهید

کش متناسب با نوع فایل، CORS آماده و SSL خودکار؛ ترافیک پخش از لبه به بیننده رایگان است.