找回密码
 立即注册
查看: 686|回复: 8

mpv-font-loader: mpv脚本, 播放视频时自动加载字体

  • TA的每日心情
    无聊
    2025-4-13 14:36
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    1

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    2759
    wakou 发表于 2025-3-30 16:27:28 | 显示全部楼层 |阅读模式
    这个脚本会在mpv启动时解析字幕文件并加载相关的字体, 灵感来自yzwduck大佬的FontLoaderSub


    原理是使用mpv的sub-fonts-dir参数, 为相关的字体在临时文件夹下创建一个软连接, sub-fonts-dir参数设置为这个文件夹


    安装方法

    1. 找到mpv的设置文件夹, 将font_loader目录放置在scripts文件夹下
    2. 将font_loader.conf文件放置在script-opts目录下, 修改font_loader.conf, 将fontDir的值用户存放字体文件的目录
    3. IINA用户也可以使用, 需要开启[设置-[高级-[启用高级设置], 设置配置文件夹

    注意事项

    1. 写的时候为了省事, 直接读取了FontLoaderSub生成fc-subs.db文件来生成字体索引, 所以字体文件夹下要有fc-subs.db文件才行
    后面会尝试自己生成索引
    2. Windows用户需要额外安装busybox, 并正确配置PATH环境变量, 需要用到这个程序提供的命令
    3. mpv最低版本需要为0.36.0, 从该版本开始mpv才支持sub-fonts-dir参数
    4. 安装完成后初次打开mpv会卡3-5s的时间, 这是脚本在解析fc-subs.db的内容并生成索引, 之后再使用就不会卡顿了
    5. 字幕文件中标注的字体较多时(10个以上), 字幕使用新字体时会卡一下(自测只在Windows上出现此问题, 不明白为啥)


    评分

    参与人数 2活跃度 +2555 收起 理由
    liewhong + 555 赞一个!
    shadows + 2000

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2025-4-13 14:36
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    1

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    2759
    wakou  楼主| 发表于 2025-3-30 16:31:45 | 显示全部楼层
    没办法上传附件...没法发url....

    github.com/wakou/mpv-font-loader/releases/tag/v0.2
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-6 15:37
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    2

    主题

    374

    回帖

    42

    VC币

    荣誉会员

    Rank: 14Rank: 14Rank: 14Rank: 14

    积分
    143021

    活跃达人

    shadows 发表于 2025-3-30 17:42:00 | 显示全部楼层
    本帖最后由 shadows 于 2025-3-31 18:50 编辑
    Windows用户需要额外安装busybox

    可以用mp.get_property("platform")获取平台,然后运行不同的命令呗……
    我简单看,就是link和unlink需要

    我个人觉得windwos上用 https://github.com/Apache553/SubtitleFontHelper 会更好,基本上播放器都支持,字体加载也不会有卡顿延迟。并且效率也比mpv脚本高一些,不需要解析字幕
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 184 天

    [LV.7]常住居民III

    2

    主题

    54

    回帖

    0

    VC币

    高级会员

    新手

    Rank: 4

    积分
    20811
    liewhong 发表于 2025-3-31 18:26:59 | 显示全部楼层
    wakou 发表于 2025-3-30 16:31
    没办法上传附件...没法发url....

    github.com/wakou/mpv-font-loader/releases/tag/v0.2

    已star等更新不要下载别的依赖的版本
    天命成君
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 08:15
  • 签到天数: 65 天

    [LV.6]常住居民II

    0

    主题

    1

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    3543
    漂律 发表于 2025-3-31 22:18:23 | 显示全部楼层
    用这个加载字体简单一点https://github.com/hooke007/MPV_lazy/blob/main/portable_config/scripts/auto_sub_fonts_dir.lua
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 15:26
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    0

    主题

    1

    回帖

    0

    VC币

    注册会员

    Rank: 2

    积分
    1107
    lisbt 发表于 2025-4-22 23:25:48 来自手机 | 显示全部楼层
    漂律 发表于 2025-3-31 22:18
    用这个加载字体简单一点https://github.com/hooke007/MPV_lazy/blob/main/portable_config/scripts/auto_su ...

    这个跟https://github.com/dyphire/mpv-config/blob/master/scripts/sub-fonts-dir-auto.lua 哪个更好用
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 184 天

    [LV.7]常住居民III

    2

    主题

    54

    回帖

    0

    VC币

    高级会员

    新手

    Rank: 4

    积分
    20811
    liewhong 发表于 前天 02:50 | 显示全部楼层
    本帖最后由 liewhong 于 2025-5-7 19:57 编辑

    不确定成功了没有

    1. font loader
    2. [font loader]

    3. stack traceback:
    4. C:/MPV-lazy/portable_config/scripts/font_loader/fc. lua:12: in function 'buildIndex'
    5. C:/MPV-lazy/portable_config/scripts/font_loader/main. lua:58: in main chunk
    6. [C]: at 0x7ff6243fd9d0
    7. [C]: at 0x7ff6243fc7a0

    8. cplayer]
    9. [cplayer]

    10. [save_global_props] 正在运行 全局属性保存恢复 模式1
    11. [font_loader] create base cache dir: C:/MPV-lazy/portable_config/fontCache/
    12. Subprocess failed: init
    13. no fount index cache file, build index from fc-subs.db
    14. [font_loader] open font cache db file: fc-subs.db
    15. font_loader
    16. [font_loader]
    17. [font_loader]
    18. [font_loader]
    19. [font_loader]
    20. [font_loader]
    21. [font_loader] Lua error: C:/MPV-lazy/portable_config/scripts/font_loader/fc. lua:12: fc-subs. db: No such file or directory
    22. [cplayer] Resuming playback. This behavior can be disabled with -- no-resume-playback.
    23. (heve 1920x1080 23.976 fps) [default]
    24. (flac 2ch 48000 Hz) [default]
    25. isc.assº (ass) [external]
    26. [vd] Using hardware decoding (d3d11va-copy).
    27. [auto_profiles] Applying auto profile: vsync_auto
    28. [cplayer] A0: [wasapi] 48000Hz stereo 2ch float
    29. [cplayer] V0: [gpu-next] 1920x1080 p010

    30. O Video -- vid 1
    31. O Audio -- aid 1 -- alang jpn
    32. [cplayer] o Subs
    33. -- Sid 1 -- slang sc
    复制代码
    天命成君
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 184 天

    [LV.7]常住居民III

    2

    主题

    54

    回帖

    0

    VC币

    高级会员

    新手

    Rank: 4

    积分
    20811
    liewhong 发表于 前天 02:53 | 显示全部楼层
    天命成君
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    20 分钟前
  • 签到天数: 665 天

    [LV.9]以坛为家II

    1

    主题

    7

    回帖

    0

    VC币

    白金会员

    Rank: 12Rank: 12Rank: 12

    积分
    53600
    ausar 发表于 前天 09:34 | 显示全部楼层
    这个用处是什么? mpv.conf里面加一个sub-font-provider = fontconfig不就行了吗
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表