【问题标题】:ffmpeg - Overlay a text over a background imageffmpeg - 在背景图像上覆盖文本
【发布时间】:2020-05-02 01:35:12
【问题描述】:

以下用于使用图像对音频进行编码的命令行可以正常工作。

ffmpeg -y -loop 1 -framerate 15 -i  "/storage/emulated/0/Download/Kites.jpg" -i "/storage/emulated/0/Download/myaudio.mp3"  -c:v libx264 -vf format=yuv420p -c:a aac -shortest "/storage/emulated/0/Download/Out.mp4"

我想在视频帧中的图像上叠加文字。基于这个link,我添加了一个像这样的覆盖文本。由于我想使用默认字体,所以我故意跳过drawtext="fontfile=" 命令。但是现在看不到任何视频帧,甚至看不到背景图像。我该怎么做?谢谢。

ffmpeg -y -loop 1 -framerate 15 -i  "/storage/emulated/0/Download/Kites.jpg" -i "/storage/emulated/0/Download/myaudio.mp3"  -c:v libx264 -vf format=yuv420p -vf drawtext="text='Hello World': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2"   -c:a aac -shortest "/storage/emulated/0/Download/Out.mp4"

【问题讨论】:

    标签: ffmpeg android-ffmpeg


    【解决方案1】:

    用逗号组合简单的过滤器 (,):

    ffmpeg -y -loop 1 -framerate 15 -i "/storage/emulated/0/Download/Kites.jpg" -i "/storage/emulated/0/Download/myaudio.mp3" -c:v libx264 -vf "drawtext=text='Hello World': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2,format=yuv420p" -c:a aac -shortest "/storage/emulated/0/Download/Out.mp4"
    

    请参阅filtering introduction 了解更多信息。

    【讨论】: