easydss与h264编码参数

来源:互联网 发布:wpf编程宝典 源码 编辑:程序博客网 时间:2024/06/08 08:44

一  h264主要编码参数:

帧率,分辨率,YUV格式,qp,profile类型,vbr/cbr,gop,码率

1 帧率:表示每秒有多少个视频帧。

2 分辨率

3 YUV格式,标明YUV在数据流中的排列方式,有YUV422,420P,.....目前h264压缩主流用的是420P

4 qp 压缩步长,qp越小,画质越好

5 profile类型 

 baseline
支持I/P 帧,只支持无交错(Progressive)和CAVLC 
一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等; 
Main
支持I/P/B 帧,无交错(Progressive)和交错(Interlaced),CAVLC 和CABAC 
用于主流消费类电子产品规格如低解码(相对而言)的mp4、便携的视频播放器、PSP和Ipod等; 
High
在Main的基础上增加了8x8 内部预测、自定义量化、无损视频编码和更多的YUV 格式(如4:4:4) 
用于广播及视频碟片存储(蓝光影片),高清电视的应用。 #0. 前言 
本文首先会谈谈profile和level是干什么的,然后聊聊用ffmpeg和x264命令行怎么指定对应参数,最后聊聊在代码中怎么使用设置profile和level。

6 vbr/cbr  

vbr可变码率(会因为画面内容的变化而变化),cbr固定码率

7 gop 

group of picture

多少帧视频出现一个I帧。

8 码率  设置的编码参考码率


二 对应ffmpeg里面的参数

AVCodecContext

time_base.num       = 1;
        time_
base.den       = 20;//帧率

       width    分辨率 
       height 

       pix_fmt  ;//YUV排列方式

       

      qmin   qp参数范围
      qmax

      

       profile  profile类型

       

       bit_rate_tolerance  设置vbr/cbr
   
       gop_size 设置gop,表示多少帧出现一个I帧

       bit_rate  参考编码码率


更多开源流媒体技术,请关注我们的微信:EasyDarwin