【问题标题】:ffmpeg multiplexing 4 videos into 1 and drawtext problemsffmpeg 将 4 个视频多路复用为 1 和 drawtext 问题
【发布时间】:2012-12-11 18:55:59
【问题描述】:

我想将四个视频复用为 1 个视频,并将文本放在每个象限的左上角。我可以成功混合视频,使得 vid1 在左上角,vid2 在右上角,vid3 在左下角,vid4 在右下角。

但是,我什至无法使用 drawtext 命令显示简单的文本。

我想将原始视频文件的名称放在每个象限中。

目前我的命令是这样的:

ffmpeg.exe -i "vid1.mp4" -i "vid2.mp4" -i "vid3.mp4" -i "vid4.mp4"  -filter_complex "[0:0]scale=iw/2:ih/2,pad=iw*2:ih*2[a];[1:0]scale=iw/2:ih/2[b];[2:0]scale=iw/2:ih/2[c];[3:0]scale=iw/2:ih/2[d];[a][b]overlay=w[x];[x][c]overlay=0:h[y];[y][d]overlay=w:h" -vf [0]drawtext=fontsize=12:fontcolor=white:fontfile="/Windows/Fonts/arial.ttf":text="vid1":x=35:y=35[out] "4UP_Video.mov"

如果我删除 drawtext 命令,我会得到相同的结果:不错的 4-Up 视频,但没有文字。我的假设是,对于其他象限,我会在输入流中添加另一个 drawtext 命令#,例如

[1]drawtext ...

感谢任何帮助!

【问题讨论】:

    标签: ffmpeg drawtext


    【解决方案1】:

    drawtext 过滤器添加到您当前的过滤器链中,而不是创建一个新的。

    ffmpeg.exe -i vid1.mp4 -i vid2.mp4 -i vid3.mp4 -i vid4.mp4 -filter_complex "[0:0]scale=iw/2:ih/2,pad=iw*2:ih*2[a];[1:0]scale=iw/2:ih/2[b];[2:0]scale=iw/2:ih/2[c];[3:0]scale=iw/2:ih/2[d];[a][b]overlay=w[x];[x][c]overlay=0:h[y];[y][d]overlay=w:h,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid1':x=35:y=35,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid2':x=(w/2)+35:y=35,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid3':x=35:y=(h/2)+35,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid4':x=(w/2)+35:y=(h/2)+35" 4UP_Video.mov
    

    请在 superuser.com 上询问未来的 ffmpeg 使用问题。 Stack Overflow 仅限于编程。

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 2021-05-25
      • 2016-03-07
      • 1970-01-01
      • 2017-05-05
      • 2015-10-03
      • 2013-12-26
      • 2017-02-27
      相关资源
      最近更新 更多