声明 x264_param_t 结构体变量:

x264_param_t params;

x264_param_default_preset(&params, "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(&params);

获取整个流的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/

x264编码详细文字全过程

http://www.cnblogs.com/chuncn/archive/2011/02/25/1459805.html

最新文章

  1. for和foreace的区别
  2. Unity3D Layout 快捷键
  3. 《深入浅出Node.js》第7章 网络编程
  4. git初始化
  5. python 定时任务
  6. ajax contenttype
  7. 51nod 1640 天气晴朗的魔法 最小生成树
  8. Android IllegalStateException: The specified child already has a parent问题解决办法
  9. [小技巧]設定Reporting Services 2008 發生報表管理員權限不足
  10. 【转】Android TextView SpannableStringBuilder 图文混排颜色斜体粗体下划线删除线
  11. Js打开新窗口拦截问题整理
  12. 何使用CSS写出一个下拉菜单。
  13. GDI+: Curved Shapes
  14. 《图书管理系统——java》
  15. [Unity3D]脚本中Start()和Awake()的差别
  16. Android SQLite与ListView的简单使用
  17. 微信小程序之两个页面传值
  18. 【一天一道Leetcode】#190.Reverse Bits
  19. springboot之JdbcTemplate
  20. DAY16、模块和包

热门文章

  1. 将DLL注册到GAC
  2. HTTPPost/AFNetWorking/JSONModel/NSPredicate
  3. 函数声明提升机制在浏览器中的bug
  4. int 21h 汇编
  5. 项目中使用的ajax代码_:觉得还好
  6. 【转】C# Socket编程(1)基本的术语和概念
  7. Doxygen详细介绍
  8. QtAV的编译方法
  9. 2018年总结和2019年的Flag
  10. HTTP协议-简介