ffmpeg - ffmpeg concat 两个大小不同的视频遇到“不匹配”错误
问题描述
我正在尝试连接 4 个 mp4 文件。我正在使用下面的命令,但无法连接
ffmpeg -i L00.mp4 -i L01.mp4 \
-filter_complex "[0:v] [0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" \
-map "[v]" -map "[a]" output.mp4
收到此错误:
Input link in1:v0 parameters (size 1150x722, SAR 1:1) do not match the corresponding output link in0:v0 parameters (1158x690, SAR 1:1)
ffmpeg -i L00.mp4 -i L01.mp4 -filter_complex \
"[0:v]scale=1158:722:force_original_aspect_ratio=decrease,pad=1158:722:(ow-iw)/2:(oh-ih)/2[v0]; \
[1:v]scale=1158:722:force_original_aspect_ratio=decrease,pad=1158:722:(ow-iw)/2:(oh-ih)/2[v1]; \
[v0][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" -c:v libx264 -c:a aac -movflags +faststart output.mp4
收到此错误:
Filter pad has an unconnected output
L00.mp4 的尺寸是 1158 × 690,L01.mp4 是 1150 × 722。
如何解决这个问题?
解决方案
[v1]
第二个pad
命令的输出未使用,这就是您收到的原因Filter pad has an unconnected output
经过一些修改,FFmpeg 命令应该和这个类似
ffmpeg -i L00.mp4 -i L01.mp4 -filter_complex "[0:v]scale=1158:722:force_original_aspect_ratio=decrease[v0];[v0]pad=1158:722:(ow-iw)/2:(oh-ih)/2:black[v1];[1:v]scale=1158:722:force_original_aspect_ratio=decrease[v2];[v2]pad=1158:722:(ow-iw)/2:(oh-ih)/2:black[v3];[v1][0:a][v3][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" -c:v libx264 -c:a aac -movflags +faststart output_force_decrease.mp4
看,我在 concat 命令中使用了 pad [v3] 的输出。
推荐阅读
- swift - 'statusBarStyle' 的设置器在 iOS 9.0 中已弃用:使用 -[UIViewController preferredStatusBarStyle]
- java - “找不到合适的加载方法”有什么问题?
- .net - 如何使用 Windows 放大 API 反转整个屏幕颜色?
- swift - 尝试使用前向类 'NSManagedObjectModel' 作为 swift 类的超类
- javascript - 在 apache localhost 中使用 ajax post 到 https API
- ubuntu - 19.04 无法打开设置
- java - 数据库显示为空但登录成功
- javascript - 如何设置基本 URL 以使用该页面的特定 GET 请求 URL
- android - 如何隐藏配对对话框以在 Android 上以编程方式配对 BLE 设备?
- redis - Redis Sentinel DEL 命令问题