ffmpeg中的-ss和-itsoffset有什么区别?


22

ffmpeg是这样描述的:

‘-ss position (input/output)’
When used as an input option (before -i), seeks in this input file to position. When used as an output option (before an output filename), decodes but discards input until the timestamps reach position. This is slower, but more accurate.
position may be either in seconds or in hh:mm:ss[.xxx] form.

‘-itsoffset offset (input)’
Set the input time offset in seconds. [-]hh:mm:ss[.xxx] syntax is also supported. The offset is added to the timestamps of the input files. Specifying a positive offset means that the corresponding streams are delayed by offset seconds.

那么,当两者都用作输入选项时,两者之间有什么区别?-ss用作时它们相同input option吗?

Answers:


39

那么,当两者都用作输入选项时,两者之间有什么区别?

  • 命令

    ffmpeg -ss 5 -i inputfile outputfile
    

    放弃输入的前五秒。

    如果您的输入文件长60秒,则输出文件长55秒。

  • 命令

    ffmpeg -itsoffset 5 -i inputfile outputfile
    

    将输入文件的视频流延迟5秒。

    如果您的输入文件长60秒,则输出文件长65秒。前5秒钟将是静止图像(第一帧)。

  • 命令

    ffmpeg -itsoffset -5 -i inputfile outputfile
    

    将输入文件的视频流前进5秒钟。

    与相似-ss 5,它会丢弃前五秒的输入。但是,如果您的输入文件长60秒,则输出文件也将长60秒。最后5秒钟将是静止图像(最后一帧)。

总结起来,-ss裁剪输入,同时-itsoffset可用于同步视频和音频流。


那么,当设置为正偏移量时,空白输出对应于输入的第一帧后5秒的输出?是否丢弃了任何输入或仅插入了空白药水?
d33pika

广告1)是。广告2)-ss 5不会丢弃。还是更适合视频。在开始的五秒钟内可以看到第一帧,然后照常播放视频。请注意,这只会影响视频流!
丹尼斯

抱歉,我没有收到注释的第二部分:-ss 5放弃输入的前5秒,对吗?如答案第一个示例中所述,那么第一帧何时显示5秒钟?我了解这仅适用于视频。
d33pika

1
是的对不起 我的意思-itsoffset 5是不丢弃……
丹尼斯

1
好答案,但请注意,-shortest将影响-ss-itsoffset
minusf
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.