我想将 5 秒的空白/黑色视频连接到从网上下载的不同视频的末尾。我执行此操作的过程不起作用。
首先我使用ffprobe
视频的尺寸(假设它是 640x480)。然后我创建空白视频,如下所示:
ffmpeg -f lavfi -i color=color=black -t 5 -s 640x480 blank.mp4
最终的视频blank.mp4
按预期播放 5 秒的空白视频。
然后我将视频连接起来,如下所示:
ffmpeg -i random.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts a.ts
ffmpeg -i blank.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts b.ts
ffmpeg -i concat:a.ts|b.ts -c copy -bsf:a aac_adtstoasc final.mp4
现在,值得注意的是:我抄袭了这段话,并将其与来自整个网络/stackoverflow 的片段放在一起,我确信这是不对的。事实上,我知道这是不对的,因为……
由此产生的视频,final.mp4
似乎几乎对。但在播放过程中,一旦播放头进入视频末尾的 5 秒黑屏,视频就无法再成功返回到视频的更早部分。相反,视频仍然是黑屏(尽管我可以听到音频)。
有什么建议吗?我正在寻找一个通用解决方案,可以处理我在网上找到的各种 mp4 文件。谢谢!
有帮助,但需要创建一个比源视频持续时间更长的大型空白视频...... https://stackoverflow.com/a/36786271/62255
答案1
使用
ffmpeg -i random.mp4 -f lavfi -i color=s=640x480:d=5 -filter_complex [0:v][1]concat -af [0]apad -shortest out.mp4