视频框架
2024-12-09 17:02:12 0 举报
视频框架
作者其他创作
大纲/内容
ILHAVCoderContext(览辉视频编码器管理器)
- m_pAVCoderCtx: AVCoderContext* //编码器上下文- m_pAVCodec: AVCodec //编码器- m_pILHAVCoder: ILHAVCoder* //编码器- m_pILHAVPusher: ILHAVPusher* //推送器- m_sUrl: std::string //推拉流编码器- m_sPara: std::string //推拉器编码器参数
span style=\"font-size: inherit;\
YUVAVCoder
- m_pName: LH_CHAR* //编码器名称- m_pAVCodec: AVCodec //编码器- m_uiType: LH_UINT32 //编码器类型- m_uiId: LH_UINT32 //编码器Id- m_pNext: IAVCodec* //下一个编码器- m_pPriv: IAVCodec* //上一个编码器- m_pPrivData: void*- m_uiPrivDataSize: LH_UINT32 //前置数据长度- m_pData: void* //编码器数据- size: LH_UINT32 //编码器数据长度
LHObject
+ AppendObject(LHObject *onbject): void+ RemoveObject(LHObject *onbject): void- IsLife(): bool
ILHAVFlower
- m_nId: LH_INT //Id
LHAVObject
LHAVideoManager(览辉视频管理器)
- AVCoderContextList: ILHAVCocderContext* //编码器管理列表
+ RegisterToEventServer() //注册到事件服务+ SetVideoCallBack(LHVideoCallBack& callback); //设置视频回调+ Start() //启动视频+ Stop() //结束视频+ End() //停止视频- Run() //内部线程启动
<<Interface>> CSingleton
...
ILHAVCoder(览辉编码器)
- m_pName: std::string //编码器名称- m_nType: LH_UINT32 //编码器类型- m_nId: LH_UINT32 //编码器Id- m_pNext: IAVCodec* //下一个编码器- m_pPriv: IAVCodec* //上一个编码器- m_pPrivData: void* //上一包数据- m_nPrivDataSize: LH_UINT32 //上一包数据长度- m_pData: void* //编码器数据- m_nSize: LH_UINT32 //编码器数据长度
+ GetName(): char* //获取编码器名称+ GetType(): LH_UINT32 //获取编码器类型+ GetId(): LH_UINT32 //获取编码器Id(唯一)+ GetPrivAVCoder(): IAVCoder //获取上一个编码器+ GetPrivData(): void* //获取上一个编码器数据+ GetPrivDataSize(): LH_UINT32 //获取上一个数据长度+ GetNextAVCoder(): IAVCoder //获取下一个编码器+ GetData(): void* //获取解码后的数据+ GetDataSize(): LH_UINT32 //获取解码后的数据+ GetUrl: std::string //拉流编码器地址+ SetUrl(std::string sUrl): void //设置编码器Url拉流地址+ GetPara: std::string //拉流编码器参数+ GetIpAddr: std::string //推流器IP地址+ GetPort(): LH_INT //推流器端口+ GetLocalAddr: std::string //获取本地绑定ip地址+ GetLocalPort: LH_INT //获取本绑定IP端口+ Encode(CCoderData *data): LH_BOOL+ Release() //释放资源
JPEGAVCoder
- m_pName: LH_CHAR* //编码器名称- m_pAVCodec: AVCodec //编码器- m_uiType: LH_UINT32 //编码器类型- m_uiId: LH_UINT32 //编码器Id- m_pNext: IAVCodec* //下一个编码器- m_pPriv: IAVCodec* //上一个编码器- m_pPrivData: void*- m_uiPrivDataSize: LH_UINT32 //前置数据长度- m_pData: void* //编码器数据- size: LH_UINT32 //编码器数据长度
<<Interface>>IOperation
LHAVCoderContext
- m_pAVCoderCtx: AVCoderContext* //编码器上下文- m_pAVCodec: AVCodec //编码器- m_pILHAVCoder: ILHAVCoder* //编码器- m_pILHAVPusher: ILHAVPusher* //推送器- m_sUrl: std::string //推拉流编码器- m_sPara: std::string //推拉器编码器参数
CCoderFrame编码器数据
+ pFrame: LH_BYTE*+ nSize: LH_UINT32 + nWidth: LH_UINT32 + nHeight: LH_UINT32
RtspAVCoder
H264AVCoder
ILHAVPuller(拉流器)
- m_pAVCodecCtx: AVCodecContext* //编码器上下文- m_sUrl: std::string //推拉流编码器- m_sPara: std::string //推拉器编码器参数
+ GetAVCodecCtx(): AVCodecConext*+ GetUrl(): std::string+ GetPara(): std::string+ Pull(CCoderData *data): LH_BOOL //开始数据拉流
RtmpAVCoder
ILHAVPusher(推流器)
- m_pAVCoderCtx: AVCodecContext* //编码器上下文- m_sIpAddr: std::string //推拉器IP地址- m_nPort: LH_INT //推流器IP地址- m_sLocalIpAddr: std::string //本地绑定IP地址- m_nLocalPort: LH_INT //本地绑定IP端口
+ GetAVCodecCtx(): AVCodecContext* //获取编码器上下文+ GetIpAddr(): std::string //获取拉流器IP地址+ GetPort(): LH_INT //获取IP地址端口+ GetLocalIpAddr(): std::string //获取本地绑定IP地址+ GetLocalPort(): LH_INT //获取本地绑定端口 + Push(CCoderData *data): LH_BOOL //推送数据
NVRVideoOperation
- LHAVideoManager: LHAVideoManager
+ Start() //启动视频管理器+ Stop() //结束视频管理器
0 条评论
下一页