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

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

-frames <integer>

需要编码的帧数。

-frames 1000

-channel <integer>

编码器的通道ID。

-channel 1

-w <integer>

图像宽度(以像素为单位),范围[160, 4096]。

-w 1920

-h <integer>

图像高度(以像素为单位),范围[96, 4096]。

-h 1080

-keyInt <integer>

关键帧间隔,必须在[0, 65535]之间。

  • 0:只有第一帧是I帧
  • 1:所有I帧

-keyInt 30

-rc <integer>

速率控制模式。

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

-rc 0

-br <integer>

目标比特率(kbps),范围[40kbps, 300000kbps]。

-br 5000

-crf <integer>

设置CRF模式码控水平,范围在[0, 51],默认值为23。仅在CRF模式生效。

-crf 23

-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

-sar_width <integer>

采样纵横比,范围[0, 65535]。

-sar_width 1

-sar_height <integer>

采样纵横比,范围[0, 65535]。

-sar_height 1

-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

-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