帧率(frame rate)是指视频播放中每秒显示的图像帧数。测量单位为“每秒显示帧数”(frame per second,FPS)或“赫兹”,一般来说FPS用于描述影片、电子绘图或游戏每秒播放多少帧。
人类视觉的时间敏感性和分辨率根据视觉刺激的类型和特征而变化,并且在个体之间是不同的。由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约20至24张的时候,就会认为是连贯的,此现象称之为视觉暂留。这也就是为什么电影胶片是一格一格拍摄出来,但是借由快速播放,能让画面看起来是连续的。
固定帧率(Fixed Frame Rate)是指在视频播放或录制过程中,使用固定的帧率来控制视频的显示或录制速度。这意味着每秒钟播放或录制的视频帧数始终保持不变,不会因为场景变化或其他因素而发生变化。
早期电影时期(19世纪末至20世纪初):在早期的电影时期,电影以每秒大约16至24帧的速度播放。这个帧率被认为足够高,可以在观众的眼睛中产生连贯的动画效果。
电视广播标准的制定(20世纪30年代至40年代):随着电视技术的发展,一些国家开始制定电视广播的标准。例如,美国制定了NTSC标准,欧洲制定了PAL标准。这些标准规定了电视广播的帧率,其中NTSC标准为30帧/秒(29.97帧/秒),PAL标准为25帧/秒。
数字视频时代的到来(20世纪90年代至今):随着数字视频技术的发展,人们开始使用更高的帧率来记录和播放视频。高帧率(High Frame Rate,HFR)视频技术允许以60帧/秒或更高的帧率录制和播放视频,提供更加流畅的观看体验。
游戏和虚拟现实的崛起(21世纪初至今):在电子游戏和虚拟现实等领域,高帧率对于提供更加真实和流畅的游戏体验至关重要。因此,许多游戏和虚拟现实设备支持更高的帧率,如120帧/秒或以上。
述由于早期的电视技术限制,使用的都是固定帧率的情况,在视频传输过程中都按照特定的标准进行视频传输。
目前在互联网上的一些实时音视频应用中,当网络条件不好时,可能会出现以下情况
为了应对这些问题,实时音视频应用通常会采取一些策略来优化用户体验,比如:
综上所述,实时音视频应用在面对网络不佳的情况下,采用可变帧率(Variable Frame Rate,VFR)和可变码率(Variable Bit Rate,VBR),即降低分辨率导致画面变得模糊和降低帧率导致画面跳跃(卡顿)。
在视频编码中,时间戳(Timestamp)是指每个视频帧的时间戳信息,用来表示该帧在整个视频序列中的时间位置。时间戳通常以时钟周期、毫秒或者帧数的形式表示,其作用是为了确保视频帧在解码和播放时按照正确的顺序和时间间隔进行处理。
具体来说,时间戳在视频编码中的作用包括:
时间戳在视频编码中通过确定每个视频帧的时间位置和顺序,确保视频序列在解码和播放时能够按照正确的时间顺序进行同步和播放。一般在编码中时间戳分为PTS和DTS。
在视频编码中,PTS 是 Presentation Time Stamp 的缩写,表示显示时间戳,用来指示每个视频帧应该在播放时显示的时间。PTS 通常是一个时钟周期数或者时间单位(如毫秒)的值,它告诉解码器在何时呈现特定的视频帧。
PTS 的主要作用包括:
PTS 在视频编码中,用于确定视频帧在播放时应该显示的时间,保证视频播放的顺序、同步和准确性。
在视频编码中,DTS 是 Decoding Time Stamp 的缩写,表示解码时间戳。DTS 指示了每个视频帧在解码器中被解码的时间点。
DTS 的作用包括:
DTS 在视频编码中,用于确定视频帧在解码器中的解码顺序和时机,保证视频流能够被正确地解码和播放。
假设一个视频文件包含以下几个视频帧,并且它们的解码顺序并不是按照显示顺序排列的:
在这个例子中,帧B的解码时间晚于帧C,但根据显示顺序,帧B应该在帧C之前显示。这时就需要 DTS 来帮助解码器正确地按照解码顺序进行解码。
如果视频播放器仅根据解码顺序来播放视频,而没有考虑到 DTS,它可能会按照以下顺序播放视频帧:
这样会导致帧B在帧C之后显示,与实际的显示顺序不符合。但如果播放器考虑到了 DTS,它会按照以下顺序播放视频帧:
这样,视频播放器就能够根据 DTS 正确地按照显示顺序播放视频帧,确保视频能够按照正确的时间顺序呈现给观众,保持流畅性和连贯性。