小丸工具箱\FFmpeg踩坑记录

最近使用小丸工具箱压制带字幕视频,使用x264编码器压制正常,换到x265编码器却发现无法正确读取字体

字体大小不一
查看log,发现问题出现在这里

Glyph 0x4EBA not found, selecting one more font for (方正细雅宋_GBK, 400, 0)
fontselect: (方正细雅宋_GBK, 400, 0) -> C:/WINDOWS/fonts/msyh.ttc, 1, MicrosoftYaHeiUI
Glyph 0x3042 not found, selecting one more font for (FOT-Matisse ProN M, 400, 0)
fontselect: (FOT-Matisse ProN M, 400, 0) -> C:/WINDOWS/fonts/malgun.ttf, 0, MalgunGothic

大概意思是,找不到指定的字体,就自动换成了系统默认的字体。
换到FFQueue也是报类似的错
小丸工具箱\FFmpeg踩坑记录_第1张图片

百度搜索错误报告,查找到类似的问题,似乎是libass使用PostScript名称,但我的字幕源文件用的是字库的中英文名称,导致字体识别出错。
参考 https://www.v2ex.com/t/454158
v2ex传送门
github issue
建议把字幕文件的字体名改成 PostScript 名称来解决此问题。
如果不愿改还是用x264压制吧。

更新:
小丸工具箱\FFmpeg踩坑记录_第2张图片
换了PostScript字体名称、fonts文件夹中的字体名称、改为默认字体等方法,就算用的是默认的MicrosoftYaHeiUI他还是读不出来,甚至强制选定mingliub字体。。。
还是用x264压吧

更新2
小丸工具箱\FFmpeg踩坑记录_第3张图片
一个可用的方法

  1. 进C:\Windows\Fonts文件夹,随便选择一个字体,右键“属性”
  2. 注意红框,这里才是真正的字体文件路径,复制下来
    小丸工具箱\FFmpeg踩坑记录_第4张图片
  3. 进入\tools\fonts文件夹,找到fonts.conf文件,这一行,把复制下来的文件路径粘贴进去,保存
    小丸工具箱\FFmpeg踩坑记录_第5张图片

你可能感兴趣的:(字幕压制)