多路解碼器模組流程

2021-10-10 02:44:51 字數 4656 閱讀 4532

主動解碼(包括動態解碼和輪巡解碼)

#include #include #include #include "windows.h"

#include "hcnetsdk.h"

using namespace std;

void main()

; strulogininfo.buseasynlogin = 0; //同步登入方式

strcpy(strulogininfo.sdeviceaddress, "192.0.0.64"); //裝置ip位址

strulogininfo.wport = 8000; //裝置服務埠

strcpy(strulogininfo.susername, "admin"); //裝置登入使用者名稱

strcpy(strulogininfo.spassword, "abcd1234"); //裝置登入密碼

//裝置資訊, 輸出引數

net_dvr_deviceinfo_v40 strudeviceinfov40 = ;

luserid = net_dvr_login_v40(&strulogininfo, &strudeviceinfov40);

if (luserid < 0)

//獲取解碼器能力集

net_dvr_matrix_ability_v41 strudecodercapability;

if (!net_dvr_getdeviceability(luserid,matrixdecoder_ability_v41,null,0,(char *)&strudecodercapability,sizeof(strudecodercapability)))

else}}

//...其他顯示通道

}//...其他能力

}//下面配置第2個解碼通道解碼輸出到第1個vga bydispmode畫面分割的左上角視窗

dword decchannum=strudecodercapability.bystartchan+1;

dword dec = 0; //解碼通道開關狀態: 0表示關閉,1表示開啟

if(!net_dvr_matrixgetdecchanenable(luserid, decchannum, &dec)) //獲取解碼通道開關

dec = 1; //設定解碼通道為開: 0表示關閉,1表示開啟

if(!net_dvr_matrixsetdecchanenable(luserid, decchannum, dec)) //設定解碼通道開關,如果設定為關,通道將停止解碼

//配置顯示通道引數,包括畫面分割、關聯解碼通道

dword dispchannum=strudecodercapability.struvgainfo.bystartchan;//vga1

net_dvr_matrix_voutcfg struvoutcfg;

if (!net_dvr_matrixgetdisplaycfg_v41(luserid,dispchannum,&struvoutcfg))

struvoutcfg.dwwindowmode=bydispmode;//取vga1支援的畫面分割能力的最後乙個模式

for (i=0;i主動解碼(錄影檔案解碼回放)

#include

#include

#include

#include "windows.h"

#include "hcnetsdk.h"

using namespace std;

void main()

; 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)

//獲取解碼器能力集

net_dvr_matrix_ability_v41 strudecodercapability=;

if (!net_dvr_getdeviceability(luserid,matrixdecoder_ability_v41,null,0,(char *)&strudecodercapability,sizeof(strudecodercapability)))

else}}

//...其他顯示通道

}//...其他能力

}//下面配置第2個解碼通道解碼輸出到第1個vga bydispmode畫面分割的左上角視窗

dword decchannum=strudecodercapability.bystartchan+1;

dword dec = 0; //解碼通道開關狀態: 0表示關閉,1表示開啟

if(!net_dvr_matrixgetdecchanenable(luserid, decchannum, &dec)) //獲取解碼通道開關

dec = 1; //設定解碼通道為開: 0表示關閉,1表示開啟

if(!net_dvr_matrixsetdecchanenable(luserid, decchannum, dec)) //設定解碼通道開關,如果設定為關,通道將停止解碼

//配置顯示通道引數,包括畫面分割、關聯解碼通道

dword dispchannum=strudecodercapability.struvgainfo.bystartchan;//vga1

net_dvr_matrix_voutcfg struvoutcfg;

if (!net_dvr_matrixgetdisplaycfg_v41(luserid,dispchannum,&struvoutcfg))

struvoutcfg.dwwindowmode=bydispmode;//取vga1支援的畫面分割能力的最後乙個模式

for (i=0;istruvoutcfg.byjoindecchan[0]=decchannum;//第乙個視窗關聯第decchannum個解碼通道

//...其他引數設定

if (!net_dvr_matrixsetdisplaycfg_v41(luserid,dispchannum,&struvoutcfg))

//設定解碼遠端裝置錄影檔案

net_dvr_matrix_dec_remote_play strudecremoteplay=;

strudecremoteplay.dwsize=sizeof(strudecremoteplay);

strcpy((char *)strudecremoteplay.sdvrip,"172.6.22.165");//前端裝置ip位址

strudecremoteplay.wdvrport=8000;//前端裝置服務埠

strcpy((char *)strudecremoteplay.susername,"admin");//前端裝置登入使用者名稱

strcpy((char *)strudecremoteplay.spassword,"12");//前端裝置登入密碼

strudecremoteplay.bychannel=36;//通道號

strudecremoteplay.dwplaymode=1;//0-按檔案, 1- 按時間

//按時間回放起止時間

strudecremoteplay.starttime.dwyear=2013;

strudecremoteplay.starttime.dwmonth=6;

strudecremoteplay.starttime.dwday=21;

strudecremoteplay.starttime.dwhour=10;

strudecremoteplay.starttime.dwminute=0;

strudecremoteplay.starttime.dwsecond=0;

strudecremoteplay.stoptime.dwyear=2013;

strudecremoteplay.stoptime.dwmonth=6;

strudecremoteplay.stoptime.dwday=21;

strudecremoteplay.stoptime.dwhour=10;

strudecremoteplay.stoptime.dwminute=5;

strudecremoteplay.stoptime.dwsecond=0;

if (!net_dvr_matrixsetremoteplay(luserid,decchannum,&strudecremoteplay))

if (!net_dvr_matrixsetremoteplaycontrol(luserid,decchannum,net_dvr_playstart,0,null))

printf("start to decode the video remotely by time.\n");

net_dvr_matrix_dec_remote_play_status strudecremotestatus=;

printf("the remote playing is finished.\n");

//停止回放

if (!net_dvr_matrixsetremoteplaycontrol(luserid,decchannum,net_dvr_playstop,0,null))

return;

}

解碼器基礎

初次接觸解碼器的童鞋可能會問,解碼器是什麼?首先,我們需要明確,電腦和人類溝通,需要轉換。因為人類對於抽象語言比較擅長,而當前的計算機本質上只能識別0 1二進位制串。因此,人類所表達的知識要被電腦接受,需要將其轉換編碼成二進位制數,這一過程可以理解為編碼 而人類要理解計算機給我們計算的結果,則需要將...

顯示解碼器

記數字電子技術學習筆記 顯示解碼器組成 邏輯功能 將數字 0 9 文字,符號,等的二進位制 翻譯並顯示出來的電路叫顯示解碼器。它包括移碼驅動電路和數碼顯示器兩部分。按發光物質分,數碼顯示器可以分為以下四種型別 半導體顯示器 亦稱發光二極體 led 顯示器 螢光數字顯示器 如螢光數碼管,場效應數字板等...

linux totem 安裝解碼器

fedora 10.如果啟用 rpm fusion 軟體倉庫,它會自動搜尋並安裝 解碼器。開啟乙個終端吧,輸入 or.http rpmfusion.org 把這裡的源加上 yum install gstreamer plugins good gstreamer plugins bad gstream...