TSINGSEE青犀視頻平台接入海康解碼器SDK實時解碼流程


TSINGSEE青犀視頻平台前端設備可以接入不同設備,包括NVR、攝像頭、編碼器等,EasyGBS還可以接入我們獨立開發的國標推流平台EasyGBD。一般接入NVR和接入攝像頭的項目現場比較多,但也有部分用戶是將海康編碼器設備接入平台。

本文我們和大家分享一下海康解碼器SDK實時解碼的流程,大家可以對此有個大致了解。

登錄解碼器后需要先配置解碼器顯示通道參數,設置顯示通道關聯的解碼通道,否則無法正常啟動設備網絡。

相關接口:NET_DVR_MatrixGetDisplayCfg_V41、NET_DVR_MatrixSetDisplayCfg_V41。

調用 NET_DVR_MatrixStartDynamic_V41 即啟動主動解碼,解碼器從設備直接取流獲取通過流媒體取流進行解碼並且上牆顯示,取流方式、通道或者流 ID 等都在該接口中指定。如果顯示通道配置中的分辨率和制式沒有指定,則必須指定一個有效的分辨率或制式,否則無法正常動態解碼。

解碼器直接輪巡解碼,通過 NET_DVR_MatrixSetLoopDecChanInfo_V41 設置輪巡組,然后調用NET_DVR_MatrixSetLoopDecChanEnable 啟動輪巡。

以下為部分代碼:

void main() 
{ 
int i=0,j=0; 
BYTE byDispMode; 
//初始化 SDK 
NET_DVR_Init(); 
//注冊設備 
NET_DVR_DEVICEINFO_V30 struDeviceInfo; 
memset(&struDeviceInfo, 0, sizeof(NET_DVR_DEVICEINFO_V30));//存放設備參數的結構體 
LONG lUserID = NET_DVR_Login_V30("172.6.22.178", 8000, "admin", "12345", &struDeviceInfo); 
if (lUserID < 0) 
{ 
printf("Login error, %d\n", NET_DVR_GetLastError()); 
NET_DVR_Cleanup(); 
return; 
} 
//獲取解碼器能力集 
NET_DVR_MATRIX_ABILITY_V41 struDecoderCapability; 
if (!NET_DVR_GetDeviceAbility(lUserID,MATRIXDECODER_ABILITY_V41,NULL,0,(char *)&struDecoderCapability, 
sizeof(struDecoderCapability))) 
{ 
printf("NET_DVR_GetDeviceAbility error, %d\n", NET_DVR_GetLastError()); 
NET_DVR_Logout(lUserID); 
NET_DVR_Cleanup()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM