دلپلیر - تماشای آنلاین فیلم با دوستان
ابزاری سبک و امن برای تماشای همزمان فیلم و سریال از راه دور بدون نیاز به ثبتنام.
تکنولوژی های استفاده شده
چالش
اکثر ابزارهای "واچ پارتی" یا نیاز به نصب افزونه دارند، یا کاربر را مجبور به آپلود فایلهای حجیم میکنند که پهنای باند زیادی مصرف میکند. چالش اصلی ساخت سیستمی بود که بدون آپلود فایل (حریم خصوصی)، ویدیوهای لوکال یا لینکهای یوتیوب را با دقت میلیثانیه بین دو کاربر همگامسازی کند، حتی اگر اینترنت ضعیف باشد.
راه حل
طراحی یک معماری سبک مبتنی بر WebSocket با Node.js. در دلپلیر، فایل ویدیو هرگز آپلود نمیشود؛ بلکه مرورگر هر کاربر فایل را لوکال پخش میکند و فقط سیگنالهای کنترلی (Play, Pause, Seek) از طریق سرور تبادل میشوند. من برای یوتیوب از IFrame API استفاده کردم و یک سیستم "چت بلادرنگ" با قابلیت ریپلای و ایموجی نوشتم. همچنین مکانیزمهایی برای اتصال مجدد خودکار (Reconnection) و تشخیص قطع شدن کاربر (Heartbeat) پیادهسازی کردم.
فیچرها
- همگامسازی بلادرنگ
- پخش فایل لوکال
- یکپارچگی با یوتیوب
- سیستم چت داخلی
مسیر پروژه
فاز ۱: سرور سیگنالینگ
توسعه سرور Node.js و پیادهسازی پروتکل ارتباطی WebSocket.
فاز ۲: پلیر و فایلها
پیادهسازی منطق خواندن فایل لوکال (Blob) و هندلینگ لینکهای مستقیم.
فاز ۳: لاجیک همگامسازی
نوشتن الگوریتم سینک برای مدیریت تأخیر شبکه و رویدادهای پخش.
فاز ۴: یوتیوب و رابط کاربری
اتصال API یوتیوب، طراحی UI با Tailwind و افزودن قابلیتهای چت.