Push یا Pull
هر استریم هنگام ساخت یکی از دو نوع را میگیرد و بعداً تغییر نمیکند. Push: نرمافزار پخش (OBS، vMix، Larix، سختافزار انکودر) با RTMP به آدرس سرور و کلید اختصاصی وصل میشود؛ تنظیم پیشنهادی H.264، صدای AAC، Keyframe هر ۲ ثانیه و ۳۰ فریم. Pull: آدرس منبع را میدهید و whycloud خودش پخش را میخواند: rtmp:// و rtmps://، rtsp:// (دوربینهای IP)، srt://، فهرست HLS (m3u8) یا فایل MP4 که پشت سر هم تکرار میشود. H.264 و AAC بدون تبدیل عبور میکنند و بقیه خودکار تبدیل میشوند. اگر منبع قطع شود هر چند ثانیه دوباره وصل میشود. در استریم Pull فقط آدرس منبع قابل ویرایش است. روی سرورهای whycloud آدرسهایی که به شبکهٔ داخلی میرسند پذیرفته نمیشوند.

کیفیت ورودی و کیفیتهای خروجی
کیفیت ورودی را وارد نمیکنید؛ رزولوشن واقعی آنچه میرسد تشخیص داده و در استودیو نمایش داده میشود. اثر آن: «کیفیت اصلی» همیشه بدون تبدیل و بدون مصرف CPU پخش میشود و کیفیتهای پایینتر (۷۲۰p، ۴۸۰p، ۳۶۰p) فقط برای حالت چندکیفیتی ساخته میشوند؛ کیفیتی بالاتر از ورودی هرگز ساخته نمیشود. اگر ورودی با رزولوشن دیگری برسد، فهرست کیفیتها در اولین زمانی که پخش متوقف است با آن هماهنگ میشود. هر کیفیت اضافه یک فرایند تبدیل است و در هزینه بهصورت «کیفیت · ساعت» حساب میشود.
پلیر، جاسازی و پوستهها
هر استریم یک پلیر تصویری، یک پلیر صوتی و آدرس HLS برای اپلیکیشنها دارد. کد iframe را در سایت خود بگذارید. پارامترها: ?theme= پوسته (onyx، aurora، ember، velvet، jade، gold، ocean، pearl؛ پیشفرض whycloud)، ?muted=0 یا 1، ?audio=1 و ?title=. پوستهٔ پیشفرض و روشن یا خاموش بودن صدا در شروع را در «تنظیمات ← پلیر» تعیین کنید؛ روی همهٔ لینکها و iframeهای موجود اعمال میشود. مرورگرها پخش خودکار با صدا را محدود میکنند؛ در این حالت پلیر بیصدا شروع میکند و با اولین لمس یا کلیک بیننده صدا وصل میشود. در موبایل، لمس تصویر فقط کنترلها را نشان میدهد و پخش را متوقف نمیکند.
وقتی ارسال قطع میشود
اگر انکودر یا منبع ارسال را قطع کند، پلیر آخرین تصویر را محو میکند و پیام «ارسال پخش از مبدأ قطع شده است» را نشان میدهد؛ هیچ بخشی از پخش دوباره تکرار نمیشود. بهمحض رسیدن تصویر جدید، پخش از لحظهٔ زنده ادامه مییابد. اگر ارسال بیش از ۹۰ ثانیه برنگردد، پلیر «پخش به پایان رسید» را نشان میدهد و با شروع دوباره خودکار پخش میکند.
دامنهٔ اختصاصی پلیر
استریمهای سرورهای whycloud بهصورت پیشفرض روی دامنهٔ whycloud با HTTPS و پشت CDN سرو میشوند. برای استفاده از دامنهٔ خودتان (مثلاً stream.example.com پشت CDN خودتان یا هر CDN دیگر): در CDN یک رکورد بسازید که با HTTP به «مقصد (Origin)» نشاندادهشده در «تنظیمات ← دامنهٔ اختصاصی پلیر» اشاره کند. اگر دامنه را به ریشهٔ سرور وصل کنید، مسیر /s/<شناسه>/ خودکار در نظر گرفته میشود و بازنویسی مسیر لازم نیست. سپس آدرس را وارد کنید؛ فایل player.json از دامنهٔ شما خوانده میشود و فقط اگر متعلق به همین استریم باشد تأیید میشود. پس از تأیید، لینکها، کدهای جاسازی و آدرس HLS در استودیو با دامنهٔ شما نمایش داده میشوند.
سرور whycloud یا سرور خودتان؛ هزینه
روی سرور خودتان (Docker یا Kubernetes) پردازش و ترافیک با منابع خودتان است و فقط مدیریت سرویس حساب میشود. روی سرورهای whycloud علاوه بر آن، منابع whycloud مصرف میشود. موارد قابل محاسبه: ساعت پخش زنده، «کیفیت · ساعت» برای هر کیفیت تبدیلشده، «بیننده · ساعت»، ترافیک ارسالشده به بینندگان (گیگابایت؛ فقط سرورهای whycloud)، ساعت دریافت از آدرس (Pull)، «مقصد · ساعت» برای انتشار همزمان و «گیگابایت · ساعت» نگهداری ضبطها روی سرور whycloud. قیمت هر واحد برای «سرور خودتان» و «whycloud» جداگانه در صفحهٔ هزینهها نمایش داده میشود.
گزارش مخاطبان
در «گزارشها» سهم کشورها، اپراتور اینترنت، نوع دستگاه، سیستمعامل و مرورگر از «دقیقههای تماشا» نمایش داده میشود. سرور پخش آدرس کامل بینندگان را بیرون نمیفرستد؛ فقط شبکهٔ /24 (IPv6: /48) برای تعیین موقعیت استفاده میشود. پایگاه موقعیت روزانه بهروز میشود. پشت CDN، آدرس واقعی بیننده از هدر WhyCloud-Connecting-IP یا X-Forwarded-For خوانده میشود.
انتشار همزمان و ضبط
تا ۴ مقصد RTMP/RTMPS (یوتیوب، آپارات، تلگرام، …) همزمان پخش میگیرند؛ هر مقصد مستقل است و تغییرات بدون قطع پخش اعمال میشود. ضبط دستی یا خودکار است، فایلها ۲۴ ساعت روی سرور میمانند و میتوانید آنها را برش دهید یا به S3 خودتان بفرستید.
بهروزرسانی موتور و پلیر
نسخههای جدید موتور پخش و پلیر ابتدا روی یک استریم آزمایش و سپس بهتدریج روی بقیه اعمال میشوند. استریمی که در حال پخش است قطع نمیشود و چند ساعت بعد بهروز میشود؛ اگر پس از بهروزرسانی سالم نباشد، خودکار به نسخهٔ قبلی برمیگردد.
پخش از طریق WhyCloud برای سرور خودتان
اگر استریم روی سرور یا کلاستر خودتان است، در استودیو «پخش از طریق WhyCloud» را روشن کنید. کیفیتهایی که سرور شما ساخته، بدون تبدیل دوباره (کپی) به یکی از سرورهای پخش WhyCloud فرستاده میشود و آنجا فقط به HLS بستهبندی میشود؛ هیچ ترنسکدی در WhyCloud انجام نمیشود و لبهها و CDN پخش و مدیریت ترافیک را بر عهده دارند. پهنای باند سرور شما فقط یک نسخه از هر کیفیت است، هر تعداد بیننده که باشد. لینک پلیر تصویری، پلیر صوتی، HLS و کد جاسازی در همان کارت نمایش داده میشود و وضعیت ارسال هر کیفیت را میبینید.
دامنهٔ اختصاصی روی پخش WhyCloud
در کارت «پخش از طریق WhyCloud» دامنه یا زیردامنه (مثلاً live.example.com) را وارد کنید. اگر DNS دامنه در WhyCloud باشد رکوردها خودکار ثبت میشوند؛ در غیر این صورت یک رکورد TXT برای تأیید مالکیت و یک CNAME به مقصد CDN نشان داده میشود (برای خود دامنه ALIAS/ANAME). پس از ساخت رکوردها «بررسی» را بزنید؛ گواهی SSL خودکار صادر میشود و پلیر در ریشهٔ دامنهٔ شما (https://live.example.com/) باز میشود.
آماده شدن سرور پخش
موتور پخش روی سرور یا پاد شما چند ثانیه پس از شروع، وضعیت خودش را مستقیم و با HTTPS به WhyCloud گزارش میدهد تا آدرس و کلید بلافاصله نمایش داده شوند. این گزارش فقط وضعیت همان استریم است و با توکن اختصاصی آن استریم امضا میشود. اگر سرور به اینترنت یا whycloud.ir دسترسی نداشته باشد، وضعیت مثل قبل از مسیر Agent گزارش میشود (کمی کندتر). اگر پیام «در حال آماده شدن» طولانی شد، صفحهٔ عملیات را باز کنید و در زیرساخت وضعیت Agent و Docker یا پادهای namespace whycloud-streaming را ببینید.