![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
X264
文章平均质量分 85
为取经而来
这个作者很懒,什么都没留下…
展开
-
X264编译 (Win7)
1.下载MinGW。 下载链接:https://sourceforge.net/projects/mingw/files/ 点击这里下载: 默认安装路径和所有的设置,选中所有的Package,安装。弹出的对话框选择Apply。等待安装成功。 添加环境变量,是默认安装路径的话,地址为:C:/MinGW/bin。(计算机-右键 属性-高级系统变量-环境变量-path 编...原创 2017-12-12 13:18:13 · 682 阅读 · 0 评论 -
X264视频编码分析(5):编码模块和NAL打包输出
在上一篇介绍了编码器的VCL编码操作,分析了函数x264_slice_write()。函数x264_slice_write()里有四个关键模块,分别是宏块分析模块、宏块编码模块、熵编码模块和滤波模块,再加上NAL打包输出部分,是我们这里要讲的内容。 1.编码模块 宏块分析模块:调用函数x264_macroblock_analyse()。分为两部分:帧内宏块和帧间宏块。帧...原创 2018-01-19 12:23:30 · 810 阅读 · 0 评论 -
X264视频编码分析(4):视频压缩编码VCL
在前面的过程中,我们得到了编码图像,编码器开始H264视频编码VCL。首先初始化有关参数,包括帧类型的获取、创建多参考帧的列表、初始化码流控制、初始化写码流结构和写SPS、PPS头结构信息。 1.初始化相关参数 若为IDR帧,则意味着一个新图像片的开始。在H264中为了防止编码错误扩散,规定当前片不以本片以外的其他帧为参考,因而编码器遇到IDR帧则需要重置参考帧区域。同时,将S...原创 2018-01-18 20:43:25 · 960 阅读 · 0 评论 -
X264视频编码分析(3):视频帧的存取
x264的编码器结构体x264_t中的子结构体字段frames包含了4个临时视频帧序列空间:current、next、unused和reference,分别保存当前编码帧、将编码帧序列、未处理原始视频帧序列和参考帧序列,同时x264编码器申请了fenc和fdec空间用于存放已编码帧和重建帧。 H264中“帧”和“片”都是图像帧,如果不加说明,他们的意义基本一样。 编码器处理视频...原创 2018-01-18 14:18:05 · 1265 阅读 · 0 评论 -
X264视频编码分析(2):libx264编码库
x264编码库libx264实现真正的视频编解码,该编解码算法是基于块的混合编码技术,即帧内/帧间预测,然后对预测值变换、量化,最后熵编码所得。 编码帧的类型分为I帧(x264_type_i)、P帧(x264_type_p)、B帧(x264_type_b),在H264中叫做图像片Slice。X264把整帧图像看作一个Slice,片中有slice_type_i、slice_type_p...原创 2018-01-17 16:19:01 · 1962 阅读 · 0 评论 -
X264编码1 本地编码
X264作为一个开源的视频编码函数库,是最好的有损视频编码,小巧而又简单。所以对X264的学习是非常有必要的。 在下载X264源代码使用时,需要先对其进行编译,产生相应的.dll,.lib,.h文件,然后拷贝到我们的工程下才行。具体的X264的编译过程:点击打开链接。但是X264的编译过程非常麻烦,很费力气,所以可以下载编译好的.dll,.lib,.h文件直接使用,这样比较省力,下载...原创 2017-12-12 17:06:59 · 1022 阅读 · 0 评论 -
X264命令参数及意义
x264编码器是控制台应用程序,因此需要通过命令窗口来配置其工作参数。 使用格式:“-o 输出文件名 输入文件名 [长 x 宽]”。如:“-o encoded.264 e:\\x264\\test.yuv [640 x 480]”。 输入支持的格式:RAW、y4m、avi、avs(编译时可选)。 输出支持的格式:264、mkv、mp4(编译时可选)。 命令行参数根据作用可以原创 2018-01-11 13:41:44 · 751 阅读 · 0 评论 -
X264编码2 实时编码(USB摄像头)
上一篇我们介绍了X264的编码,但是只能对本地文件编码,这里讨论怎么实时的读取摄像头文件并编码。 利用opencv实时读取摄像头,可以参考博客:点击打开链接。这里不做过多介绍。 至于编码流程,和上篇一样,没有改变。我们了解下X264编码器怎么直接读取摄像头的一帧图像就行。 opencv打开摄像头时,一帧一帧的播放,每一帧都由frame指定:capture >>...原创 2017-12-13 12:07:13 · 3918 阅读 · 3 评论 -
X264编码3 实时编码(网络摄像头)
继续我们的X264编码,第一篇我们完成了对本地文件的编码点击打开链接,第二篇我们可以实时对USB摄像头进行编码点击打开链接,在这里,我们介绍第三个:实时对网络摄像头进行编码。 我这里用的是海康威视网络摄像头,关于怎么调用它,可以参考博客:点击打开链接。 编码部分都是换汤不换药,我们直接给出源代码:#include <cstdio>#include <cstr...原创 2017-12-24 21:47:28 · 3434 阅读 · 5 评论 -
X264视频编码分析(1):X264应用工程
在这几篇博客中,具体学习下x264的实现过程,源代码的分析参考雷神的博客:点击打开链接。感谢雷神!1.概述 x264编码流程图如下所示: 首先我们要创建编码器,初始化编码器参数,然后读入YUV数据进行VCL视频编码,编码后的数据进行NAL打包,循环所有的视频帧,最后释放内存,关闭编码器。2.应用工程 (1)main()函数是x264控制台应用程序的入口,主函数如下...原创 2018-01-17 10:13:41 · 1431 阅读 · 0 评论