بازگشت به نمونه‌کارها

دل‌پلیر - تماشای آنلاین فیلم با دوستان

ابزاری سبک و امن برای تماشای همزمان فیلم و سریال از راه دور بدون نیاز به ثبت‌نام.

مشتری: پروژه شخصی / اوپن سورس سال: 2025 مدت: ۲ هفته

تکنولوژی های استفاده شده

Node.jsWebSockets (ws)Vanilla JavaScriptTailwind CSSYouTube IFrame APIDocker

چالش

اکثر ابزارهای "واچ پارتی" یا نیاز به نصب افزونه دارند، یا کاربر را مجبور به آپلود فایل‌های حجیم می‌کنند که پهنای باند زیادی مصرف می‌کند. چالش اصلی ساخت سیستمی بود که بدون آپلود فایل (حریم خصوصی)، ویدیوهای لوکال یا لینک‌های یوتیوب را با دقت میلی‌ثانیه بین دو کاربر همگام‌سازی کند، حتی اگر اینترنت ضعیف باشد.

راه حل

طراحی یک معماری سبک مبتنی بر WebSocket با Node.js. در دل‌پلیر، فایل ویدیو هرگز آپلود نمی‌شود؛ بلکه مرورگر هر کاربر فایل را لوکال پخش می‌کند و فقط سیگنال‌های کنترلی (Play, Pause, Seek) از طریق سرور تبادل می‌شوند. من برای یوتیوب از IFrame API استفاده کردم و یک سیستم "چت بلادرنگ" با قابلیت ریپلای و ایموجی نوشتم. همچنین مکانیزم‌هایی برای اتصال مجدد خودکار (Reconnection) و تشخیص قطع شدن کاربر (Heartbeat) پیاده‌سازی کردم.

فیچرها

  • همگام‌سازی بلادرنگ
  • پخش فایل لوکال
  • یکپارچگی با یوتیوب
  • سیستم چت داخلی

مسیر پروژه

فاز ۱: سرور سیگنالینگ

توسعه سرور Node.js و پیاده‌سازی پروتکل ارتباطی WebSocket.

فاز ۲: پلیر و فایل‌ها

پیاده‌سازی منطق خواندن فایل لوکال (Blob) و هندلینگ لینک‌های مستقیم.

فاز ۳: لاجیک همگام‌سازی

نوشتن الگوریتم سینک برای مدیریت تأخیر شبکه و رویدادهای پخش.

فاز ۴: یوتیوب و رابط کاربری

اتصال API یوتیوب، طراحی UI با Tailwind و افزودن قابلیت‌های چت.

نتایج

<50ms تأخیر همگام‌سازی
0% مصرف پهنای باند سرور
100% حفظ حریم خصوصی

اسکرین‌شات‌ها

صفحه اصلی و اتصال صفحه اصلی و اتصال
پلیر همگام و چت پلیر همگام و چت
ویژگی‌ها و کلیدهای میان‌بر ویژگی‌ها و کلیدهای میان‌بر

پروژه مشابهی دارید؟

بیایید درباره پروژه شما صحبت کنیم.

درخواست مشاوره رایگان