FFMPEG-t输出的长度超过了它应该输出的长度?

FFMPEG-t输出的长度超过了它应该输出的长度?,ffmpeg,Ffmpeg,运行此命令时: /usr/bin/ffmpeg -y -f lavfi -i "color=color=black@0.0:size=1080x1080,format=rgba,subtitles=../content/test/test.ssa:alpha=1" -c:a aac -c:v png -t "00:00:13.4" -threads 0 "../content/test/test.ssa.mov" -stats 然后将生成的mov文件加载到任何视频编辑器中,我得到长度 00

运行此命令时:

/usr/bin/ffmpeg -y -f lavfi -i 
"color=color=black@0.0:size=1080x1080,format=rgba,subtitles=../content/test/test.ssa:alpha=1" 
-c:a aac -c:v png -t "00:00:13.4" -threads 0 "../content/test/test.ssa.mov" -stats
然后将生成的mov文件加载到任何视频编辑器中,我得到长度

00:00:13:10
我在视频结尾有几百毫秒的黑色(空白)空间。我错过了什么

我将把SSA文件包括在这里,这样就更清楚了:

[Script Info]
ScriptType: v4.00
PlayResX: 960
PlayResY: 540
PlayDepth: 0
Timer: 100.0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,24,&H00FFFFFF,&HFF000000,&HFF000000,&HFF000000,-1,0,0,0,100,100,0,0.00,3,0,0,5,100,100,100,1

Dialogue: 0,00:00:00.00,00:00:13.400,Default,,0,0,0,,Testing

大多数ffmpeg源过滤器默认为25 fps,命令中的颜色过滤器也是如此。持续时间规格以
.4
结束,即400毫秒。编辑器中的
:10
将持续时间尾部表示为帧计数。对于25 fps,10帧是400毫秒。输出与您的
-t
完全一致


对于结尾处的空白,请检查您的字幕文件以了解最后一个条目的结束时间。

我的问题中也包含了SSA文件。您将看到所有内容都是13.400(在SSA中,在我的命令中),我仍然有几毫秒的空(暗)帧。当我将SSA end更改为14秒,并将ffmpeg命令保持在13.4时,没有间隙。我还检查了生成的文件,它是25fps。这看起来是一个字幕过滤器问题,可能是一个bug。尝试一个SSA文件,其中包含子节点之间的间隙,并检查子节点是否在这些间隙处消失。