V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tsl0922
V2EX  ›  分享创造

尝试做了个 mpv 播放器的图形界面 - ImPlay

  •  
  •   tsl0922 ·
    tsl0922 · 2022-12-07 14:15:08 +08:00 · 3699 次点击
    这是一个创建于 711 天前的主题,其中的信息可能已经有所发展或是发生改变。

    mpv 的优点不用我多做介绍了,缺点就是图形界面太简陋,对初学者不太友好。虽然在 windows 下有 mpvnet ,macOS 下有 IINA ,但是两者都不是跨平台的,使用体验也不一样。

    为了解决跨平台和使用体验统一且兼容原生 mpv 的问题,开了个这个新项目(坑)。

    https://github.com/tsl0922/ImPlay

    功能

    ImPlay 兼容原生 mpv 的命令行参数、脚本和配置文件,在保持 mpv 原汁原味的基础上添加图形界面支持。

    初期已实现对个人来说比较刚需的 2 个功能:

    • 右键菜单
    • 全局命令面板

    后续还计划添加:多语言支持,各种设置界面等

    技术栈

    视频和图形界面在底层完全使用 OpenGL 绘制,所以理论上来说应该比较容易支持各种桌面平台(可能需要做一定适配,已在 windows 和 macOS 下测试可用 )。

    界面截图

    1 2

    由于是刚开的新坑,目前还没准备好各个平台的构建脚本,暂无二进制文件下载,功能也可能还有很多欠缺。

    有兴趣的,可以先自己编译尝试,或者一起来添砖加瓦(贡献代码)。

    第 1 条附言  ·  2022-12-12 21:49:06 +08:00
    第 2 条附言  ·  2023-01-03 18:36:12 +08:00

    2023/01/03: 经过一段时间的开发和优化,已经基本可以作为 windows / macOS / linux 下日常使用的播放器了。

    主要更新:

    • Unicode 支持(中文显示)
    • 支持从剪切板打开 URL 或路径
    • 支持打开 DVD/蓝光目录或 ISO 文件
    • 支持添加文件/文件夹到播放列表
    • 支持手动切换音频设备
    • 支持从非标题栏拖动窗口
    • 修复了一些 bug

    另外,实现了基于 event 的渲染机制,独立线程渲染,不再拖慢 event 处理(之前可以明显感觉到键盘输入延迟),在没有操作和未播放状态下基本不占用 CPU 了(最低可以降到 1 FPS)。

    第 3 条附言  ·  2023-01-04 12:12:13 +08:00
    Releases 下已经可以下载 CI 自动构建的 Windows / Linux / macOS 二进制文件:

    https://github.com/tsl0922/ImPlay/releases
    15 条回复    2023-01-23 23:10:27 +08:00
    darer
        1
    darer  
       2022-12-07 21:33:27 +08:00
    先支持一下
    也发群里给群友看了 群友觉得目前 mpv 的控制栏?挺难用的 或许能改造一下?
    subframe75361
        2
    subframe75361  
       2022-12-07 21:34:36 +08:00
    现在在用 mpv-lazy ,有右键菜单,除了 ui 其他都还行,考虑做一些现代化的 ui 吗,圆角阴影高斯模糊怼上去🤣
    exkernel
        3
    exkernel  
       2022-12-07 23:21:16 +08:00
    没有预编译版本?
    tsl0922
        4
    tsl0922  
    OP
       2022-12-08 09:57:10 +08:00
    @darer 控制栏可以用 lua 插件美化的,比如这个: https://github.com/maoiscat/mpv-osc-modern
    @subframe75361 如果只是界面的圆角阴影,那是可以搞的
    @exkernel 暂时还没,二进制包计划搞静态编译的版本,会有些麻烦,需要点时间
    tank
        5
    tank  
       2022-12-08 10:09:22 +08:00
    特总牛逼
    liwenqiu
        6
    liwenqiu  
       2022-12-08 12:43:29 +08:00
    特总牛逼
    Ccf
        7
    Ccf  
       2022-12-11 18:12:15 +08:00
    楼主能放一个编译好的版本么,看能不能替换 vlc
    tsl0922
        8
    tsl0922  
    OP
       2022-12-12 21:50:45 +08:00
    @Ccf 已补充 windows 编译版本。已知问题:由于 imgui 会一次全部加载 unicode 字体,启动速度稍慢(~1s )。
    Ccf
        9
    Ccf  
       2022-12-13 19:01:25 +08:00
    试了几个 mkv 的文件,播放丝滑,选择主题好像没什么变化。
    感觉主界面里字体再紧凑一点点好些
    tsl0922
        10
    tsl0922  
    OP
       2022-12-14 08:55:35 +08:00
    @Ccf 主题是设置的是 imgui 的 theme ,因为只有右键菜单和命令面板是 imgui 绘制的,所以只对这两个地方生效。
    Ccf
        11
    Ccf  
       2022-12-22 09:46:45 +08:00
    楼主在坚持更新啊
    Ccf
        12
    Ccf  
       2022-12-24 12:14:31 +08:00
    怎么播放 m3u8 这种地址呢?在线订阅的那种
    tsl0922
        13
    tsl0922  
    OP
       2023-01-03 18:37:55 +08:00
    @Ccf 已支持从剪切板打开 URL 地址,补充了近期更新到附言。
    Ccf
        14
    Ccf  
       2023-01-06 18:42:25 +08:00
    下一版能支持手动输入地址么?
    tsl0922
        15
    tsl0922  
    OP
       2023-01-23 23:10:27 +08:00
    @Ccf 已支持手动输入 URL ,下载: https://github.com/tsl0922/ImPlay/releases/tag/continuous
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:41 · PVG 20:41 · LAX 04:41 · JFK 07:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.