![使用 ffmpeg 和 filter_complex 修剪音频和视频](https://linux22.com/image/1509512/%E4%BD%BF%E7%94%A8%20ffmpeg%20%E5%92%8C%20filter_complex%20%E4%BF%AE%E5%89%AA%E9%9F%B3%E9%A2%91%E5%92%8C%E8%A7%86%E9%A2%91.png)
快速信息:Windows 7,最新的 ffmpeg x64 版本
我有多个视频片段(mpeg-ts 容器中的 1080i x264 + ac3),我想将它们连接在一起。但是,对于每个片段,我还需要从音频开头修剪 x 秒,并在视频结尾添加 y 帧/秒的空白视频。使用此代码,我成功地连接了 a/v 并修剪了 2 个片段的前 x 秒音频:
ffmpeg64.exe -y -i "FOLDER\1.ts" -i "FOLDER\2.ts" -filter_complex "[0:v]copy[v0];[0:a]atrim=start=1.245[a0];[1:v]copy[v1];[1:a]atrim=start=1.235[a1];[v0][a0][v1][a1]concat=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" -q 0 -c:a ac3 -ab 384k -ac 6 -async 1 "FOLDER\Final.ts" > "FOLDER\log.txt" 2>&1
但是,我似乎无法向视频添加空白帧。我该怎么做?
*“-q 0”是实际视频编码的临时占位符,其比特率将是较低的 x264。
答案1
使用
ffmpeg64.exe -y -i "FOLDER\1.ts" -i "FOLDER\2.ts" -f lavfi -i color=s=hd1080 -filter_complex "[2]trim=0:y0[tail0];[2]trim=0:y1[tail1];[0:v][tail0]concat[v0];[1:v][tail1]concat[v1];[0:a]atrim=start=1.245[a0];[1:a]atrim=start=1.235[a1];[v0][a0][v1][a1]concat=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" -q 0 -c:a ac3 -ab 384k -ac 6 -async 1 "FOLDER\Final.ts" > "FOLDER\log.txt" 2>&1
(您不需要复制过滤器。)