Ffmpeg 从MP4文件创建TS文件-不同的持续时间

Ffmpeg 从MP4文件创建TS文件-不同的持续时间,ffmpeg,Ffmpeg,我正在运行以下命令来裁剪MP4文件 -i "C:\FFMPEG\Temp\S3\2ad239d1-f4b9-4854-afe4-7e28157893daHighRes.mp4" -q:v 0 -y -ss 00:00:01.000 -to 00:00:29.834 -vf "fade=t=out:st=29.334:d=0.500, scale=iw*min(1080/iw\,720/ih):ih*min(1080/iw\,720/ih),pad=1080:720:(1080-iw)/2:(72

我正在运行以下命令来裁剪MP4文件

-i "C:\FFMPEG\Temp\S3\2ad239d1-f4b9-4854-afe4-7e28157893daHighRes.mp4" -q:v 0 -y -ss 00:00:01.000 -to 00:00:29.834 -vf "fade=t=out:st=29.334:d=0.500, scale=iw*min(1080/iw\,720/ih):ih*min(1080/iw\,720/ih),pad=1080:720:(1080-iw)/2:(720-ih)/2" "C:\FFMPEG\Temp\Crops\5ae9806e32ab040978d97013_0.ts"

正如你所看到的,我想裁剪一段28834毫秒长的视频。但是,通过ffprobe检查时创建的文件长度为28873毫秒。为什么会这样

因为每秒帧数不是1000

视频不编码毫秒,而是编码帧。它们只能对整帧进行编码。如果您请求的持续时间与帧的持续时间不相等,则输出持续时间将稍长

对于28834 ms的持续时间,可能的帧速率为
1000
500
1000/13≈ 76.9
500/13≈ 38.5
1000/1109
500/1109
1000/14417
500/14417