海思RTSP推流第二篇——海思平台和H264编码Demo

前言:
记得行内一个老师说过,基础不牢,地动山摇,对于海思的编码过程还是不是很熟悉所以回头把这个分析一遍。
海思平台:
官方手册:HiMPP IPC V2.0 媒体处理软件开发参考,里面有介绍海思IPC平台的架构和框架;
这里贴几个图具体还得查看文档。
Hi35xx 典型的系统层次图:
在这里插入图片描述
海思媒体处理平台架构:分为好几个模块,视频输入( VI)、视频
处理( VPSS)、视频编码( VENC)、视频解码( VDEC)、视频输出(VO)、视频侦测分
析(VDA)、音频输入(AI)、音频输出(AO)、音频编码( AENC)、音频解码( ADEC)、
区域管理( REGION)等模块
在这里插入图片描述
各模块的简介,具体还是得查看手册可知道其细节
在这里插入图片描述
正文:海思平台H264编码的过程

一、会有相关的音视频的参数和概念

  1. 比如VPSS视频处理子系统,通道、码率控制模式等…对这些概念需要理解其作用;
    //编码协议类型
PAYLOAD_TYPE_E enPayLoad[1]= {
   PT_H264};
PIC_SIZE_E enSize[3] = {
   PIC_HD1080};
HI_U32 u32Profile = 0;

//定义视频缓存池属性结构体。
VB_CONF_S stVbConf;
//vi config
SAMPLE_VI_CONFIG_S stViConfig = {
   0};

//VPSS
VPSS_GRP VpssGrp;
VPSS_CHN VpssChn;
VPSS_GRP_ATTR_S stVpssGrpAttr;
VPSS_CHN_ATTR_S stVpssChnAttr;
VPSS_CHN_MODE_S stVpssChnMode;

//编码通道
VENC_CHN VencChn;
//定义编码通道码率控制器 模式 
SAMPLE_RC_E enRcMode= SAMPLE_RC_CBR;
//通道数
HI_S32 s32ChnNum=0;

HI_S32 s32Ret = HI_SUCCESS;
HI_U32 u32BlkSize;
SIZE_S stSize;
char c;

PAYLOAD_TYPE_E :定义编码协议类型枚举;
VB_CONF_S :定义视频缓存池属性结构体;
SAMPLE_RC_E :定义编码通道码率控制器 模式 ;
什么是码率? 码率就是数据传输时单位时间传送的数据位数。
重点提下码率控制模式:包含了vbr和cbr 、avbr、 qvbr 、cvbr、fixqp等多种

typedef enum sample_rc_e
{
   
    SAMPLE_RC_CBR = 0,      //CBR:(Constant Bit Rate)恒定码率
    SAMPLE_RC_VBR,          //VBR:(Variable Bit Rate)可变码率
	SAMPLE_RC_AVBR,         //AVBR(Adaptive Variable Bit rate)变码流:AVBR是通过对VBR的进一步改进,增加了自适应动态码率控制功能
    SAMPLE_RC_FIXQP         //FIXQP(固定质量)是一种视频编码方式
}SAMPLE_RC_E;

详细参考博客:https://blog.csdn.net/qq_28258885/article/details/118891810

  1. 对海思平台图形处理器的一些个人理解
    海思平台框架按照上面已经给出,分为多个模块VI、VPSS、VENC等模块,模块之间连接要通过绑定来实现数据传输,海思有一种数据交换模式叫在线和离线模式,在线模式下可以不经过内存直接把数据传输给另一个模块,VI和VPSS之间,图像采集编码这个过程需要申请一个大的内存——内存池,用于存放图像数据 stVbConf 设置相关参数,图像采集过程申请一个内存缓冲块存放数据,内存块在完成编码后需要释放如下图所示。
    在这里插入图片描述

二、海思平台视频编码过程

视频编码流程:申请内存池 -> 初始化sys -> 启动VI -> 启动视频处理子系统 -> 绑定VI和VPSS -> 启动VENC ->

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值