ffmpeg H264编解码前面有文章介绍下,本文主要介绍一些参数配置。

编码:

int InitEncoderCodec( int iWidth, int iHeight)
{AVCodec *  pH264Codec = avcodec_find_encoder(AV_CODEC_ID_H264);if(NULL == pH264Codec){printf("%s", "avcodec_find_encoder failed");return  -1;}outPutEncContext = avcodec_alloc_context3(pH264Codec);outPutEncContext->gop_size = 30;outPutEncContext->has_b_frames = 0;outPutEncContext->max_b_frames = 0;outPutEncContext->codec_id = pH264Codec->id;outPutEncContext->time_base.num = 2;outPutEncContext->time_base.den = 15;outPutEncContext->pix_fmt            = *pH264Codec->pix_fmts;outPutEncContext->width              =  iWidth;outPutEncContext->height             = iHeight;outPutEncContext->qmin = 34;outPutEncContext->qmax = 50;AVDictionary *options = nullptr;outPutEncContext->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; av_opt_set(outPutEncContext->priv_data,"tune","zerolatency",0);     av_dict_set(&options,"preset","ultrafast",0);int ret = avcodec_open2(outPutEncContext, pH264Codec, &options);if (ret < 0){printf("%s", "open codec failed");return  ret;}return 1;
}

  解码:

codecContext->flags |=CODEC_FLAG_LOW_DELAY;

  

编码codec 的time_base实际上表示视频的帧率,qmin,qmax决定了编码的质量,qmin,qmax越大编码的质量越差。zerolatency参数的作用是提搞编码的实时性。

解码codec 加上CODEC_FLAG_LOW_DELAY,可提高解码速度(低延时)。

视频教程 播放地址: http://www.iqiyi.com/u/1426749687

转载于:https://www.cnblogs.com/wanggang123/p/6346787.html

ffmpeg H264 编解码配置相关推荐

  1. WebRTC android 端支持H264编解码

    一.WebRTC源码中默认使用的H264编解码的库 1.WebRTC源码的video_coding模块中,包含了H264编解码相关的类 打开画红线的两个头文件,分别可以看到解码类中导入了ffmpeg的 ...

  2. CrossWalk WebView添加支持WebRTC及H264编解码

    前言 1.WebView简介 WebView是Android平台上的一个非常重要的系统组件,用于将一个显示浏览器页面的窗口嵌入到应用程序,并提供一组接口让开发者定制一些页面加载及JavaScript对 ...

  3. 音视频开发系列--H264编解码总结

    一.概述 H264,通常也被称之为H264/AVC(或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC) 对摄像头采集的每一帧视频需要进行编码,由于视频中存在空间和时间的冗余,需要 ...

  4. ffmpeg硬编解码 Inter QSV

    另一篇:ffmpeg硬件编解码Nvidia GPU 硬编解码除了使用Nvidia的GPU之外,Inter的QSV也是一种不错的方案,跟Nvidia不同的是,如果希望使用ffmepg的Inter QSV ...

  5. ffmpeg常用编解码命令

    ffmpeg常用编解码命令 1 ffplay.exe (1) 播放MP4文件,指定标题以及播放分辨率 ffplay.exe -window_title "视频监控" -x 720 ...

  6. webrtc默认使用h264编解码

    webrtc默认选择的是vp8编解码,要修改为默认h264编解码,则需要编码和解码都修改,需要做到下面三步 编译支持 编译时候增加属性 proprietary_codecs,设为true 例如: /. ...

  7. 音视频系列--H264编解码总结

    一.概述 H264,通常也被称之为H264/AVC(或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC) 对摄像头采集的每一帧视频需要进行编码,由于视频中存在空间和时间的冗余,需要 ...

  8. H264编解码SPS、PPS参数说明

    H264编解码参数说明 一.H264码流分层 1.NAL层 ①.如何判断帧类型(是图像参考帧还是I.P帧等)? ②. 帧格式 ③. [SPS格式解析代码分析 ParseAndRewriteSps方法 ...

  9. TightVNC H264编解码(一)

    时光流逝,时间过的真快啊!疲于工作,发现近一个多月没写文章了.此文算是对最近的工作做个总结吧.经过尽二个月的不断摸索,TightVNC终于支持H264编解码了,前期真正编写H264编解码器只花了一周左 ...

最新文章

  1. 透视宇宙:大约138亿年前,宇宙真的发生过大爆炸吗?
  2. idea打包成jar包或war包
  3. 基础理论:啥是分布函数CDF、啥叫联合分布?
  4. gitignore重要技巧
  5. QT的QContiguousCache类的使用
  6. docker之docker-machine用法
  7. 在Kubernetes集群上部署和管理JFrog Artifactory
  8. matlab的try函数,matlab – 是否可以在没有try块的情况下测试函数句柄?
  9. 转:libev和libevent的设计差异
  10. SAP License:SAP 现金流量表实现方法谈
  11. [BZOJ4987] Tree
  12. java inner class_Java Inner Class 内部类
  13. php打印日期,php打印日期
  14. WGS84经纬度坐标转化成UTM坐标
  15. 3DMAX渲染了很久还是黑的或有部分黑​屏?
  16. 如何在网页浏览器中缩放网页?
  17. stm32毕业设计 单片机火灾报警系统
  18. 电脑技巧:电脑键盘F1~F12按键的妙用
  19. 幼儿识字软件测试自学,儿童识字App大PK:汉字王国只娱乐不学习
  20. 移动100m宽带慢的要死_wifi慢到快崩溃明明100m宽带却像2m的网速教你1招快速解决...

热门文章

  1. 转:SUSE下与RHEL下yum相似的RPM包管理工具zypper
  2. android手机存储大小设置在哪里看,Android 最新获取手机内置存储大小,SD卡存储空间大小方法...
  3. kafka修改分区数_大数据技术:解析SparkStreaming和Kafka集成的两种方式
  4. C语言程序设计输入x求函数y,C语言程序设计实践(OJ)-初识函数
  5. Linux源代码软件安装,Linux软件安装:源代码与软件安装
  6. 参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!
  7. 实际场景中,云原生存储面临的 7 个挑战
  8. 安装python有什么用_什么是Python Wheels?为什么要关心它?,python有什么用
  9. linux at自动挂化,linux的at定时任务的使用
  10. 心灵战争服务器维护,心灵战争服务器异常产生哪些问题如何解决_心灵战争服务器异常产生问题及解决方法_玩游戏网...