视频x264编码浅析
声明 x264_param_t 结构体变量:
x264_param_t params;
x264_param_default_preset(¶ms, "ultrafast", "zerolatency");//优化编码延迟?
变量参数编码前赋值:
params.i_csp = (csp == ) ? X264_CSP_NV12 : csp;//编码比特流的CSP,仅支持i420,色彩空间设置
#ifdef SQUARE_AND_ROTATE
params.i_width = w;
params.i_height = h;
#else
params.i_width = width;
params.i_height = height;
#endif
params.vui.i_sar_width = ;
params.vui.i_sar_height = ; //设置长宽比 params.i_fps_num = fpsnum;//帧率分子
params.i_fps_den = fpsden;//帧率分母 params.i_timebase_num = ;
params.i_timebase_den = ;//ms params.i_keyint_max = fpsnum/fpsden;
params.i_keyint_min = fpsnum/fpsden;//X264_KEYINT_MIN_AUTO params.b_repeat_headers = ;//
params.b_annexb = ; params.b_deblocking_filter = ;
params.rc.f_rf_constant = ;
params.rc.i_bitrate = bitrate;
初始化编码器:
enc = x264_encoder_open(¶ms);
获取整个流的pps和SPS??:
int s = x264_encoder_headers(enc, &nals, &nal_count);
-----------------------------------------------------------------
x264编码:
初始化图片信息:
x264_picture_t picin, picout;
x264_picture_init(&picin);
对图片信息参数设定:
picin.i_pts = ts;
picin.i_type = X264_TYPE_AUTO;
picin.i_qpplus1 = ;
picin.img.i_csp = (csp == ) ? X264_CSP_NV12 : csp;//special hack for android
。。。。。。。
。。。。。。。
。。。。。
对帧进行x264编码:
ret = x264_encoder_encode(enc, &nals, &nnal, &picin, &picout);
备注:总结一下就是:
(1)初始化并设定x264_param_t
(2)初始化并设定 x264_picture_t
(3)x264编码
=====================================================
参考:
X264多线程分析
http://blog.sina.com.cn/s/blog_4ae178ba01013yix.html
x264的编码示例
http://blog.csdn.net/xyyangkun/article/details/7255372/
http://www.cnblogs.com/chuncn/archive/2011/02/25/1459805.html
视频x264编码浅析的更多相关文章
- Android camera采集视频 X264编码
参考 http://blog.csdn.net/zblue78/article/details/6058147 感谢 ExperiencesOfCode 硬件平台:CPU Intel G630 @2. ...
- 使用X264编码yuv格式的视频帧使用ffmpeg解码h264视频帧
前面一篇博客介绍在centos上搭建点击打开链接ffmpeg及x264开发环境.以下就来问个样例: 1.利用x264库将YUV格式视频文件编码为h264格式视频文件 2.利用ffmpeh库将h264格 ...
- iOS音频AAC视频H264编码 推流最佳方案
iOS音频AAC视频H264编码 推流最佳方案 项目都是个人的调研与实验,可能很多不好或者不对的地方请多包涵. 1 功能概况 * 实现音视频的数据的采集 * 实现音视频数据的编码,视频编码成 ...
- WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码
转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...
- X264编码流程详解(转)
http://blog.csdn.net/xingyu19871124/article/details/7671634 对H.264编码标准一直停留在理解原理的基础上,对于一个实际投入使用的编码器是如 ...
- FFmpeg YUV视频序列编码为视频
上一篇已经写了如何配置好开发环境,这次就先小试牛刀,来个视频的编码.搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的视频数据都是YUV视频序列,我们这里就用用YUV视频序列来做视频.关于Y ...
- x264编码的图像出现乱码的问题
将YUV进行x264编码的时候,建议将 i_threads 参数设置成 X264_SYNC_LOOKAHEAD_AUTO//* 取空缓冲区继续使用不死锁的保证. 否则有可能编码出来的数据会出现IDR_ ...
- mp4格式的视频,编码方式mpeg4,转化为h264
知识点:在使用vcastr3.swf播放器播放flv视频,(同时在html5页面,使用<video>标签时),发现某些MP4格式的代码不能播放 原因:vcastr3.swf和video,不 ...
- Base系列编码浅析【base16 base32 base64 base85 base36 base 58 base91 base 92 base62】
Base系列编码浅析 [base16 base32 base64 base85 base36 base 58 base91 base 92 base62] base编码 ...
随机推荐
- jQueryValidation插件API 学习
一般格式: $('').viladata({ rules:{ username:{ required:true, maxlength:2, minlength:10, remote:{ url:&qu ...
- Activity传递参数——传递简单数据
一.新建一个空的工程 二.在主界面中添加一个按钮 三.新建一个空的activity,并命名为TheAty 四.修改MainActivity.java中的onCreate函数 protected voi ...
- L140
一本载有许多时装照片的杂志是用带有光泽的优质纸印制的.A glossy magazine has lots of pictures of fashionable clothes and is prin ...
- New Concept English three (39)
26w/m 70errors The rough across the plain soon became so bad that we tried to get Bruce to drive bac ...
- JavaScript 哈希表(散列表)实现和应用
查找的效率与比较次数密切相关.基于比较的程序,运算效率是比较低的.比如平时可以通过indexOf查找一个数据.但这是一个基于比较的一个实现.如果是淘宝那样有上亿个商品,那么用indeOf 来查数据就会 ...
- Unity 2D 入门
原文:Introduction to Unity 2D 作者:Sean Duffy 译者:kmyhy 3/15/17 更新说明: 升级至 Unity 5.5. Unity 是一个非常流行和强大的游戏引 ...
- NLTK下载语言素材中碰到的certificate verify failed (_ssl.c:749)
NLTK是什么? NLTK是一个开源的项目,包含:Python模块,数据集和教程,用于NLP的研究和开发. NLTK由Steven Bird和Edward Loper在宾夕法尼亚大学计算机和信息科学系 ...
- Java中BIO,NIO,AIO的理解
在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解.具体如下: 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 ...
- 【面试季之三】IE6兼容问题
最近面试真的碰到很多基础的问题,平时在工作的时候往往可以直观的看到页面的问题,然后进行代码调试,调试不明白了还可以上网查一下.可是面试的时候,就是得当场反应出来,并且还得能系统的说出1.2.3.4.5 ...
- 【解题报告】[动态规划]RQNOJ - PID82 / 又上锁妖塔
原题地址:http://www.rqnoj.cn/problem/82 解题思路: 简单的动态规划 状态表示:DP[i][0]表示当前在第i层,且当前跳跃状态不可用,此时消耗的最短时间. DP[i ...