【问题标题】:How text align text filter in ffmpeg with multi line textffmpeg中的文本如何将文本过滤器与多行文本对齐
【发布时间】:2021-08-02 18:02:38
【问题描述】:

文本如何使用 drawtext 以多行作为输入对齐中心、右侧、左侧位置。

“你好\n 世界”

【问题讨论】:

  • 但是位置是相对于输入的,而不是相对于我们正在创建的文本框。我需要对齐文本,即居中、左、右。不是视频中文字的位置。这怎么可能?
  • 默认情况下,我默认左对齐。
  • 我正在使用方法3:命令中的换行

标签: ffmpeg


【解决方案1】:

绘制文本

在drawtext中我可以想到两种文字对齐方式:

  1. 使用等宽字体并在第 2 行添加所需数量的空格。
  2. 使用 2 个 drawtext 实例独立定位每一行。

这两种方法都不理想。

字幕

使用 ASS 字幕可能是更好的解决方案。

\pos 的行为会根据对齐方式发生变化。有关示例,请参阅 \pos tag 文档。

一旦您创建了 ASS 文件,例如 Aegisub,您可以添加带有 ffmpeg 的字幕。

软潜艇

ffmpeg -i input.mkv -i subs.ass -map 0 -map 1 -c copy output.mkv

硬分叉

使用subtitles filter

ffmpeg -i input.mkv -vf "subtitles=subs.ass" -c:a copy output.mkv

【讨论】:

  • 知道了,但是如何在.ass文件中加载外部字体文件以获取字体
  • @KonduriSaiAditya 这是一个新问题。不同的话题。应该是一个新的和单独的职位。这个答案直接解决了“如何将ffmpeg中的文本过滤器与多行文本对齐”。 Stack Overflow 旨在为每个帖子提出 1 个问题。
【解决方案2】:

FFMPEG 似乎不支持 drawtext 命令中的对齐,我们需要手动这样做。 我遇到过同样的问题, 但为了解决这个问题,我采取了不同的方法, 您可以按照相同的步骤操作。

  1. 添加文本后,当您想要保存它时..
  2. 将这些文本转换为图像
  3. 借助“图像叠加命令”将这些图像添加到 FFMPEG。

我希望这些步骤有所帮助。

【讨论】:

  • 我也做过同样的 Vaidehee。谢谢你的回答。
猜你喜欢
  • 1970-01-01
  • 2016-01-15
  • 1970-01-01
  • 2013-09-29
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
相关资源
最近更新 更多