鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

HW265Enc使用示例

以yuv文件转换为mp4文件为例,提供HW265Enc编码器编码命令使用示例。

使用HW265Enc编码“test.yuv”,输出到test.mp4。编码命令使用示例如下:
./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!!
表1 HW265Enc命令可执行选项配置说明

参数

参数说明

命令行说明

-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]之间。

  • -1:只有第一个
  • 1:所有I帧

-key 30

-slice_mode <integer>

片段模式。

-slice_mode 1

-slice_arg <integer>

片段参数。

-slice_arg 100

-rc <integer>

速率控制模式。

  • 0:ABR模式
  • 1:CRF模式

-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>

是否开启多趟编码。

  • 0:不开启
  • 1:多趟编码第一趟
  • 2:多趟编码第二趟

-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帧。

  • 0:不开启
  • 1:开启

-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>

循环滤波是否跨越片段。

  • 1:跨越
  • 0:不跨越

-lp_cross_slice 1

-lp_cross_tile <bool>

循环滤波是否跨越切片。

  • 1:跨越
  • 0:不跨越

-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