HW265Enc使用示例
以yuv文件转换为mp4文件为例,提供HW265Enc编码器编码命令使用示例。
./bin/CloudHw265App -c ~/dependency/lib/cfg/hw265_encoder.cfg -preset 6 -w 1920 -h 1080 -rc 0 -br 8000 -pass 0 -fps_num 30 -fps_den 1 -timebase_den 30 -timebase_num 1 -frames 9999 -keyInt 120 -adap_i 0 -bframes 3 -delay 4 -FrmThreadNum 4 -WppThreadNum 4 -LookAheadThreads 3 -i test.yuv -b test.mp4
使用HW265Enc编码时可以配置的参数如表1所示。
回显参考如下:
ShortInterfacr Mode: current version is LOG-iMedia Video III 5.5.1.B001, 10:57:09 Apr 18 2025, 10 Input YUV file : test.yuv Output stream file: test.mp4 Begin encoding: test.yuv res 1920x1080 Total Frames: 600, init encode time: 44ms, del encode time: 70ms, pure time: 11459ms, FPS: 52.3601 bitrate: 7965.0008 Total Time: 11960ms, TotalFps: 50.1643 Encoding CpuUsage: 5.43% Encode Success!!
参数 |
参数说明 |
命令行说明 |
---|---|---|
-v |
查询版本信息。 |
-v |
-h |
列出所有选项。 |
-h |
-c <string> |
配置文件路径。 |
-c ~/dependency/lib/cfg/hw265_encoder.cfg |
-preset <integer> |
设置编码画质等级,可选2,3,5,6四种档位,编码速度逐级加快,编码质量逐级降低,默认值为3。 |
-preset 6 |
-i <string> |
输入YUV 4:2:0文件。 |
-i input.yuv |
-b <string> |
输出比特流文件。 |
-b output.bit |
-start <integer> |
需要编码的第一帧(0-N)。 |
-start 100 |
-frames <integer> |
需要编码的帧数。 |
-frames 1000 |
-channel <integer> |
编码器的通道ID。 |
-channel 1 |
-repeat_ps <bool> |
在每个I帧前重复SPS和PPS。 |
-repeat_ps 1 |
-sublayer <integer> |
临时子层的数量(1-3)。 |
-sublayer 2 |
-scenecut <bool> |
开启场景检测。 |
-scenecut 1 |
-low_delay <bool> |
低延迟编码,例如视频会议。 |
-low_delay 1 |
-w <integer> |
图像宽度(以像素为单位),范围[160, 4096]。 |
-w 1920 |
-h <integer> |
图像高度(以像素为单位),范围[96, 4096]。 |
-h 1080 |
-iStride <integer> |
亮度组件的步幅(以像素为单位)。 |
-iStride 1920 |
-key <integer> |
关键帧间隔,必须在[0, 65535]之间。
|
-key 30 |
-slice_mode <integer> |
片段模式。 |
-slice_mode 1 |
-slice_arg <integer> |
片段参数。 |
-slice_arg 100 |
-rc <integer> |
速率控制模式。
|
-rc 0 |
-br <integer> |
目标比特率(kbps),范围[10, 80*1000]。 |
-br 5000 |
-crf <integer> |
设置CRF模式码控水平,范围在[0, 51],默认值为23。仅在CRF模式生效。 |
-crf 23 |
-fr <integer> |
帧率 * 1000,范围[5000, 300000]。 |
-fr 30000 |
-pass <integer> |
是否开启多趟编码。
|
-pass 0 |
-fps_num <integer> |
帧率中的分子。 |
-fps_num 30 |
-fps_den <integer> |
帧率中的分母(与帧率中的分子共同组成帧率,如30/1)。 |
-fps_den 1 |
-timebase_num <integer> |
时间基中的分子。 |
-timebase_num 1 |
-timebase_den <integer> |
时间基中的分母(与时间基分子组成时间基,如1/30,与帧率互为倒数)。 |
-timebase_den 30 |
-adap_i <integer> |
是否开启场景自适应I帧。
|
-adap_i 0 |
-bframes <integer> |
最大连续B帧数,范围[0, 7]。 |
-bframes 3 |
-delay <integer> |
设置时域分析缓存帧数,范围[0, 150]。 |
-delay 4 |
-FrmThreadNum <integer> |
设置帧级编码的线程数,范围[1, 38]。 |
-FrmThreadNum 4 |
-WppThreadNum <integer> |
设置wpp行级编码的线程数,范围[1, 20]。 |
-WppThreadNum 4 |
-LookAheadThreads <integer> |
设置lookahead预分析线程数,范围[1, 48]。 |
-LookAheadThreads 4 |
-vbv_Delay <integer> |
VBV缓冲区延迟(ms),范围[500, 30000]。 |
-vbv_Delay 1000 |
-skip <bool> |
是否开启帧跳过。 |
-skip 1 |
-qp <integer> |
编码器使用的初始QP。-1或[0, 51]。 |
-qp 25 |
-max_qp <integer> |
最大QP,范围[0, 51]。 |
-max_qp 51 |
-min_qp <integer> |
最小QP,范围[0, 51]。 |
-min_qp 0 |
-cb_qp_offset <integer> |
图像cb_qp_offset,范围[-12, 12]。 |
-cb_qp_offset 0 |
-cr_qp_offset <integer> |
图像cr_qp_offset,范围[-12, 12]。 |
-cr_qp_offset 0 |
-lp_cross_slice <bool> |
循环滤波是否跨越片段。
|
-lp_cross_slice 1 |
-lp_cross_tile <bool> |
循环滤波是否跨越切片。
|
-lp_cross_tile 1 |
-sao_luma <bool> |
是否为亮度组件启用样本自适应偏移。 |
-sao_luma 1 |
-sao_chroma <bool> |
是否为色度组件启用样本自适应偏移。 |
-sao_chroma 1 |
-df_disable <bool> |
是否禁用去块滤波。 |
-df_disable 0 |
-df_beta <integer> |
Beta偏移量除以2,范围[-13, 13]。 |
-df_beta 0 |
-df_tc <integer> |
Tc偏移量除以2,范围[-13, 13]。 |
-df_tc 0 |
-sar_w <integer> |
采样纵横比,范围[0, 65535]。 |
-sar_w 1 |
-sar_h <integer> |
采样纵横比,范围[0, 65535]。 |
-sar_h 1 |
-sei_size <integer> |
SEI大小(字节)。 |
-sei_size 1024 |
-sei_data <string> |
SEI数据。 |
-sei_data "abc123" |
-qual_enh_mode <integer> |
质量增强模式,范围[0, 4]。 |
-qual_enh_mode 2 |
-qual_enh_level <integer> |
质量增强级别,范围[1, 8]。 |
-qual_enh_level 4 |
-qual_enh_thread_num <integer> |
质量增强线程数。 |
-qual_enh_thread_num 4 |