如何停止将视频流中的最后一帧作为使用ffmpeg编码的mp4容器的一部分?

问题描述 投票:0回答:1

我正在编码一个虚拟mp3文件(7秒白噪声)和一个虚拟mp4文件(静音与红色背景图像4秒)一起形成一个mp4文件。生成此文件的命令是:

ffmpeg -i dummy.mp3 -itsoffset 0 -t 2 -ss 0 -i dummy.mp4 -c:v copy -map 1:v -map 0:a -copyts output.mp4 

如您所见,我将dummy.mp4截断为2秒(最初为4秒)。但是,当我在QuickTime Player中播放output.mp4时,我看到整个7秒的红色背景图像。

我想要的是dummy.mp4的红色背景图像2秒,然后是黑色(没有)。

我怎样才能做到这一点?

干杯!

video ffmpeg mp4 video-encoding ffprobe
1个回答
0
投票

这实际上取决于玩家 - 是否在最后一帧显示持续时间后用空白画布重绘。

您可以通过创建一个与dummy.mp4具有相同属性的blank.mp4以环形方式执行此操作,当然除了视觉外。

创建一个文本文件,

file dummy.mp4
outpoint 2
file blank.mp4

然后,

ffmpeg -i dummy.mp3 -itsoffset 0 -f concat -i list.txt -c:v copy -map 1:v -map 0:a output.mp4

附:副本仅适用于输入

© www.soinside.com 2019 - 2024. All rights reserved.