设备网络SDK开发使用手册

NET_DVR_StartPassiveTransCode

启动被动转码

LONG NET_DVR_StartPassiveTransCode(
  LONG                            lUserID,
  LPNET_DVR_STREAM_INFO           pStreamInfo,
  LPNET_DVR_COMPRESSIONCFG_V30    pDstTransInfo,
  LPNET_DVR_PASSIVETRANSINFO      pPassiveTransInfo,
  fTransCodeDataCallBack          cbTransCodeDataCallBack,
  void                            *pUser
);

Parameters

lUserID
[in] 登录转码器的用户ID,NET_DVR_Login_V30的返回值
pStreamInfo
[in] 流来源信息
pDstTransInfo
[in] 目标压缩参数
pPassiveTransInfo
[in] 被动转码参数
cbTransCodeDataCallBack
[in] 回调函数,回调获取转码后的数据
pUserData
[in] 用户数据

Callback Function

typedef void(CALLBACK *fTransCodeDataCallBack)(
  LONG     lPassiveHandle,
  DWORD    dwDataType,
  BYTE     *pBuffer,
  DWORD    dwBufSize,
  void     *pUser
);

Callback Function Parameters

lPassiveHandle
[out] 被动转码句柄,NET_DVR_StartPassiveTransCode的返回值
dwDataType
[out] 数据类型,见下表:
宏定义 宏定义值 含义
NET_DVR_SYSHEAD 1 系统头数据
NET_DVR_STREAMDATA 2 流数据(包括复合流或音视频分开的视频流数据)
NET_DVR_STD_VIDEODATA 4 标准(RTP)视频流数据
NET_DVR_STD_AUDIODATA 5 标准(RTP)音频流数据
pBuffer
[out] 存放数据的缓冲区指针
dwBufSize
[out] 缓冲区大小
pUser
[out] 用户数据

Return Values

-1表示失败,其他值作为NET_DVR_TransCodeInputData函数的句柄参数。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

Remarks

调用该接口时,pStreamInfo中流ID和通道号全部无效时,由设备自动分配,通过接口NET_DVR_GetPassiveTransChanNum可以获取对应的转码通道号或者流ID,然后可以通过接口NET_DVR_GetDeviceStatus获取转码码流状态。

See Also

NET_DVR_TransCodeInputData   NET_DVR_StopPassiveTransCode