什么是关键帧 有什么用

是指在动画和电影制作中绘制所有平滑变换中所必须定义的起点和终点,又称作画格、关键影格、关键帧,因其时间点符合影片画格的原则。

关键格的序列定义了观众将会看到哪些动作,虽然在影片、视讯或动画上的关键格位置限定了动作的时机掌握。由于每秒仅有二到三格的关键格并不能产生运动错觉,其余需要补满的画格就称作“中间格”(inbetweens)。

使用关键帧作为改变参数的手段

在支持动画,尤其是 3D 图形的软件包中,可以为任何一个对象更改许多参数。此类对象的一个示例是灯光(在 3D 图形中,灯光的功能类似于真实世界的灯光。它们会产生照明、投射阴影并创建镜面高光)。

灯光有许多参数,包括灯光强度、光束大小、灯光颜色和灯光投射的纹理。假设动画师希望光束大小在预定义的时间段内从一个值平滑地更改为另一个值,这可以通过使用关键帧来实现。在动画开始时,设置了光束大小值。为动画结束设置另一个值。因此,软件程序会自动插入这两个值,从而创建平滑过渡。

原理

从原理上讲,关键帧插值问题可归结为参数插值问题,传统的插值方法都可应用到关键帧方法中。但关键帧插值又与纯数学的插值不同,它有其特殊性。一个好的关键帧插值方法必须能够产生逼真的运动效果并能给用户提供方便有效的控制手段。

一个特定的运动从空间轨迹来看可能是正确的,但从运动学或动画设计来看可能是错误的或者不合适的。用户必须能够控制运动的运动学特性,即通过调整插值函数来改变运动的速度和加速度。

为了很好地解决插值过程中的时间控制问题,Steketee等提出了用双插值的方法来控制运动参数。其中之一为位置样条,它是位置对关键帧的函数;另一条为运动样条,它是关键帧对时间的函数。

Kochanek等提出了一类适合于keyframe系统的三次插值样条,他们把关键帧处的切矢量分成入矢量和出矢量两部分,并引入三个参数:张量t、连续量c和偏移量b对样条进行控制。该方法已在许多动画系统中得到了应用。

关键帧是计算机动画术语,指角色或者物体运动变化中关键动作所处的那一帧,相当于二维动画中的原画。

关键帧与关键帧之间的动画可以由软件创建添加,叫做过渡帧或者中间帧。 帧——即动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头,在动画软件的时间轴上,帧表现为一格或者一个标记。

引导层关键帧

引导层关键帧(基于引导图层创建的普通关键帧,该种关键帧在播放flash影片时是不可见的,仅用于注释flash影片)。

当然,每个关键帧都同时可以被赋予几种用途(除 引导层关键帧外),关键帧也可以通过影片图层实现叠加的效果。

空白关键帧

空白关键帧是没有任何对象存在的帧,主要用于在画面与画面之间形成间隔,它在时间轴上是以空心圆的形式显示,用户可以在其上绘制图形,一旦在空白关键帧中创建了内容,空白关键帧就会自动转变为关键帧,按F7快捷键可创建空白关键帧。

一般新建图层的第1帧都是空白关键帧,如果在其中绘制图形,则会自动变为关键帧,同理,如果将某关键帧中的对象全部删除,则这个关键帧就会转变为空白关键帧。

什么是关键帧

关键帧是时间轴中含有黑色实心圆点的帧。关键帧是用来定义动画变化的帧,是动画制作过程中最重要的帧型别。

视讯编码关键帧间隔

一帧就是视讯中的一个画面。

视讯编码是按“组”进行的,每一组也叫一个GOP

GOP与GOP之间是没有联络的,编码关系只在GOP中间产生。

每一个GOP组都从一个关键帧开始。

关键帧是一辐完整的画面

GOP中间的那些帧都是不完整的,需要由关键帧、前面的帧或者也包括后面的帧一起,运算后得到。

对于普通视讯档案,加大GOP长度有利于减小体积;从原理上可知,GOP长度也不能过大,太大则会导致GOP后部帧的画面失真。一般建议GOP长度在250帧以下为宜。

由于PAL制式每秒有25帧(N制为30帧),如果是用于实时视讯,如电视、网上视讯等,GOP长度应在15至25之间。这样可以在一秒内完成视讯快进或回退。

请问视讯中的'关键帧'是什么意思??

关键帧也叫帧内帧,就是这一帧以类似jpeg的编码方式编码.而其他帧只编码与关键帧不同的部分,这样就会小一点了 检视原帖>>

希望采纳

关键帧是什么意思?要如何运用?

关键帧就是独立桢,不以其他桢影象做参考,在mepg标准中影象桢的参考关系如下

影象型别及其相互关系(参考关系如图的箭头所示)

MPEG将影象分成四种类型:I、P、B、D

I影象是帧内编码影象,它不参考其他任何影象而独立编码

P影象是前向预测编码影象,相对于前一参考影象进行有运动补偿的预测编码

B影象是双向预测编码影象,需要前向和后向的参考影象作运动补偿

D影象的目的是提供一种简单的,但质量相当有限的快进播放方式

如何强制ffmpeg编码时输出一个关键帧

如何强制ffmpeg编码时输出一个关键帧

AVCodecContext *c 编码器环境控制代码AVFrame* f 需要编码的一帧视讯 在编码前设定

f->pict_type=FF_I_TYPEf->key_frame=1然后编码

*outsize = avcodec_encode_video(c, temp, outbuf_size, f)则编码之后通过如下引数判断是否为关键帧:

key_frame=c->coded_frame->key_framepict_type=c->coded_frame->pict_type

视讯编码关键帧间隔

压缩比,间隔越大,可以压得越小,用恒定质量模式下不会影响质量但减小位元速率(不费时)。

大小I>P>B,I帧越稀疏,越能压。

但是播放搜寻时必须从I帧开始一直解码到所需时间点,所以间隔大了,跳转会很久。

我的设定一般是Min=6,Max=360,比较宽

如何强制ffmpeg编码时输出一个关键帧

如何强制ffmpeg编码时输出一个关键帧

AVCodecContext *c 编码器环境控制代码AVFrame* f 需要编码的一帧视讯 在编码前设定

f->pict_type=FF_I_TYPE

f->key_frame=1

然后编码

*outsize = avcodec_encode_video(c, temp, outbuf_size, f)

则编码之后通过如下引数判断是否为关键帧:

key_frame=c->coded_frame->key_frame

pict_type=c->coded_frame->pict_type

帧速率与关键帧有什么区别嘛我有一个视讯,格式要求帧

这肯定有,,,

格式是视讯的编码型别。。帧率是视讯每秒播放多少幅影象。。

30fps的我好想没听说过,严格的说应该是29.97fps,这是美国NTSC制式电视的帧率

视讯编码中的ibp帧的关系

视讯压缩中,每帧代表一幅静止的影象。而在实际压缩时,会采取各种演算法减少资料的容量,其中IPB就是最常见的。

简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜寻的意思。B是双向搜寻。他们都是基于I帧来压缩资料。

I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧资料就可以完成(因为包含完整画面)

P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前快取的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面资料,只有与前一帧的画面差别的资料)

B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的快取画面,还要解码之后的画面,通过前后画面的与本帧资料的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累~。

从上面的解释看,我们知道I和P的解码演算法比较简单,资源占用也比较少,I只要自己完成就行了,P呢,也只需要解码器把前一个画面快取一下,遇到P时就使用之前快取的画面就好了,如果视讯流只有I和P,解码器可以不管后面的资料,边读边解码,线性前进,大家很舒服。

但网路上的电影很多都采用了B帧,因为B帧记录的是前后帧的差别,比P帧能节约更多的空间,但这样一来,档案小了,解码器就麻烦了,因为在解码时,不仅要用之前快取的画面,还要知道下一个I或者P的画面(也就是说要预读预解码),而且,B帧不能简单地丢掉,因为B帧其实也包含了画面资讯,如果简单丢掉,并用之前的画面简单重复,就会造成画面卡(其实就是丢帧了),并且由于网路上的电影为了节约空间,往往使用相当多的B帧,B帧用的多,对不支援B帧的播放器就造成更大的困扰,画面也就越卡。

一般平均来说,I的压缩率是7(跟JPG差不多),P是20,B可以达到50,可见使用B帧能节省大量空间,节省出来的空间可以用来储存多一些I帧,这样在相同位元速率下,可以提供更好的画质。


欢迎分享,转载请注明来源:民族网

原文地址:https://www.minzuwang.com/life/1128416.html

最新推荐

发表评论

评论将在审核通过后展示