首页 » 网站建设 » php视频取帧数技巧_视频帧率的故事与一些细节

php视频取帧数技巧_视频帧率的故事与一些细节

访客 2024-12-12 0

扫一扫用手机浏览

文章目录 [+]

视频帧率这个部分,虽然表面上蛮大略根本的,但是实在深挖起来,也够写大半本书的。
我们还是秉承着温故知新的逻辑,从面前的一些东西整理一下,也可能会有一些你未曾想到或深入地点。

帧率的含义

php视频取帧数技巧_视频帧率的故事与一些细节

视频是由连续运动的图像播放而来的,不知道当时第一次把电影活灵巧现地播放出来的时候,是不是现场看到过电影的人们一定是张大了嘴,瞪大了眼睛,天下也从此不同了。
以下的这个1887年拍摄的最早期的视频为例,它是由15张300x200的图像组成,在1.5秒播放完成的。
仔细看每张图的左下角,每一张都标注了它的图像号:

php视频取帧数技巧_视频帧率的故事与一些细节
(图片来自网络侵删)

我们可以看到组成这个视频的所有画面。

每秒钟视频要播放的图片数,这个值即被定义为帧率,单位为fps(frames per second)。
它不但在视频技能中被运用,也在动画、游戏、相机、显示设备等所有采集和显示有关的地方运用着。
比如上面的视频,它的帧率为:

Video_Frame_Rate = 15 / 1.5 = 10fps帧率标准

在电影电视发展早期,每个国家利用的帧率制式是有差异的,一个比较范例的设定是:

•24fps(电影、ATSC、2k、4k、6k)•25fps(PAL(紧张用在中国、欧洲、乌拉圭、阿根廷、澳大利亚等)、SECAM(中东、法国、东欧等)、DVB、ATSC)•29.97fps(NTSC(美洲、日本、韩国、东南亚等),ATSC、PAL-M(巴西))•30fps(ATSC)

造成这个局势的缘故原由紧张由于在黑白电视时期,各国家电网的不同,比如美国电力系统频率为60Hz(传输30fps旗子暗记),而中国、欧洲电力系统频率为50Hz(传输25fps旗子暗记),以是各国电视旗子暗记都按各国自己传输网络的情形进行了设定。
彩色电视被发明之后,为了兼容黑白旗子暗记并防止涌现显示非常,以是做了旗子暗记微调,把帧率调度到NTSC制式,即30/1.001 = 29.970。

但详细是如何将30fps的内容掌握在29.970呢?这就不能不提一下timecode的观点。

timecode

从前间在拍电影的时候,由于有多个机位,多个摄像机采集的旗子暗记如何很难担保精准的对齐韶光戳。
这样在做后期的时候非常困难。
timecode是在1967年由一家叫EECO的从事视频摄像机和视频后期视频的公司发明的,后来SMPTE采纳了这个观点,并将它标准化。
它的格式非常直白:

这样不同内容间同步的问题被完美地办理掉了。
而且你可以利用timecode定位到一个准确的视频帧。

这里须要明确一个点,由于每秒里的帧数有可能不愿定,以是不能完备用timecode去推断帧率(而且两者观点不一样,timecode紧张为了定位视频帧的,帧率紧张是为了给录制和播放两侧图像显示速率的)。

29.97如何而来

这个问题的定义是我们如何在后期制作的环节得到29.97fps的内容,以担保完备的帧同步。

如果从内容生产端办理这个问题,可能会是个噩梦。
由于不同种类的摄像机拍摄,设置不同,回来的内容就不可控,到了后期通过其他手段进行帧率添补本钱极高(尤其在老式的视频编辑设备上)。
以是这条路径被封去世了。

于是大家想到了timecode,发明了Drop-Frame Timecode的方法。

详细的流程是这样的,如果你采集的信源是30fps,但是制作须要29.97fps,那么在每个10分钟区间里,除了第一分钟外,每分钟的前两个timecode的帧都被丢弃掉(即.00, .01两个帧)。
这样的话,10分钟内的视频帧一共有:

TotalFrames = 10 x 60 x 30 - 9 x 2 = 17982 frames

以是末了的帧率为

OutputFrameRate = 17982 / (10 x 60) = 29.97 fps

这是个非常物理的设计,信源实在没有任何变革,但是输出却自动适配了。
一方面跟原来30fps的黑白旗子暗记频率岔开了,另一方面帧率尽可能靠近30fps,并达到了一个准确的值。
这样的设计在那个半自动化半机器的年代里,有很多案例,由于当时的客不雅观技能与平台成分制约,终极办理方案都给人一种工程美感。

这个事情在数字化之后,实在一来没有那么多制式的限定了,二来数字化时期,所有的采样灵巧度更高,帧率设定大部分情形下,只是一个参数设置,软件可以做的事情越来越多,但理解历史会让人更清楚它的来龙去脉。

帧率多高算够

这个问题真没有特殊明确的答案。

我们都知道物理上有个实验结果,大脑反应图像的速率靠近于0.1秒每张。
这个解释,人眼每秒可以处理10张到12张图片,并可以独立地识别与认知它们。
如果一秒里包含了更多图像,它们将被认知为运动。
而如果显示设备的显示频率较低的话,人眼会觉得到明显的闪烁,并随着暴露韶光的变长产生严重的疲倦感。
久而久之,将罹患比较严重的眼部疾病,或是严重的近视。

一样平常显示设备的亮度越高,人眼觉得不到闪烁须要的帧率越高,反之,越低。
我们用电影银幕为例,无闪烁感哀求关系如下:

以是显示器的刷新率一样平常至少都在50Hz以上。
其余电影院由于屏幕亮度高,对付帧率的哀求就更高,诺兰之类的大导演常常会哀求120Hz的片源,会让人不雅观看体验提升非常明显(越专业的人看到的提升越明显)。
其余高帧率看惯了,低帧率就再也回不去了。

夜里关灯看手机也真的是影响眼睛,屏幕亮度高,近间隔看,屏幕刷新率固定的,一定会有屏幕闪烁的觉得,一定会视疲倦,非常随意马虎加深眼睛侵害。

目前看现在运用级别的视频,上限帧率该当是120Hz,分外场景,如医学、微不雅观天下研究,可能会须要更高的帧率,它们也不是像我们看电影这样快速的看,会放慢动作,看得更风雅。
以是回到我们的判断,没有明确的答案,只有运用处景的哀求。

帧率是否有其他的研究点

Video Framerate Up Conversion

视频帧率提高(Video Framerate Up Conversion或Video Frame Interpolation等),是非常范例的一个研究点,这几年还在连续有一些新的技能产出。

一样平常做这个事情是出于两个目的:

•在不改变信源的情形下,将原有视频内容以更高帧率展示,不雅观感更平滑(加强运动感知),用在播放器上,提升不雅观看体验

•在不改变信源的情形下,将原有视频的帧数变多,以相对低的帧率进行展示,实现慢动作、慢镜头效果(Slomo),用在殊效制作上,提出某些殊效。

有一个比较老的项目,在帧率拉升上做得真的不错,叫SVPFlow[1]。
它是运行在AviSynth上的一个效果插件,底层用到其余一个视频运动剖析工具MVTools2[2],在绝大部分视频源上跑下来的结果都非常平滑(本身MVTools2这个插件也非常棒,在帧间运动剖析上效果还是不错的,对付一些CV算法有帮助的)。

当然其余便是通过CNN等这些AI算法去进行更高等别的运动剖析,然后天生新的视频帧。
如2017年揭橥在CVPR上的Video Frame Interpolation via Adaptive Convolution[3],便是这样一个算法。
这个算法作者也供应了开源的实现,有兴趣也可以到github项目页[4]去下载测试。

每个视频的算法,都有机会利用AI技能进行加强(当年参加ICME发文章的讲论文的时候,也是这么说,跟一个美国教授在磋商这个事情,他极不认可这个说法,这么多年过去了,各新的压缩标准已经把AI逐渐用在各个地方了,也算是给当年的一个判断的了断吧)。

Video Framerate Down Conversion

与提升视频帧率浸染相反,大量的非编和后期软件现在都供应了这个功能,虽然它不能给人愉悦感,但是在某些场合下,是可以实现一些殊效的,比如喷鼻香港80年代鬼片里,常常会用到这种效果,然后再配个阴森的音乐,来给人一种害怕的觉得。
案例效果太不利,就不放在文章里了,大家有兴趣可以自行探求。

写在末了

当我们沿着这个行业里最根本的这些部分一点点整理过去的时候,很多时候会创造过去的技能人跟现在的技能人关注点真的有比较大的差异了,有好多原来非常繁芜的问题,现在变大略了或是更夸年夜,变没了。
但是办理问题的思路没有变,办理问题的时候人的聪慧给人带来的愉悦感没有变。

我有一本2008年从北航的一个二手书店里购买的《影视技能概论》,该当是当时某个专业里的教材,现在也只有二手书还有可能能买到了。
当时购买人叫伊能,他买于2006年9月30日。
书里还留着他的署名,以及他学习里详细的条记,也不知道15年过去了,他在哪,现在怎么样。
虽然里面的技能好多现在只用在电影制作里,但是里面的信息都扎根好深,说得好透。
以是有时候真的感慨,技能发展那么快,根本技能是否受到关注度太低了。
我们还是连续守好初心,在五年操持里,把能整理的一点点整理出来,大概会使有些人受益吧。

References

[1] SVPFlow: http://avisynth.nl/index.php/SVPFlow[2] MVTools2: http://avisynth.nl/index.php/MVTools[3] Video Frame Interpolation via Adaptive Convolution: https://arxiv.org/abs/1703.07514[4] github项目页: https://github.com/sniklaus/sepconv-slomo

标签:

相关文章