【问题标题】:FFMPEG Command to add text to a imageFFMPEG 命令将文本添加到图像
【发布时间】:2018-01-01 04:50:40
【问题描述】:

我需要使用一组图像创建一个视频,并且我使用 ffmpeg 成功地做到了这一点。现在我需要一种方法来为歌手和视频创作者添加学分。这是我正在实施的视频创建工具所涉及的工作的一部分。有人可以告诉我如何使用 ffmpeg 将文本添加到图像中。

提前致谢。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:
    ffmpeg -i input.jpg -vf "drawtext=text='Test Text':fontcolor=white:fontsize=75:x=1002:y=100:" output.jpg
    

    此代码会将 Test Text 写入 input.jpg,您将得到带有文本的 output.jpg

    【讨论】:

    • 找不到选项“drawtext”,使用 args '-1:480:drawtext=text=Test any comment on this
    • 这个命令对我来说完美无缺。如果您自己编译它,也许您缺少一个库?
    【解决方案2】:

    如果你使用的是 ffmpeg,你可以使用 drawtext 过滤器来做到这一点;

    我在视频上添加了本地时间,带有文本 TEST - 前缀和黑框作为背景,不透明度为 0.7,您还可以添加更多参数,如字体大小等;

    ffmpeg -i input.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:text='TEST- %{localtime\:%T}': fontcolor=white:box=1:boxcolor=black@0.7: x=70: y=400" -y output.mp4

    【讨论】:

      【解决方案3】:

      如果您已经拥有图像,使用Image Magick 直接对图像进行此类注释可能是最明智的。

      查看-draw 的文本和convert 上的-annotate 运算符。

      【讨论】:

      • 我需要一些库来执行此操作。注释需要通过我的工具自动进行。
      • @Kumaripaba:大多数主要语言都有 API 库,一些是命令行工具的包装器,还有一些链接到本机代码。或者,直接使用命令行工具。由于您没有指定您的工具使用什么语言,我不能推荐任何东西。
      • 感谢您的评论。我正在使用java,但我想使用命令行工具。我正在开发我的工具作为一个网络应用程序。所以我的服务器是linux debian。你知道这个操作系统是否有二进制文件吗?还是我必须从源代码安装它?
      • @Kumaripaba:有一个名为 imagemagick 的 Debian 软件包,只需安装该软件包的依赖项即可获得机器范围内可用的命令行。有两个基于 Java 的接口,jmagick 是基于 JNI 的,im4java 是纯 java 的。可能值得一试。
      • 如果您正在处理大图像,我建议您远离 ImageMagick(或 GraphicsMagick),两者都很慢(尽管 gm 更快,在两者中)。如果可能的话,我会坚持在ffmpeg 中执行此操作,它在处理大图像、添加文本等方面要快几个数量级。但我会使用-qscale:v 2ffmpeg 来保持质量。只是我的 2c
      猜你喜欢
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多