首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FFmpeg无法识别hstack命令中正确的输入高度

FFmpeg无法识别hstack命令中正确的输入高度
EN

Stack Overflow用户
提问于 2021-03-22 22:49:12
回答 1查看 388关注 0票数 3

hstack FFmpeg命令出现问题,使我感到困惑。

input1input2都是垂直的360 x640视频。我正在将input1裁剪到一个正方形上,将其垂直与input2合并,然后从产生的视频的每一侧裁剪一个垂直条带,然后水平地合并这三个视频(左条、中间垂直叠加的视频、右条)。

代码语言:javascript
运行
复制
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex [0:v]crop=360:360:0:140,fps=30[v0],[1:v]fps=30[v1],[v0][v1]vstack=inputs=2[m],[m]crop=101:ih:0:0[l],[m]crop=101:ih:259:0[r],[l][m][r]hstack=inputs=3[v];[0:a][1:a]amix[a] -map [v] -map [a] -preset ultrafast ./stackedOutput.mp4

当我运行这个程序时,我会得到一个错误:

代码语言:javascript
运行
复制
[Parsed_hstack_6 @ 0x7ff5394482c0] Input 1 height 640 does not match input 0 height 1000. [Parsed_hstack_6 @ 0x7ff5394482c0] Failed to configure output pad on Parsed_hstack_6

(全FFmpeg输出这里.)

但是[m] (Input 1 in hstack)的高度是而不是 640,它是1000。当命令独立运行时,我已经验证了这一点。

为什么FFmpeg不认识[m]的正确高度?任何帮助或指点都非常感谢!提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-22 23:27:21

使用:

代码语言:javascript
运行
复制
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v]crop=360:360:0:140,fps=30[v0];[1:v]fps=30[v1];[v0][v1]vstack=inputs=2,split=3[lc][m][rc];[lc]crop=101:ih:0:0[l];[rc]crop=101:ih:259:0[r];[l][m][r]hstack=inputs=3[v];[0:a][1:a]amix[a]" -map "[v]" -map "[a]" -preset ultrafast ./stackedOutput.mp4

两个问题:

  1. 您的语法不正确。同一线性链中的滤波器用逗号分隔,不同的线性滤波器链用分号隔开。见过滤游戏攻略
  2. 不能多次重复使用筛选器的输出。在您的命令中,第一次裁剪已经消耗了[m],因此它不再适用于下面的裁剪和h堆栈。分割过滤器可用于制作筛选器输出的多个副本。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66754875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档