跳到主要内容

hi_venc_mjpeg_vbr

hi_venc_h264_qpmap

说明

定义 H.264 编码通道QPMAP属性结构。暂不支持。

定义

typedef struct {
hi_u32 gop;
hi_u32 stats_time;
hi_u32 src_frame_rate;
hi_u32 dst_frame_rate;
}hi_venc_h264_qpmap;

父主题: VENC视频/JPEGE图像编码

hi_venc_mjpeg_cbr

说明

定义MJPEG编码通道CBR属性结构。暂不支持。

定义

typedef struct {
hi_u32 stats_time; // RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s)
hi_u32 src_frame_rate; // RW; Range:[1, 240]; the input frame rate of the venc channel
hi_u32 dst_frame_rate; // RW; Range:[1, 240]; the target frame rate of the venc channel,
// can not be larger than src_frame_rate
hi_u32 bit_rate; // RW; Range:[2, 614400]; average bitrate
} hi_venc_mjpeg_cbr;

父主题: VENC视频/JPEGE图像编码

hi_venc_mjpeg_vbr

说明

定义MJPEG编码通道VBR属性结构。暂不支持。

定义

typedef struct {
hi_u32 stats_time; // RW; Range:[1, 60]; the rate statistic time, the unit is senconds(s)
hi_u32 src_frame_rate; // RW; Range:[1, 240]; the input frame rate of the venc channel
hi_u32 dst_frame_rate; // RW; Range:[1, 240]; the target frame rate of the venc channel,
// can not be larger than src_frame_rate
hi_u32 max_bit_rate; // RW; Range:[2, 614400];the max bitrate
}hi_venc_mjpeg_vbr;

父主题: VENC视频/JPEGE图像编码

hi_venc_mjpeg_fixqp

说明

定义MJPEG编码通道FIXQP属性结构。暂不支持。

定义

typedef struct {
hi_u32 src_frame_rate; // RW; Range:[1, 240]; the input frame rate of the venc channel
hi_u32 dst_frame_rate; // RW; Range:[1, 240]; the target frame rate of the venc channel,
// can not be larger than src_frame_rate
hi_u32 qfactor; // RW; Range:[1,99];image quality.
} hi_venc_mjpeg_fixqp;

父主题: VENC视频/JPEGE图像编码

hi_venc_h265_cbr

说明

定义 H.265编码通道CBR属性结构。

定义

typedef struct {
hi_u32 gop;
hi_u32 stats_time;
hi_u32 src_frame_rate;
hi_u32 dst_frame_rate;
hi_u32 bit_rate;
} hi_venc_h265_cbr;

成员

成员名称描述
gopGroup Of Pictures, 视频序列由若干时间连续的图像构成,在对其进行编码时,先将该视频序列分割成若干个小的图像组,该参数即指一个图像组的帧数;由于GOP结构仅支持Normalp(第一帧为I帧,其余帧为P帧),此参数也为I帧间隔,默认值65535;由于编码I帧不需参考之前的帧,之前帧的编码质量影响从此帧开始不再传递,故该值越小,编码质量越好;但不建议小于帧率,因为I帧仅有帧内预测块,大部分场景需要有一定的P帧(有帧间预测块块)才能保证编码质量。 取值范围:[1, 65536]。
stats_timeCBR码率统计时间,以秒为单位,一般场景下,stats_time= gop / dst_frame_rate,编码质量较好。 码率统计时间越长,每帧图像的码率波动对于码率调节的影响越弱,码率的调节会更缓慢,图像质量的波动会更轻微;码率统计时间越短,每帧图像的码率波动对于码率调节的影响越强,图像码率的调节会更灵敏,图像质量的波动会更剧烈。 取值范围:[1, 60]。
src_frame_rate编码器输入帧率,以fps为单位,即每秒进入编码器的帧数,默认值为30;码率一定的情况下,该值越小,编码质量越好,但小于25播放时画面会不连贯。 该参数取值范围:[1, 240]。
dst_frame_rate编码器输出帧率,以fps为单位,即每秒编码器输出的帧数,默认值为30;码率一定的情况下,该值越小,编码质量越好,但小于25播放时画面会不连贯。 取值范围:[1, src_frame_rate]。 暂不支持分数帧率。
bit_rate编码器输出平均码率,以kbps为单位,即编码码流每秒比特数,该值越大,编码质量越好;默认值2000。 该参数取值范围:[2, 614400]。 平均比特率的设置与编码通道宽高以及图像帧率都有关系。典型的平均比特率的设置如表1所示。注意,表1中的平均比特率的设置是在通道编码帧率为满帧率(30fps)时的设置。当用户设置编码输出帧率不为满帧率时,可以对下表中的码率按用户设置帧率与满帧率(30fps)的比例进行换算。

表1 典型平均比特率配置

图像宽高/码率等级1080p(1920x1080)4K(3840x2160)
低码率<2Mbps<8Mbps
中码率2Mbps~8Mbps8Mbps~30Mbps
高码率>8Mbps>30Mbps

父主题: VENC视频/JPEGE图像编码

hi_venc_h265_vbr

说明

定义 H.265编码通道VBR属性结构。

定义

typedef struct {
hi_u32 gop;
hi_u32 stats_time;
hi_u32 src_frame_rate;
hi_u32 dst_frame_rate;
hi_u32 max_bit_rate;
}hi_venc_h265_vbr;

成员

成员名称描述
gopGroup Of Pictures, 视频序列由若干时间连续的图像构成,在对其进行编码时,先将该视频序列分割成若干个小的图像组,该参数即指一个图像组的帧数;由于GOP结构仅支持Normalp(第一帧为I帧,其余帧为P帧),此参数也为I帧间隔,默认值65535;由于编码I帧不需参考之前的帧,之前帧的编码质量影响从此帧开始不再传递,故该值越小,编码质量越好;但不建议小于帧率,因为I帧仅有帧内预测块,大部分场景需要有一定的P帧(有帧间预测块块)才能保证编码质量。 取值范围:[1, 65536]。
stats_timeVBR 码率统计时间,以秒为单位,一般场景下,stats_time= gop / dst_frame_rate,编码质量较好。 码率统计时间越长,每帧图像的码率波动对于码率调节的影响越弱,码率的调节会更缓慢,图像质量的波动会更轻微;码率统计时间越短,每帧图像的码率波动对于码率调节的影响越强,图像码率的调节会更灵敏,图像质量的波动会更剧烈。 取值范围:[1, 60]。
src_frame_rate编码器输入帧率,以fps为单位,即每秒进入编码器的帧数,默认值为30;码率一定的情况下,该值越小,编码质量越好,但小于25播放时画面会不连贯。 该参数取值范围:[1, 240]。
dst_frame_rate编码器输出帧率,以fps为单位,即每秒编码器输出的帧数,默认值为30;码率一定的情况下,该值越小,编码质量越好,但小于25播放时画面会不连贯。 取值范围:[1, src_frame_rate]。 暂不支持分数帧率。
max_bit_rate编码器输出最大码率,以kbps为单位,即编码码流每秒比特数,该值越大,编码质量越好;默认值2000。 该参数取值范围:[2, 614400]。

注意事项

请参见hi_venc_h264_cbr中关于src_frame_rate和dst_frame_rate的说明。

父主题: VENC视频/JPEGE图像编码

在线提单