wangbingwf 发表于 2013-12-17 14:09:12

filter drawtext fontfile的路径问题,求大神帮忙

windows下想在视频上写字, 使用Drawtext滤镜,但路径是个问题:drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"
以上是官网的使用方法, 参数间用冒号分隔, 但是在windows下fontfile在C:\WINDOWS\FONTS\目录下, 导致使用时总是cannot load font “C":impossible to find a matching font
请问这种问题该怎么解决?

T-Bagwell 发表于 2013-12-17 15:34:06

windows下的commandline能发出来不?一起看一下

wangbingwf 发表于 2013-12-17 15:43:48

本帖最后由 wangbingwf 于 2013-12-18 10:11 编辑

T-Bagwell 发表于 2013-12-17 15:34
windows下的commandline能发出来不?一起看一下
又给大家添麻烦了:lol 我目前的解决方法是拷贝到执行文件目录下,直接使用当前文件解决,后来遇到了不能显示中文的问题, 换了个字库就好了...:L 一言难尽啊...苦逼死了....

过程中遇到的问题还是跟大家分享一下:路径问题:没解决, 后来直接将字体拷贝到执行文件目录下fontfile=simhei.ttf,就OK了

字体问题:开始使用的是simsunb.ttf, 传说该fft是宋体的字库, 双击打开在预览中也确实有中文,但是实际测试时不可用。后来替换别的字库,改成了黑体的simhei.ttf, 显示中文OK.....原因未知, 但问题已解决...

注意:text='to display string '要显示的字符串编码必须是UTF-8

T-Bagwell 发表于 2013-12-26 08:28:33

有可能老兄的drawtext的参数使用的不对,或者ffmpeg没有根据你的命令找到simhei.tff

wangbingwf 发表于 2014-1-6 14:50:10

请诸位大神再关注一下该问题, 根据drawtext的使用方式:http://ffmpeg.org/ffmpeg-filters.html#drawtext-19.22‘fontfile’The font file to be used for drawing text. Path must be included. This parameter is mandatory.即:该参数必须要有且要包含路径。
根据ffmepg提供的例子:drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"fontfile使用的路径为linux风格。但不适用于windows,windows中有冒号且使用反斜杠
在windows下使用时, 到冒号就自动截断了, 所以fontfile总是加载失败;后查看avfilter_graph_parse_ptr->parse_filter->create_filter->avfilter_init_str,参数在冒号时就被截断,不知该问题是否算是ffmpeg的兼容性问题,请大神指教

T-Bagwell 发表于 2014-1-6 14:59:36

这个应该算,因为ffmpeg现在好多地方还没有考虑到windows

wangbingwf 发表于 2014-1-6 15:02:34

T-Bagwell 发表于 2014-1-6 14:59
这个应该算,因为ffmpeg现在好多地方还没有考虑到windows

大哥, 你是群里的哪位啊? 回答的总是这么及时, 哈哈, 谢谢! 那有什么解决办法么? 或者能让ffmpeg那群牛逼人物们出下个版本的时候改下么?

孙悟空 发表于 2014-1-6 15:11:37

windows下的版本和代码能给我一份不?我找找感觉

wangbingwf 发表于 2014-1-6 18:56:15

孙悟空 发表于 2014-1-6 15:11
windows下的版本和代码能给我一份不?我找找感觉

2.0.2版本, http://ffmpeg.zeranoe.com/builds/source/ffmpeg/
原来windows底下用的代码和linux都不一样?
页: [1]
查看完整版本: filter drawtext fontfile的路径问题,求大神帮忙