你可以帮我吗 ?提前致谢
解决方法 将文本添加到纯色背景使用color
video source filter和drawtext
video filter.
ffmpeg -f lavfi -i color=c=blue:s=320x240:d=0.5 -vf \"drawtext=Fontfile=/path/to/Font.ttf:Fontsize=30: \ Fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:text='Stack Overflow'" \output.mp4
> d = 0.5将产生0.5秒的持续时间.
>见list of supported color names and how to use a hex code to set color.
文字背后有一个透明框
另一个例子是在25%不透明度的文本背后有5个像素填充的白框:
ffmpeg -f lavfi -i color=c=red:s=320x240:d=0.5 -vf \"drawtext=Fontfile=/path/to/Font.ttf:Fontsize=30: \ Box=1:Boxborderw=5:Boxcolor=white@0.25: \ Fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:text='Stack Overflow'" \output.mp4
多行
将两行与多个绘图文本实例对齐(左图)更为容易.右图是从外部文件和换行符的例子.
您可以链接两个绘图文本过滤器,或使用textfile选项引用外部文本文件,或在命令中添加换行符.
多个绘图文本实例
ffmpeg -f lavfi -i color=c=green:s=320x240:d=0.5 -vf \"drawtext=Fontfile=/path/to/Font.ttf:Fontsize=30:Fontcolor=white:x=(w-text_w)/2:y=(h-text_h-text_h)/2:text='Stack',\ drawtext=Fontfile=/path/to/Font.ttf:Fontsize=30:Fontcolor=white:x=(w-text_w)/2:y=(h+text_h)/2:text='Overflow'" \output.mp4
外部文本文件
文本文件text.txt的内容如下所示:
StackOverflow
ffmpeg命令:
ffmpeg -f lavfi -i color=c=green:s=320x240:d=0.5 -vf \"drawtext=Fontfile=/path/to/Font.ttf:Fontsize=30: \ Fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:textfile=text.txt" \output.mp4
换行符命令
ffmpeg -f lavfi -i color=c=green:s=320x240:d=0.5 -vf \"drawtext=Fontfile=/path/to/Font.ttf:Fontsize=30: \Fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:text='StackOverflow'" \output.mp4
输出图像而不是视频
如果你想要一个图像输出,而不是用-frames:v 1 output.png替换output.mp4.
替代方法
使用subtitles
filter是另一种方法.
以上是内存溢出为你收集整理的ffmpeg创建带文本视频的空白屏幕全部内容,希望文章能够帮你解决ffmpeg创建带文本视频的空白屏幕所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)