gpt4 book ai didi

audio - FFMPEG 在将许多视频插入另一个视频时减少生成损失

转载 作者:行者123 更新时间:2023-12-04 23:20:03 24 4
gpt4 key购买 nike

我正在尝试将许多 miniclips.mp4 插入 main.mp4 视频 - 虽然我已经能够 to do this using this solution ,我似乎遭受了一代损失
我正在使用的命令(在 python 脚本中,在许多不同时间间隔的循环中)是:

ffmpeg -i main.mp4 -i miniclipX.mp4 -filter_complex "[0:v]drawbox=t=fill:enable='between(t,5,6.4)'[bg];[1:v]setpts=PTS+5/TB[fg];[bg][fg]overlay=x=(W-w)/2:y=(H-h)/2:eof_action=pass;[1:a]adelay=5s:all=1[a1];[0:a][a1]amix" output.mp4
(然后在循环内将 output.mp4 重命名为 main.mp4)
无论如何都会有:
A)通过实现某些标志来减少发电损失
或者
B)在单个命令中包含许多不同的输入文件和许多不同的 -filter_complex 以实现我所追求的目标?

最佳答案

因为您没有提供 ffmpeg 日志(因此没有关于您的 ffmpeg 或您的输入的信息),所以对于这个答案,我假设所有视频的宽度和高度都相同。
显示示例 miniclip1.mp4在 5 秒和 miniclip2.mp4在 10 秒时:

ffmpeg -i main.mp4 -i miniclip1.mp4 -i miniclip2.mp4 -filter_complex 
"[1:v]setpts=PTS+5/TB[offset1];[0:v][offset1]overlay=x=(W-w)/2:y=(H-h)/2:eof_action=pass[bg];
[2:v]setpts=PTS+10/TB[offset2];[bg][offset2]overlay=x=(W-w)/2:y=(H-h)/2:eof_action=pass;
[1:a]adelay=5s:all=1[a1];
[2:a]adelay=10s:all=1[a2];
[0:a][a1][a2]amix=inputs=3"
output.mp4
命令被分成多行,因此更易于阅读。执行时使其成为一行。

关于audio - FFMPEG 在将许多视频插入另一个视频时减少生成损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68818232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com