所谓的单包模式多包模式 是指:是否将SPS PPS SEI 和I帧合在一个帧?
具体可以参考海思文档:
?
?
默认u32OneStreamBuffer 这个值为0? 会将 SPS PPS SEI 单独当成一个包发送? 测试码流 如下:
当把这个值修改为1 之后? 码流如下:
?
?
之所以关注到这个问题 ,是因为在GB28181推流的时候? 不同的服务器可能解析的时候 标准有些诧异 刚开始我们推送的码流是SPS PPS 和I帧分开的 发现有的可以看 有的不能看?
后来 合包之后 就解决这个问题 都可以看了? ?这个也跟 具体的GB28181协议实现的时候有关系
GB28181 走的是PS封包?
?
#if 1 //QMCY_3RD_RTSP
VENC_PARAM_MOD_S param;
memset(¶m, 0, sizeof(VENC_PARAM_MOD_S));
param.enVencModType = MODTYPE_H264E;
s32Ret = HI_MPI_VENC_GetModParam(¶m);
if(s32Ret != HI_SUCCESS)
{
SAMPLE_PRT("HI_MPI_VENC_GetModParam failed %#x!\n",s32Ret);
return HI_FAILURE;
}
param.stH264eModParam.u32OneStreamBuffer = 1;
param.stH264eModParam.u32H264ePowerSaveEn = 1;
HI_MPI_VENC_SetModParam(¶m);
if(s32Ret != HI_SUCCESS)
{
SAMPLE_PRT("HI_MPI_VENC_SetModParam failed %#x!\n",s32Ret);
return HI_FAILURE;
}
SAMPLE_PRT("MMMMMMMMMMMMMMMM ------------------HI_MPI_VENC_SetModParam success %#x!\n",s32Ret);
#endif
|