ffmpeg - 如何使用带有 FFMPEG 的 drawtext 增加文本的行高?

标签 ffmpeg drawtext

我正在使用当前代码创建一个包含几行文本的视频。执行时,由于空间不足,我收到一个文本垂直连接的视频。如何添加行高空间?

ffmpeg -i videoInput.mp4 \
       -vf drawtext="./font/Roboto/Roboto-Bold.ttf: \
           text='testing text \ntesting text \ntesting text':\
           fontcolor=yellow:\
           fontsize=36:\
           box=1:\
           boxcolor=black@0.5: \
           boxborderw=160:\
           x=(w-text_w)/2:\
           y=(h-text_h)/2"\
    -codec:a copy \
    videoOutput.mp4

最佳答案

要增加行高,请在命令中添加 line_spacing 参数,( http://ffmpeg.org/ffmpeg-filters.html#drawtext-1 )
所以它看起来像:

ffmpeg -i videoInput.mp4 \
       -vf drawtext="./font/Roboto/Roboto-Bold.ttf: \
           text='testing text \ntesting text \ntesting text':\
         line_spacing=30:\
           fontcolor=yellow:\
           fontsize=36:\
           box=1:\
           boxcolor=black@0.5: \
           boxborderw=160:\
           x=(w-text_w)/2:\
           y=(h-text_h)/2"\
    -codec:a copy \
    videoOutput.mp4

一些技巧是在所需文本上附加双断线。它看起来像:
  text='testing text \n\ntesting text \n\ntesting text'
ffmpeg -i videoInput.mp4 \
       -vf drawtext="./font/Roboto/Roboto-Bold.ttf: \
           text='testing text \n\ntesting text \n\ntesting text':\
           fontcolor=yellow:\
           fontsize=36:\
           box=1:\
           boxcolor=black@0.5: \
           boxborderw=160:\
           x=(w-text_w)/2:\
           y=(h-text_h)/2"\
    -codec:a copy \
    videoOutput.mp4

关于ffmpeg - 如何使用带有 FFMPEG 的 drawtext 增加文本的行高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61979403/

相关文章:

iOS:在 UIView 上以 LineWidth 1px 绘制文本

delphi - DrawTextA、Courier New 和日语语言环境的奇怪行为

linux - 从 Linux 命令行给视频加水印

vb.net - 将 jpg 转换为 avi vb.net

ffmpeg - linux 上配置的 ffmpeg 0.5 版是否支持使用 Theora 编解码器进行编码?

c++ - 使用 CDC::DrawText 绘制可变文本

android - Canvas 的 `drawTextRun` 有什么用?它与 `drawText` 有何不同?

FFMPEG - 移动文本每 'X' 秒出现一次

c++ - FFMpeg 编码的视频只会在 FFPlay 中播放

encoding - 编码时如何让FFMPEG使用更多GPU