اگر اهل فیلم و سریال دیدن روی ویندوز باشید، احتمالاً پلیرهای مختلفی از VLC و PotPlayer گرفته تا KMPlayer را امتحان کردهاید. اما به عنوان کسی که حساسیت زیادی روی کیفیت تصویر، عمق رنگ مشکی و راحتی کاربری دارد، همیشه چند مشکل آزارم میداد:
۱. وقتی کیبورد روی زبان فارسی بود، هیچکدام از کلیدهای میانبر (مثل Space یا کلیدهای جهتنما) کار نمیکردند و مدام باید Alt+Shift میزدم!
۲. مانیتورهای مدرن و OLED به خاطر نوارهای سیاه بالا و پایین فیلم (Letterbox) دچار هدررفت تصویر یا خستگی چشم در اتاق تاریک میشدند.
۳. فایلهایی که از سایتهای دانلود فیلم ایرانی دانلود میکردم پر از نامهای تبلیغاتی و پسوندهای آزاردهنده بودند.
۴. پخش خودکار قسمتهای بعدی سریال معمولاً نامرتب بود و فایلها را درست پشت سر هم پیدا نمیکرد.
به جای ساخت یک پلیر سنگین از صفر با فریمورکهای وب و رم بالا (مثل الکترون)، تصمیم گرفتم بر پایه هسته بینهایت قدرتمند و فوقسریع MPV و تلفیق اسکریپتهای Lua و شیدرهای GLSL، پلیری بسازم که دقیقاً همان چیزی باشد که نیاز داشتم: RMN-Player.
برای پر کردن نوارهای سیاه بالا و پایین ویدیو، یک الگوریتم پخش نور دوبعدی (2D Diffused Halo) پیاده کردم که رنگ لبههای فیلم را به صورت آنی و روان تحلیل کرده و هالهای نوری پشت تصویر ایجاد میکند. این ویژگی در اتاق تاریک حس غوطهوری سینمایی فوقالعادهای به تماشاگر میدهد و در صورت خاموش بودن، هیچ سربار پردازشی روی سیستم ندارد.
یکی از مشکلات اعصابخردکن کاربران ایرانی این است که موقع تایپ، زبان کیبورد روی فارسی میماند و بعد کلیدهای پلیر کار نمیکنند. در RMN-Player تمام کلیدهای میانبر به صورت دوگانه مپ شدهاند؛ یعنی چه کیبورد روی انگلیسی باشد چه فارسی، کلید Space برای توقف، کلیدهای پیکان برای پرش ۳ ثانیهای با تاخیر صفر (Zero-delay Seek) و کلیدهای تنظیم صدا بینقص کار میکنند.
اسکریپت اختصاصی پلیر به صورت هوشمند تگهای تبلیغاتی سایتهای دانلود ایرانی و خارجی (مثل ValaMovie و نمونههای مشابه) را از عنوان ویدیو فیلتر میکند تا نام تمیز و بدون شلوغی فیلم روی صفحه و در منوها نمایش داده شود.
با استفاده از فیلترهای ضد شکستگی گرادینت رنگ (Debanding) در کتابخانه libplacebo و تنظیمات رنگ مشکی واقعی (True Black)، تصویر نهایی روی مانیتورها نهایت شارپنس و کیفیت را دارد.
اگر پوشه سریالها با نامگذاریهای متفاوتی باشد، سیستم به صورت هوشمند سریالها را از فیلمهای تکی تشخیص داده و بدون نیاز به ساخت دستی پلیلیست، اپیزود بعدی را مرتب و آماده پخش نگه میدارد.
برای اینکه نصب آن نیازی به تنظیمات پیچیده نداشته باشد، یک اسکریپت نصب و آپدیت خودکار پاورشل (Install-RMN.bat) نوشتم که کل پیکربندی را به صورت کاملاً پرتابل و نیتیو روی ویندوز ۱۰ و ۱۱ پیاده میکند.
پروژه به صورت کاملاً متنباز تحت لایسنس GPL v3 منتشر شده و حتی در لیست مخزن جهانی Awesome-mpv هم ثبت شده است.
🎬 سورسکد و دانلود RMN-Player در گیتهاب: github.com/RMNO21/RMN_Player
🌐 وبسایت شخصی و سایر پروژههای من: rmno21.github.io
💻 صفحه گیتهاب من: github.com/RMNO21
خوشحال میشوم اگر اهل تماشای فیلم هستید آن را تست کنید و نظرات یا پیشنهادهایتان را با من در میان بگذارید!