ویرگول
ورودثبت نام
رامان تندرو
رامان تندرودانشجوی مهندسی کامپیوتر و توسعه‌دهنده سیستم‌های نهفته و میکروکنترلرها (ESP32) | توسعه‌دهنده پروژه‌های منبع‌باز Sepotify و RuView https://rmno21.github.io https://github.com/RMNO21
رامان تندرو
رامان تندرو
خواندن ۳ دقیقه·۱ ماه پیش

چرا پلیرهای ویندوز ناامیدم کردند؟ داستان ساخت RMN-Player برای عاشقان فیلم

اگر اهل فیلم و سریال دیدن روی ویندوز باشید، احتمالاً پلیرهای مختلفی از VLC و PotPlayer گرفته تا KMPlayer را امتحان کرده‌اید. اما به عنوان کسی که حساسیت زیادی روی کیفیت تصویر، عمق رنگ مشکی و راحتی کاربری دارد، همیشه چند مشکل آزارم می‌داد:

۱. وقتی کیبورد روی زبان فارسی بود، هیچ‌کدام از کلیدهای میانبر (مثل Space یا کلیدهای جهت‌نما) کار نمی‌کردند و مدام باید Alt+Shift می‌زدم!
۲. مانیتورهای مدرن و OLED به خاطر نوارهای سیاه بالا و پایین فیلم (Letterbox) دچار هدررفت تصویر یا خستگی چشم در اتاق تاریک می‌شدند.
۳. فایل‌هایی که از سایت‌های دانلود فیلم ایرانی دانلود می‌کردم پر از نام‌های تبلیغاتی و پسوندهای آزاردهنده بودند.
۴. پخش خودکار قسمت‌های بعدی سریال معمولاً نامرتب بود و فایل‌ها را درست پشت سر هم پیدا نمی‌کرد.

به جای ساخت یک پلیر سنگین از صفر با فریم‌ورک‌های وب و رم بالا (مثل الکترون)، تصمیم گرفتم بر پایه هسته بی‌نهایت قدرتمند و فوق‌سریع MPV و تلفیق اسکریپت‌های Lua و شیدرهای GLSL، پلیری بسازم که دقیقاً همان چیزی باشد که نیاز داشتم: RMN-Player.


چه ویژگی‌هایی RMN-Player را متفاوت می‌کند؟

۱. نور امبینت زنده و بلور هوشمند (Dynamic Ambilight)

برای پر کردن نوارهای سیاه بالا و پایین ویدیو، یک الگوریتم پخش نور دوبعدی (2D Diffused Halo) پیاده کردم که رنگ لبه‌های فیلم را به صورت آنی و روان تحلیل کرده و هاله‌ای نوری پشت تصویر ایجاد می‌کند. این ویژگی در اتاق تاریک حس غوطه‌وری سینمایی فوق‌العاده‌ای به تماشاگر می‌دهد و در صورت خاموش بودن، هیچ سربار پردازشی روی سیستم ندارد.

۲. پشتیبانی هم‌زمان از کیبورد انگلیسی و فارسی (Dual EN/FA Support)

یکی از مشکلات اعصاب‌خردکن کاربران ایرانی این است که موقع تایپ، زبان کیبورد روی فارسی می‌ماند و بعد کلیدهای پلیر کار نمی‌کنند. در RMN-Player تمام کلیدهای میانبر به صورت دوگانه مپ شده‌اند؛ یعنی چه کیبورد روی انگلیسی باشد چه فارسی، کلید Space برای توقف، کلیدهای پیکان برای پرش ۳ ثانیه‌ای با تاخیر صفر (Zero-delay Seek) و کلیدهای تنظیم صدا بی‌نقص کار می‌کنند.

۳. پاک‌سازی خودکار عنوان‌ها (Title Sanitizer)

اسکریپت اختصاصی پلیر به صورت هوشمند تگ‌های تبلیغاتی سایت‌های دانلود ایرانی و خارجی (مثل ValaMovie و نمونه‌های مشابه) را از عنوان ویدیو فیلتر می‌کند تا نام تمیز و بدون شلوغی فیلم روی صفحه و در منوها نمایش داده شود.

۴. خط لوله ۱۰ بیتی رنگ و رندرینگ بهینه برای OLED

با استفاده از فیلترهای ضد شکستگی گرادینت رنگ (Debanding) در کتابخانه libplacebo و تنظیمات رنگ مشکی واقعی (True Black)، تصویر نهایی روی مانیتورها نهایت شارپنس و کیفیت را دارد.

۵. ردگیری هوشمند قسمت‌های سریال

اگر پوشه سریال‌ها با نام‌گذاری‌های متفاوتی باشد، سیستم به صورت هوشمند سریال‌ها را از فیلم‌های تکی تشخیص داده و بدون نیاز به ساخت دستی پلی‌لیست، اپیزود بعدی را مرتب و آماده پخش نگه می‌دارد.


نصب آسان و متن‌باز بودن

برای اینکه نصب آن نیازی به تنظیمات پیچیده نداشته باشد، یک اسکریپت نصب و آپدیت خودکار پاورشل (Install-RMN.bat) نوشتم که کل پیکربندی را به صورت کاملاً پرتابل و نیتیو روی ویندوز ۱۰ و ۱۱ پیاده می‌کند.

پروژه به صورت کاملاً متن‌باز تحت لایسنس GPL v3 منتشر شده و حتی در لیست مخزن جهانی Awesome-mpv هم ثبت شده است.

  • 🎬 سورس‌کد و دانلود RMN-Player در گیت‌هاب: github.com/RMNO21/RMN_Player

  • 🌐 وب‌سایت شخصی و سایر پروژه‌های من: rmno21.github.io

  • 💻 صفحه گیت‌هاب من: github.com/RMNO21

خوشحال می‌شوم اگر اهل تماشای فیلم هستید آن را تست کنید و نظرات یا پیشنهادهایتان را با من در میان بگذارید!

رنگ مشکیفیلممتن باز
۰
۰
رامان تندرو
رامان تندرو
دانشجوی مهندسی کامپیوتر و توسعه‌دهنده سیستم‌های نهفته و میکروکنترلرها (ESP32) | توسعه‌دهنده پروژه‌های منبع‌باز Sepotify و RuView https://rmno21.github.io https://github.com/RMNO21
شاید از این پست‌ها خوشتان بیاید