mpv-font-loader: mpv脚本, 播放视频时自动加载字体
这个脚本会在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上出现此问题, 不明白为啥)
没办法上传附件...没法发url....
github.com/wakou/mpv-font-loader/releases/tag/v0.2 本帖最后由 shadows 于 2025-3-31 18:50 编辑
Windows用户需要额外安装busybox
可以用mp.get_property("platform")获取平台,然后运行不同的命令呗……
我简单看,就是link和unlink需要
我个人觉得windwos上用 https://github.com/Apache553/SubtitleFontHelper 会更好,基本上播放器都支持,字体加载也不会有卡顿延迟。并且效率也比mpv脚本高一些,不需要解析字幕
wakou 发表于 2025-3-30 16:31
没办法上传附件...没法发url....
github.com/wakou/mpv-font-loader/releases/tag/v0.2
已star等更新不要下载别的依赖的版本
用这个加载字体简单一点https://github.com/hooke007/MPV_lazy/blob/main/portable_config/scripts/auto_sub_fonts_dir.lua
漂律 发表于 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 哪个更好用 本帖最后由 liewhong 于 2025-5-7 19:57 编辑
不确定成功了没有
font loader
stack traceback:
C:/MPV-lazy/portable_config/scripts/font_loader/fc. lua:12: in function 'buildIndex'
C:/MPV-lazy/portable_config/scripts/font_loader/main. lua:58: in main chunk
: at 0x7ff6243fd9d0
: at 0x7ff6243fc7a0
cplayer]
正在运行 全局属性保存恢复 模式1
create base cache dir: C:/MPV-lazy/portable_config/fontCache/
Subprocess failed: init
no fount index cache file, build index from fc-subs.db
open font cache db file: fc-subs.db
font_loader
Lua error: C:/MPV-lazy/portable_config/scripts/font_loader/fc. lua:12: fc-subs. db: No such file or directory
Resuming playback. This behavior can be disabled with -- no-resume-playback.
(heve 1920x1080 23.976 fps)
(flac 2ch 48000 Hz)
isc.assº (ass)
Using hardware decoding (d3d11va-copy).
Applying auto profile: vsync_auto
A0: 48000Hz stereo 2ch float
V0: 1920x1080 p010
O Video -- vid 1
O Audio -- aid 1 -- alang jpn
o Subs
-- Sid 1 -- slang sc https://raw.githubusercontent.com/hong-tm/blog-image/main/Snipaste_2025-05-07_02-52-26.png 这个用处是什么? mpv.conf里面加一个sub-font-provider = fontconfig不就行了吗
页:
[1]