1、x264官网
https://www.videolan.org/developers/x264.html
2、x264 git仓库
git clone https://code.videolan.org/videolan/x264.git
3、H264码流的打包方式
一种为annex-b byte stream format 的格式,这个是绝大部分编码器的默认输出格式,就是每个帧的开头的3~4个字节是H264的start_code:0x00000001或者0x000001。
另一种是原始的NAL打包格式,就是开始的若干字节(1,2,4字节)是NAL的长度,而不是start_code,此时必须借助某个全局的数据来获得编码器的profile,level,PPS,SPS等信息才可以解码。
4、起始码startcode
0x00000001或者0x000001
3字节的0x000001只有一种场合下使用,就是一个完整的帧被编为多个slice的时候,包含这些slice的nalu使用3字节起始码;其余场合都是4字节的。
5、指数哥伦布编码
解析H264 SPS和PPS需要用到指数哥伦布编码,详见:
https://blog.csdn.net/u012188065/article/details/53590641
6、H.265与H.264区别
1)265相比264最主要的改变是采用了块的四叉树划分结构,采用了64x64~8x8像素的自适应块划分,并基于这种块划分结构采用了一系列自适应的预测和变换等编码技术;
2)压缩率对比:H.265压缩率更高、带宽省一半;
3)存储对比:H.265存储空间省一半;
4)画质对比:H.265画质更细腻;