کلادفلر Streamline را برای ساخت خط پردازش ویدئو معرفی کرد

به گزارش وبلاگ کلادفلر، این شرکت Streamline را بهعنوان یک محیط آزمایشی متنباز برای ساخت خطهای سفارشی و مداوم پردازش ویدئو منتشر کرده است. این پروژه Cloudflare Stream را با Workers، Durable Objects و Containers ترکیب میکند تا توسعهدهندگان بتوانند ویدئوی زنده یا ذخیرهشده را تغییر دهند و نتیجه را دوباره بهصورت پخش زنده یا ویدئوی میزبانیشده منتشر کنند.
پردازش طولانیمدت ویدئو در یک Container
Streamline از دو بخش اصلی تشکیل شده است: Media Engine که ورودی، خروجی و پردازش رسانه را مدیریت میکند و اپلیکیشن کنترلی که وظیفه ایجاد، پیکربندی، پایش و توقف نشستها را بر عهده دارد. Media Engine در یک Container اجرا میشود و کنترلر نوشتهشده با Go، درخواستهای HTTP را به عملیات قابل اجرا برای پردازشگر تبدیل میکند. پیادهسازی کنونی برای پردازش ویدئو از FFmpeg استفاده میکند.
این معماری برای فرایندهایی ساخته شده که ممکن است چند دقیقه یا چند ساعت ادامه داشته باشند. پس از شروع نشست، اپلیکیشن کنترلکننده میتواند ارتباط خود را قطع و دوباره برقرار کند، بدون آنکه پردازش Container متوقف شود. برای جلوگیری از اجرای نامحدود نیز حداکثر زمان نشست تعریف میشود.
ورودی پروژه میتواند پخش RTMPS از Stream Live، ویدئوی HLS میزبانیشده در Cloudflare Stream یا منبعی مانند وبکم باشد. خروجی نیز از طریق RTMPS منتشر میشود یا به شکل پیشنمایش WebSocket در اختیار اپلیکیشن قرار میگیرد. عملیات فعلی شامل فیلتر تصویر، افزودن لایه گرافیکی، حککردن زیرنویس و تعیین پارامترهای کدگذاری است.
کاربرد، امنیت و محدودیت نسخه فعلی
این الگو برای سناریوهایی مانند افزودن توضیحات پویا به پخش زنده، تولید نسخه دارای زیرنویس ثابت، تصویر در تصویر و آمادهسازی جریانهای ویدئویی قابل استفاده است. برای تیمهای زیرساخت، جداسازی موتور رسانه از لایه کنترل امکان مدیریت چرخه پردازش و پایش آن را بدون نگهداشتن یک درخواست شبکه باز فراهم میکند.
در طراحی امنیتی، نشست فعال به هویت تأییدشده متصل است و نشستها از هم جدا میمانند. کلیدهای ورودی و خروجی Stream Live نیز در Worker Secrets یا فضای ذخیرهسازی Durable Object نگهداری میشوند و به اپلیکیشن کنترلی یا مرورگر بازگردانده نمیشوند.
کلادفلر کد Media Engine و اپلیکیشن نمونه را متنباز کرده و یک محیط آزمایشی عمومی نیز ارائه داده است. با این حال، نسخه کنونی پردازش را با CPU کانتینر انجام میدهد و در کیفیت یا نرخ فریم بالاتر ممکن است با گلوگاه روبهرو شود. بنابراین Streamline فعلاً بیش از یک سرویس آماده، نمونهای عملی برای طراحی زیرساخت ویدئویی قابلسفارشیسازی است.



