我有一个原始视频文件“inputVideoFile.mp4”
我使用ffmpeg解码输入视频文件,处理每一帧,然后将这些帧编码为“outputVideoFile.mp4”。
我没有得到延迟帧,这意味着输出视频文件的帧数应少于输入视频文件。
但是,当我使用ffprob查看两个文件中有多少帧时,它会显示它们的持续时间值是相同的:
$ ffprobe inputVideoFile.mp4
持续时间:00:00:04.08,开始:0.000000,比率:7835 kb / s
$ ffprobe outputVideoFile.mp4
持续时间:00:00:04.08,开始:0.000000,比特率:21055 kb / s
为什么会这样? 顺便说一句,在00:00:04.08之后,一个接一个的单位是什么?在“.08”中,单位是1/60秒,还是1/100秒?
谢谢!
答案 0 :(得分:0)
我找到了答案:
av_guess_frame_rate(a_AVFormatContext,a_AVStream,NULL)
有效!
答案 1 :(得分:0)
不,这不准确。这是基于平均比特率和文件大小的猜测。显然,filesize总是准确的,但在某些情况下,平均比特率没有被正确记录。但是,我不知道这是文件格式的基本问题还是由创建视频文件的系统/程序引起的问题。例如,对于Mythtv录音,使用NuppelVideo格式的录音,FFMPEG估计将关闭2-3倍,也就是说,它估计1小时录音为2或3小时长。