searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Openh264的命令行使用

2023-09-22 10:06:07
163
0

* -bf        指定输出的码流。
* -org       输入的视频源,支持 yuv.
* -sw        输入视频源的宽度。
* -sh        输入视频源的高度。
* -utype     编码模式,共有四种:CAMERA_VIDEO_REAL_TIME, SCREEN_CONTENT_REAL_TIME, CAMERA_VIDEO_NON_REAL_TIME,SCREEN_CONTENT_NON_REAL_TIME. 即:实时相机内容编码,实时屏幕内容编码,非实时相机内容编码,非实时屏幕内容编码。
* -savc      simulcast avc 的缩写,编码输出为标准的 h.264/avc 流。
* -frms      视频源需要编码的帧数,从文件头开始计算。
* -frin      视频源码率。
* -numtl     时域层数,默认为 1.
* -iper      I 帧周期,默认为 -1. 在编码器内会折合为 GOP 的 2-整幂次。
* -nalsize   最大 NAL 长度。
* -spsid     编码参数集的策略。
* -cabac     熵编码模式:0 为 Calvc, 1 为 CABAC.
* -complexity 编码决策复杂度:0 是低复杂度,1 是中等复杂度,2 是高复杂度。默认值是 0。
* -denois    降噪模式,默认是关闭的。
* -scene     场景切换检测,默认是关闭的。
* -bgd       背景检测,默认是关闭的。
* -aq        自适应量化,默认是关闭的。
* -ltr       使用长期参考帧,默认是 0。
* -ltrnum    使用长期参考帧的数目,屏幕内容模式建议取 1~4,自然场景建议取 1~2.
* -ltrper    长期参考帧的插入周期。
* -threadIdc 编码线程数。0 代表自动决定线程数,1 代表关闭多线程实现,>1 代表指定线程数。
* -loadbalancing 多线程模式下的负载均衡。0 表示关闭,1 表示开启。默认是开启的。
* -deblockIdc 去方块滤波。0 表示关闭。
* -alphaOffset 去方块滤波的 AlphaOffset, 取值范围为-6~+6.
* -betaOffset 去方块滤波的 BetaOffset, 取值范围为-6~+6.
* -rc        码率控制模式:-1 表示关闭,0 表示质量控制模式,1 表示码率控制模式,2 表示缓冲控制模式,3 表示基于输入时间戳的码率控制模式。        
* -tarb      总体目标码率(针对多层输出)。
* -maxbrTotal总体最大码率。
* -maxqp     最大 QP。默认为 51,屏幕内容模式下为 35.
* -minqp     最小 QP。默认为 0,屏幕内容模式下为 26.
* -trace     日志等级。
* -fixrc     允许码率控制超限。
* -numl      空域层数。

以下是对各空域层的控制参数。其格式为(n, val),第一个参数表示指定的层数,第二个参数表示指定的参数值:
* -lconfig   指定配置文件。
* -drec      指定重建流。  
* -dprofile  指定 profile。所有层的 profile 必须一致。
* -dw        输出宽度。
* -dh        输出高度。
* -frout     输出帧率。
* -lqp       基础 QP。
* -ltarb     层上目标码率。
* -lmaxb     层上最大码率。
* -slcmd     空域层的 slice 模式。

下面是一个完全使用命令行(不引入配置文件)的例子:

h264enc -org xxx.yuv -sw 720 -sh 1280 -frin 30 -numtl 1 -numl 0 -savc 1 -tarb 3000 -maxbrTotal 4000 -dw 0 720 -dh 0 1280 -frout 0 30 -iper 120 -ltarb 0 3000 -lmaxb 0 4000 -ltr 1 -ltrnum 2 -rc 1 -bf zzz.264
0条评论
0 / 1000
肖恩
4文章数
1粉丝数
肖恩
4 文章 | 1 粉丝
肖恩
4文章数
1粉丝数
肖恩
4 文章 | 1 粉丝
原创

Openh264的命令行使用

2023-09-22 10:06:07
163
0

* -bf        指定输出的码流。
* -org       输入的视频源,支持 yuv.
* -sw        输入视频源的宽度。
* -sh        输入视频源的高度。
* -utype     编码模式,共有四种:CAMERA_VIDEO_REAL_TIME, SCREEN_CONTENT_REAL_TIME, CAMERA_VIDEO_NON_REAL_TIME,SCREEN_CONTENT_NON_REAL_TIME. 即:实时相机内容编码,实时屏幕内容编码,非实时相机内容编码,非实时屏幕内容编码。
* -savc      simulcast avc 的缩写,编码输出为标准的 h.264/avc 流。
* -frms      视频源需要编码的帧数,从文件头开始计算。
* -frin      视频源码率。
* -numtl     时域层数,默认为 1.
* -iper      I 帧周期,默认为 -1. 在编码器内会折合为 GOP 的 2-整幂次。
* -nalsize   最大 NAL 长度。
* -spsid     编码参数集的策略。
* -cabac     熵编码模式:0 为 Calvc, 1 为 CABAC.
* -complexity 编码决策复杂度:0 是低复杂度,1 是中等复杂度,2 是高复杂度。默认值是 0。
* -denois    降噪模式,默认是关闭的。
* -scene     场景切换检测,默认是关闭的。
* -bgd       背景检测,默认是关闭的。
* -aq        自适应量化,默认是关闭的。
* -ltr       使用长期参考帧,默认是 0。
* -ltrnum    使用长期参考帧的数目,屏幕内容模式建议取 1~4,自然场景建议取 1~2.
* -ltrper    长期参考帧的插入周期。
* -threadIdc 编码线程数。0 代表自动决定线程数,1 代表关闭多线程实现,>1 代表指定线程数。
* -loadbalancing 多线程模式下的负载均衡。0 表示关闭,1 表示开启。默认是开启的。
* -deblockIdc 去方块滤波。0 表示关闭。
* -alphaOffset 去方块滤波的 AlphaOffset, 取值范围为-6~+6.
* -betaOffset 去方块滤波的 BetaOffset, 取值范围为-6~+6.
* -rc        码率控制模式:-1 表示关闭,0 表示质量控制模式,1 表示码率控制模式,2 表示缓冲控制模式,3 表示基于输入时间戳的码率控制模式。        
* -tarb      总体目标码率(针对多层输出)。
* -maxbrTotal总体最大码率。
* -maxqp     最大 QP。默认为 51,屏幕内容模式下为 35.
* -minqp     最小 QP。默认为 0,屏幕内容模式下为 26.
* -trace     日志等级。
* -fixrc     允许码率控制超限。
* -numl      空域层数。

以下是对各空域层的控制参数。其格式为(n, val),第一个参数表示指定的层数,第二个参数表示指定的参数值:
* -lconfig   指定配置文件。
* -drec      指定重建流。  
* -dprofile  指定 profile。所有层的 profile 必须一致。
* -dw        输出宽度。
* -dh        输出高度。
* -frout     输出帧率。
* -lqp       基础 QP。
* -ltarb     层上目标码率。
* -lmaxb     层上最大码率。
* -slcmd     空域层的 slice 模式。

下面是一个完全使用命令行(不引入配置文件)的例子:

h264enc -org xxx.yuv -sw 720 -sh 1280 -frin 30 -numtl 1 -numl 0 -savc 1 -tarb 3000 -maxbrTotal 4000 -dw 0 720 -dh 0 1280 -frout 0 30 -iper 120 -ltarb 0 3000 -lmaxb 0 4000 -ltr 1 -ltrnum 2 -rc 1 -bf zzz.264
文章来自个人专栏
openh264介绍
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0