视频编码基础
一、一段1080p60帧的视频一秒钟应该占用多少空间200w个像素 每个像素算3个字节1帧要占用5.7M空间1秒342M空间我们平时看的视频几乎都是压缩的每秒只有1-2M隔行扫描这样带宽就降低了一半二、NTSC制式为什么会存在29.97Hz彩色电视美国的频段塞的太满了黑白电视都是535线分辨率30帧的为了保证两种频段分开就需要保证整个信号频段的频率 4.5Mhz 可以整除线速率为了避免色彩失真的问题需要信号频段的频率可以整除线速率线速率就是每秒扫多少根线但是这样除下来并不是整数可以将线速率从525 变成530。这样就可以整除了。但是这样就不能兼容老电视了。。所以把30帧降低为29.97略微降低一些帧率然后这样就可以整除了。三、PAL制我们电力是用的50Hz的频率用的是欧洲的PAL制改变了N制奇怪的问题并且不向下兼容PS4不向下兼容 渲染视频按照原来视频的帧率是没有问题的四、视频格式MP4只是外在的一层皮和视频的质量没有必然的联系常见的分装的格式有 MP4FLVAVIMOV、3GP等格式的互相转换也是比较容易的。转换的话直接使用 MediaCoder, 改一下容器的名称然后音频和视频流全部复制即可什么时候需要转编码格式五、码率5000kps就是数据速率视频每一秒所包含的数据量和信息量码率决定了视频的大小。很大程度上影响视频的质量。直播网站会有码率的限制B站要求要求六、 H264编码格式需要从视频压缩的原理说起。用什么去压缩的是通过帧内压缩和帧间压缩的两种方式相结合的帧内压缩就是把视频里面每一帧画面都压缩成JPEG这类有损图像其实光是将无损图像转换成有损图像这一步就已经压缩了90%的体积了。帧间压缩但是这种压缩是远远不够的我们看到视频只是有几帧是原生的jpeg图像剩下的全部是通过算法脑补出来的。中间加上画面变化的小细节和 物体的运动的轨迹就可以了不需要记录中间这些画面这样就大大节省了视频的占用空间。反应到H264里面就是I帧 P帧 B帧 的概念I帧就是关键帧先把一个I帧分割成好多8*8 或16*16 的宏块然后对I帧和它下一帧中的每个对应的宏块进行比较如果发现这前后两帧的宏块是有关联性的那么下一帧是可以预测出来的。我们把这下一个帧称为P帧预测帧没有变化的宏块直接照抄I帧就可以对于有变化的宏块就比较出前后两帧的变化记录下变化的信息B帧是双向预测帧这是在I帧和P帧的基础上再进行预测B帧不仅参考前面的帧还可以参考后面的帧七、GOPGOPGroup Of Picture指的就是每一组IPB帧的序列包含了多少帧或者换句话说就是一个 I 帧之后要经过多少帧才会出现下一个 I 帧。八、三种控制视频码率的方法 CBR、 VBR、 CRFCBR缺点不能根据场景来动态调整码率VBR 可变码率可以渲染两次编码这样就可以控制码率了CRF九、预设和配置文件x264预设以及配置文件一般1080p的都设置在5.1