Skip to content

协议

1、DXGI

Flip model, dirty rectangles, scrolled areas Flip model:翻转模型

dirty rectangles:脏矩形 脏矩形是2D图形性能优化一个重要的概念。Egret2.5开始脏矩形完全可以由引擎自动计算,即大名鼎鼎的"自动脏矩形"。 简单说脏矩形,就是画面刷新时,产生变化而需要重绘的舞台局部区域。 什么叫脏,即什么情况下会弄脏? 当我们的游戏中的元素 发生位置,大小,方向,动画,添加,删除等操作时,那么该元素原来对应的区域会弄脏,同时,新对应的区域也同样被弄脏。

使用脏矩形将大大减少无用的渲染工作量,降低额外性能消耗。 对移动设备来说,会节省大量电能以及降低设备运行温度。 大多数情况,开发者不需要关系脏矩形如何工作。用网游术语说,自动脏矩形是Egret引擎的一项被动技能,引擎运行时会每帧自动释放该技能来提升你的程序性能! 脏矩形的红框可以在index.html中搜索data-show-paint-rect属性,设置其值为"true"即可,发布给用户前,确保该值重置为"false"。

scrolled areas:滚动区域

2、ffmpeg

见:D:\Github\GitBook\gitbook\USBDevice\FFmpeg.md

3、视频协议

https://www.zhihu.com/question/293128278/answer/3064089766https://zhuanlan.zhihu.com/p/637363460

指raw数据,未编码的原始像素,YUV420指一个UV平面都会水平垂直方向各自做一次下采样,也就是UV平面都是Y平面的1/4,而422则是在一个方向上进行下采样,444表示不做采样,一般420更为常用,图片里面JPEG也是如此编码。

3-1、封装格式与编码格式的区别

说起编码,那么先要介绍一下视频文件与编码格式的关系了。我们常见的视频文件格式AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等,这些其实都是视频的封装格式。而在非编软件里渲染输出的时候要选择的才是编码格式,如MPEG、H.264、H265、WMV、QuickTime(MOV)。一个完整的视频文件是由这两个部分组成的。

而封装格式其实只是一个空壳,只有编码格式才决定了视频的质量。所以一个视频文件的核心内容是视频编码。编码又分为视频编码和音频编码。常见的音频编码为 mp3、 ACC、WAV、APE等,这就体现出来封装的作用。封装便是把这些视频所需要的必要内容都装在同一个文件中,这样我们在电脑上播放视频的时候,只需加载一个文件即可。

3-2、编码的作用

编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。简单的说,就是把视频文件的大小通过这种技术来缩小。 视频文件的另一个重要属性比特率。比特率(码率)的单位是bps(Bit Per Second)

1,000 bps=【1kbps】=1,000 bit/s= 0.97656 Kibi bit/s
1,000,000 bps=【1Mbps】=1,000,000 bit/s= 0.95367 Mebi bit/s
1,000,000,000 bps=【1Gbps】=1,000,000,000 bit/s= 0.93132 Gibi bit/s

比特率越高,每秒传送数据就越多,画质就越清晰。并且视频文件的大小是可以经过计算得出的。计算公式:文件体积=时间X码率/8未压缩的视频文件体积会非常庞大,1080p 60帧的视频1秒大概300mb,这太不现实了。 我们现在看到的视频都是经过压缩过的,在网络上观看的视频也会为了保证其观看时的流程性而限制码率。所以,我们需要按照一个标准压缩视频文件的大小,而这个标准便是像H.264这样的编码标准。 视频编码技术拯救了我们的硬盘!

3-3、H.264

在这个标准下,压制包含了两种压制方式

一种是帧内压缩,另一种是帧间压缩

帧内压缩便是将每一帧无损画面压缩为JPGE之类的有损的图像从而减少文件的大小

3-4、帧率

一说到这个词就必须涉及到两个词,帧数与帧速率。

也许大家对FPS这个词不会陌生,FPS指的是每秒传输帧数(Frames Per Second)

帧率(Frame rate)=帧数(Frames)/时间(Time)单位为帧每秒(f/s, frames persecond, fps)。

人类的肉眼对于光的传播是非常敏感的,就像在观看视频画面时,如果帧速率低于24帧/秒,就可以明显感觉到画面的顿挫,所以电影、动画以及视频的制作都是高于24帧/秒的。

分辨率后面的那个25P 就代表这个工程的帧速率为25帧/秒逐行扫描。

2K图像是由2048×1080个像素构成的,而4K图像是由4096×2160个像素构成的 市面上常见的38402160也可以叫做4K分辨率(Ultra HD),我们经常观看的高清视频1080P就是19201080分辨率的画面

在视频制作中,可能你也会见到1080i 这个分辨率。你知道其中P 和 I的区别嘛?这个可能许多小伙伴就不清楚了。这个P是Progressive指的是逐行扫描 I是interlace指的是隔行扫描。

3-5、进一步理解

还未看:https://blog.csdn.net/NCU_wander/article/details/119839946

This website is released under the MIT License.