Ffmpeg 每秒帧数概念细节

Ffmpeg 每秒帧数概念细节,ffmpeg,libavcodec,libavformat,Ffmpeg,Libavcodec,Libavformat,我是一个新手,试图理解ffmpeg/视频背后的概念 例如,FPS表示每秒帧数 25fps -> 25 frames captured in a second 从展示的角度看 25 frames need to be displayed in a second. 如果我错了,请纠正我 现在我已经用ffmpeg编写了一个简单的视频播放器来显示。我读 按av_read_frame()帧,如果fps为25,则为25 av_read_frame() 每秒返回25帧?如何关联它?读写操作不必遵

我是一个新手,试图理解ffmpeg/视频背后的概念

例如,FPS表示每秒帧数

25fps -> 25 frames captured in a second
从展示的角度看

25 frames need to be displayed in a second.
如果我错了,请纠正我

现在我已经用ffmpeg编写了一个简单的视频播放器来显示。我读 按av_read_frame()帧,如果fps为25,则为25

 av_read_frame()

每秒返回25帧?如何关联它?

读写操作不必遵循相关流的数据速率。相反,它们会在没有任何延迟的情况下尽快发生。毕竟,如果你转码一个文件,你通常不会对100%的播放速度感兴趣,更可能的是,你对快速完成它感兴趣,只要读、写、编码等速度允许

任何生成内容的源都有兴趣对其进行适当的时间戳,附加帧速率和单个时间戳,以便回放能够准确地再现流,包括相对于其他流(“lipsync”)

任何表示系统都希望在显示数据时考虑时间戳,必要时增加延迟和空闲时间,以便准确地播放

介于两者之间的所有其他内容,包括
av_read_frame
,只考虑不丢失附加到数据的计时,并且执行时不会有任何延迟(在
av_read_frame
每秒返回尽可能多的帧的情况下)