// سطح: helix-primary · سفارش 18

HelixPlay betaاجازه‌نامه: TBD

Go (1.26 root / 1.25+ submodules)Wails v2Flutter 3.29+Angular 17+ (Go → WASM)WebRTC / Pion v4QUIC / quic-goCustom UDPHardware encoders (NVENC / QSV / AMF / VideoToolbox)Platform capture (DXGI / ScreenCaptureKit / PipeWire)Docker / PodmanmDNS / rendezvous

منبع

HelixPlay — media pipeline (per-stage tech) GPU host Phone · TV · laptop · browser Triple-stack clients (Wails · Flutter · Angular→WASM) over one Go core Capture DXGI · SCK · PipeWire Encode NVENC·QSV·AMF·VT Packetize RTP Transmit WebRTC · QUIC · UDP Decode hardware Render client
// معماری

هر دستگاه مجهز به GPU را به یک سرویس ابری بازی شخصی تبدیل کنید.

HelixPlay یک پلتفرم ابری بازی قابل میزبانی شخصی است که هر دستگاه مجهز به GPU را به یک میزبان پخش از راه دور تبدیل می‌کند و تجربه بازی در سطح کنسول را برای کلاینت‌های دسکتاپ، موبایل، تلویزیون و مرورگر فراهم می‌آورد. این پلتفرم به صورت یک مخزن یکپارچه (مونورپو) با محوریت Go شامل ۴۶ زیرماژول و با معماری سه‌لایه کلاینتی طراحی شده و برای شرکا قابل برندسازی سفارشی است.

HelixPlay یک پلتفرم ابری بازی قابل میزبانی شخصی، باز و قابل برندسازی سفارشی است. این پلتفرم هر دستگاه مجهز به GPU را به یک میزبان پخش از راه دور تبدیل کرده و تجربه بازی در سطح کنسول را از طریق WebRTC/QUIC به کلاینت‌های دسکتاپ، موبایل، تلویزیون و مرورگر ارائه می‌دهد. هسته آن مبتنی بر Go بوده و از معماری کلاینتی Wails/Flutter/Angular بهره می‌برد.

HelixPlay یک پلتفرم ابری بازی است که به صورت یک مخزن یکپارچه (مونورپو) با محوریت Go و متشکل از ۴۶ زیرماژول گیت طراحی شده است. این پلتفرم هر رایانه بازی که در اختیار دارید را به یک میزبان پخش تبدیل می‌کند و تجربه‌ای در سطح کنسول را برای کلاینت‌های دسکتاپ، موبایل، تلویزیون و مرورگر فراهم می‌آورد — کاملاً قابل میزبانی شخصی، باز و برای شرکا قابل برندسازی سفارشی. پیام آن صریح است: سخت‌افزار شما، سرویس شما، برند شما، بدون دخالت هیچ ابر شخص ثالثی در میان.

تصمیم طراحی کلیدی آن، همگرایی سه‌لایه کلاینتی است — یک شرط معماری جسورانه که در همه جوانب دیگر نتیجه می‌دهد. یک اپلیکیشن دسکتاپ Wails، یک اپلیکیشن موبایل/تلویزیون Flutter و یک کلاینت وب Angular همگی بر روی یک هسته واحد Go قرار دارند که برای مرورگر به WASM کامپایل شده است، بنابراین رفتار تنها یک بار نوشته می‌شود و در تمام سطوح به اشتراک گذاشته می‌شود، نه اینکه در سه مسیر جداگانه منشعب شود. در زیر این لایه، مسیر رسانه بلادرنگ قرار دارد: ضبط → کدگذاری → بسته‌بندی → انتقال → دیکد → رندر، که به ابزارهای ضبط بومی پلتفرم (DXGI / ScreenCaptureKit / PipeWire) و کدگذارهای سخت‌افزاری (NVENC / QSV / AMF / VideoToolbox) متصل است تا GPU بار سنگین پردازش را بر عهده بگیرد. انتقال داده‌ها از طریق WebRTC (Pion v4)، QUIC (quic-go) و دیتاگرام‌های سفارشی UDP انجام می‌شود که به جای راحتی، بر تأخیر کم تمرکز دارند. هسته بک‌اند مسئول مدیریت جلسات، مستأجران، کاتالوگ و احراز هویت است؛ یک عامل میزبان در لبه شبکه وظیفه ضبط، کدگذاری و انتقال را بر عهده دارد؛ و mDNS/رندوو برای اتصال خودکار کشف دستگاه‌ها به کار می‌رود تا کلاینت‌ها بدون نیاز به تنظیم دستی، میزبان خود را پیدا کنند.

HelixPlay از پایه برای ارائه خدمات ابری برندسازی‌شده طراحی شده است — قابلیت‌های تم‌سازی برای هر مستأجر، فیلتر کردن کاتالوگ، OAuth2 و صورتحساب — تا شرکا بتوانند یک سرویس کاملاً برندسازی‌شده را راه‌اندازی کنند، نه صرفاً یک پوسته تغییرشکل‌یافته. همچنین این پلتفرم کاملاً کانتینری است: هر سرویس، پایگاه داده، ساخت، تست و اسکن درون کانتینرها اجرا می‌شود که این امر باعث می‌شود کل پلتفرم قابل تکرار برای استقرار و تأیید باشد. مانند سایر اعضای خانواده Helix، این پلتفرم تحت یک قانون ضد-لاف‌زنی قرار دارد که در آن یک تست موفق تضمین‌کننده رفتار واقعی و قابل استفاده برای کاربر نهایی است — نه صرفاً یک ماک موفق.

بازی ابری تجاری بسته، متمرکز و اجاره‌ای است. HelixPlay ساخته شد تا هر کسی که دستگاهی مجهز به GPU دارد بتواند میزبان پخش خود را راه‌اندازی کند — باز، قابل میزبانی شخصی و قابل برندسازی سفارشی — به جای وابستگی به یک سرویس شخص ثالث.

محتوا

این راهکار سه چیزی را که سرویس‌های تجاری جداگانه نگه می‌دارند، در هم می‌آمیزد: خودمیزبانی بر روی سخت‌افزاری که کنترلش در دست شماست، یک هستهٔ مشترک Go که سه کلاینت را به‌طور همزمان هدایت می‌کند تا ویژگی‌ها همزمان در همه جا پیاده شوند، و چندمستأجری سفیدبرچسب. نتیجهٔ این ترکیب این است که یک شریک می‌تواند یک سرویس ابری بازی کاملاً برندسازی‌شده را بر روی *خودِ* پردازنده‌های گرافیکی‌اش راه‌اندازی کند — تجربه، کاربران و اقتصاد را در اختیار بگیرد — به‌جای اینکه ظرفیت ابری دیگری را بفروشد و در محدودیت‌های آن گرفتار شود.

  • همگرایی سه‌لایهٔ کلاینت — Wails، Flutter و Angular همگی بر روی یک هستهٔ Go (WASM در مرورگر) اجرا می‌شوند، به‌طوری که دسکتاپ، موبایل، تلویزیون و وب به‌جای سه پیاده‌سازی مجزا و واگرا، از یک پیاده‌سازی واحد بهره می‌برند.
  • سرویس SaaS خودمیزبان و سفیدبرچسب — تم‌سازی اختصاصی برای هر مستأجر، فیلترکردن کاتالوگ، OAuth2 و صورتحساب به‌طور پیش‌فرض تعبیه شده‌اند، بنابراین پلتفرم به‌عنوان یک محصول قابل برندسازی عرضه می‌شود، نه یک نسخهٔ نمایشی.
  • انتقال مدرن با تأخیر کم — WebRTC (Pion)، QUIC و UDP سفارشی به‌همراه انتخاب سخت‌افزاری انکودر برای هر پلتفرم (NVENC / QSV / AMF / VideoToolbox)، که برای پاسخگویی سریع به‌جای راحتی بهینه شده است.
  • معماری جداگانهٔ ۴۶ ماژولی — مؤلفه‌های کاملاً جداشده با زیرساخت کانتینری برای همه چیز: هر سرویس، پایگاه داده، ساخت، تست و اسکن در یک کانتینر اجرا می‌شود.

  • استریم با تأخیر کم بر روی سخت‌افزارهای ناهمگن. هر سیستم‌عامل و GPU روش متفاوتی برای ضبط و انکد دارد و تأخیر هیچ گذشتی نمی‌کند. راه‌حل ما مسیری آگاه به پلتفرم برای ضبط/انکد است — DXGI / ScreenCaptureKit / PipeWire که به NVENC / QSV / AMF / VideoToolbox تغذیه می‌شوند — و از طریق WebRTC / QUIC / UDP منتقل می‌شوند تا هر دستگاه از سریع‌ترین مسیر بومی خود برای پردازش پیکسل‌ها استفاده کند.
  • یک محصول برای دسکتاپ، موبایل، تلویزیون و وب. با استفاده از سه کلاینت (Wails، Flutter، Angular) که یک هستهٔ Go مشترک را به اشتراک می‌گذارند و برای مرورگر به WASM کامپایل می‌شود، حل شده است؛ بنابراین هر اصلاح یا ویژگی که یک بار نوشته شود، به‌جای اینکه چهار بار پورت شود، در هر چهار محیط ظاهر می‌شود.
  • عملیات چندمستأجری سفیدبرچسب. با ادغام تم‌سازی اختصاصی برای هر مستأجر، فیلترکردن کاتالوگ، OAuth2 و صورتحساب مستقیماً در بک‌اند اصلی حل شده است، به‌طوری که جداسازی مستأجران و برندسازی از اصول اولیهٔ پلتفرم هستند و نه انشعاباتی برای هر مشتری.

  • Go (نسخهٔ اصلی ۱٫۲۶٫۲ / زیرماژول‌های ۱٫۲۵+) — هستهٔ مشترک بک‌اند و عامل میزبان؛ یک زبان که هم به باینری‌های بومی کامپایل می‌شود *و* هم به WASM، که همان چیزی است که طراحی تک‌هسته‌ای و چندکلاینتی را ممکن می‌سازد.
  • Wails v2 — کلاینت دسکتاپ که هستهٔ Go را به یک وب‌ویوی توکار متصل می‌کند تا اپلیکیشن دسکتاپ به‌جای پیاده‌سازی مجدد، مستقیماً از منطق هسته استفاده کند.
  • Flutter ۳٫۲۹+ — کلاینت موبایل/تلویزیون که از طریق FFI به هستهٔ Go متصل می‌شود تا بدون نیاز به بک‌اند دوم، یک رابط کاربری بومی روی تلفن‌ها و تلویزیون‌ها ارائه دهد.
  • Angular ۱۷+ — کلاینت وب که همان هستهٔ Go را پس از کامپایل به WASM اجرا می‌کند تا مرورگر به‌عنوان یک سطح درجه‌یک در نظر گرفته شود، نه یک نسخهٔ ساده‌شده.
  • WebRTC / Pion v4، QUIC / quic-go، UDP سفارشی — سه پروتکل انتقال بلادرنگ تا پلتفرم بتواند کم‌تأخیرترین مسیر موجود را برای هر شبکه و کلاینت انتخاب کند.
  • انکودرهای سخت‌افزاری (NVENC / QSV / AMF / VideoToolbox) و ضبط پلتفرمی (DXGI / ScreenCaptureKit / PipeWire) — مسیر ضبط و انکد شتاب‌یافته با GPU که برای هر پلتفرم انتخاب می‌شود تا انکد هرگز به CPU گلوگاه نشود.
  • کانتینرها (Docker/Podman) — هر سرویس، پایگاه داده، ساخت، تست و اسکن در کانتینر اجرا می‌شود تا کل سیستم قابل بازتولید برای استقرار و تأیید باشد.
  • mDNS / rendezvous — کشف خودکار میزبان بدون نیاز به پیکربندی تا کلاینت‌ها به‌طور خودکار میزبان استریم خود را در شبکه پیدا کنند.

محتوا

  • وضعیت: بتا. اهداف تأخیر در فایل README (کمتر یا مساوی ۳۰ میلی‌ثانیه در شبکه محلی / کمتر یا مساوی ۵۰ میلی‌ثانیه در شبکه گسترده، صدک ۹۹۹)، چارچوب‌بندی «سطح کنسول / سطح PS4 Pro» و تعداد سلول‌های ماتریس تست، اهداف طراحی اعلام‌شده توسط خود پروژه هستند، نه معیارهای مستقل ارزیابی‌شده، و به همین شکل ارائه شده‌اند.
  • مجوز: نامشخص. هیچ مجوزی از طریق GitHub API شناسایی نشد — تأیید نشده / اعلام نشده است.

سطح اولویت: Helix-اصلی.