国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

??低昐DK視頻錄制及強(qiáng)制I幀操作

這篇具有很好參考價(jià)值的文章主要介紹了海康威視SDK視頻錄制及強(qiáng)制I幀操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、NET_DVR_SaveRealData方法

使用下面方法可以實(shí)現(xiàn)視頻錄像功能。

    private HCNetSDK sdk = HCNetSDK.INSTANCE;
    sdk.NET_DVR_SaveRealData_V30(cameraInfo.getKey(), file.getPath() + "/" + fileName + ".mp4")

該方法有個(gè)問(wèn)題,視頻可以錄制,但是不能被前端頁(yè)面直接加載播放,因?yàn)橐曨l編碼格式問(wèn)題,雖然可以用FFMPEG工具進(jìn)行格式轉(zhuǎn)化,但是引入第三方的庫(kù),無(wú)疑會(huì)使代碼的維護(hù)性降低。

FFMPEG工具 地址 提取碼 zc14
使用FFmpeg進(jìn)行轉(zhuǎn)換的方法如下:

ffmpeg -i  in.mp4  out.mp4

該方法網(wǎng)絡(luò)上有大量的帖子,我直接放連接過(guò)來(lái),可以自行前往學(xué)習(xí)
大牛博客地址

二、NET_DVR_SaveRealData_V30方法

這個(gè)方法是問(wèn)??档墓こ處煹玫降模?档墓こ處熃涣鬟€是挺美好的,工程師很耐心,直到自己的問(wèn)題得到解答,代碼測(cè)試通過(guò),所以還是必須給點(diǎn)個(gè)贊。

附上該方法的SDK文檔

海康威視SDK視頻錄制及強(qiáng)制I幀操作

按照SDK文檔的說(shuō)明,第二個(gè)參數(shù)傳2,就可以了

  //預(yù)覽成功后 調(diào)用接口使視頻資源保存到文件中
     if (!sdk.NET_DVR_SaveRealData_V30(cameraInfo.getKey(), 2,file.getPath() + "/" + fileName + ".mp4")) {
         log.error("保存視頻文件到文件夾失敗 錯(cuò)誤碼為:  " + sdk.NET_DVR_GetLastError());
         logoutHIK(cameraInfo);
         return;
     }

到這里會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題,官方下載的SDK HCNetSDK.java文件中沒(méi)有NET_DVR_SaveRealData_V30這個(gè)方法,尷尬了。
這就是官方SDK的坑點(diǎn),SDK中有,但是HCNetSDK.java文件中沒(méi)有,好多同學(xué)可能都會(huì)懵一下,這里可以將SDK中的方法直接復(fù)制進(jìn)HCNetSDK.java文件即可。SDK是按照C語(yǔ)言來(lái)描述的,JAVA要做響應(yīng)的適配改變。

 boolean  NET_DVR_SaveRealData_V30(NativeLong lRealHandle,int STREAM_TYPE,String sFileName);

OK,到此視頻已經(jīng)可以存儲(chǔ),播放也正常,但是你又會(huì)發(fā)現(xiàn)一個(gè)新的問(wèn)題,就是保存的視頻,設(shè)定1分鐘,但是只有51秒 ,52秒,57秒等,就是沒(méi)有1分鐘的,甚至59秒的都很少,如果要求不那么高還好,到這里就可以結(jié)束了,如果要求的高,那就得做出處理了。

三、強(qiáng)制I幀

這里面其實(shí)是有一個(gè) I幀的定義

錄像數(shù)據(jù)解碼播放必須從I幀開(kāi)始,而客戶端錄像的時(shí)候開(kāi)始時(shí)間點(diǎn)不一定是I幀,比如幀率25fps、I幀間隔100幀的情況下,每4秒才一個(gè)I幀,錄像播放可能存在1~4秒的延時(shí),所以錄像的時(shí)候可以強(qiáng)制設(shè)備生成一個(gè)I幀。
NET_DVR_MakeKeyFrame強(qiáng)制主碼流生成一個(gè)I幀,NET_DVR_MakeKeyFrameSub強(qiáng)制子碼流生成一個(gè)I幀,z這兩個(gè)是老的接口。
后來(lái)因?yàn)樵O(shè)備不只有主碼流和子碼流,還有三碼流、虛擬碼流等,因此增加了NET_DVR_RemoteControl(命令:NET_DVR_MAKE_I_FRAME)接口,兼容前面的兩個(gè)接口,輸入?yún)?shù)NET_DVR_I_FRAME中byStreamType表示碼流類型。建議使用該接口。

可以看到,如果I幀沒(méi)有到,也是不錄視頻的,但是I幀一般會(huì)慢幾秒中,所以視頻長(zhǎng)度不夠自己配置的長(zhǎng)度

需要用到NET_DVR_RemoteControl 這個(gè)方法,會(huì)發(fā)現(xiàn) HCNetSDK.java文件中并沒(méi)有NET_DVR_RemoteControl 這個(gè)方法,繼續(xù)添加上。

附上NET_DVR_RemoteControl 的SDK??低昐DK視頻錄制及強(qiáng)制I幀操作
同樣,在 HCNetSDK.java文件中增加這個(gè)方法(根據(jù)java做了語(yǔ)法轉(zhuǎn)換,如果不好轉(zhuǎn),請(qǐng)參考原HCNetSDK.java文件中的數(shù)據(jù)類型)

 boolean NET_DVR_RemoteControl(NativeLong lUserID, int dwCommand, Pointer pointer, int dwInBufferSize);

官方SDK簡(jiǎn)直了,有些方法沒(méi)有,就連結(jié)構(gòu)體也沒(méi)有,都需要自己新增,沒(méi)辦法,誰(shuí)讓咱要用人家的產(chǎn)品么
lpInBuffer參數(shù)對(duì)應(yīng)結(jié)構(gòu)體 NET_DVR_I_FRAME
看SDK手冊(cè) NET_DVR_I_FRAME 結(jié)構(gòu)體的官方文檔
海康威視SDK視頻錄制及強(qiáng)制I幀操作

//強(qiáng)制I幀參數(shù)結(jié)構(gòu)體。
public static class NET_DVR_I_FRAME extends Structure{
    public int dwSize;
    public byte[] sStreamID = new byte[32];  //流IDs    SDK 中對(duì)  STREAM_ID_LEN進(jìn)行了定義,賦值32
    public int dwChannel;//通道號(hào)
    public byte byStreamType; //碼流類型:0-主碼流,1-子碼流,2-碼流3,3-虛擬碼流,以此類推
    public byte[] byRes = new byte[63];  //保留,置為0    按照SDK要求進(jìn)行對(duì)應(yīng)賦值
}
//新建結(jié)構(gòu)體對(duì)象
        HCNetSDK.NET_DVR_I_FRAME netDvrIFrame = new HCNetSDK.NET_DVR_I_FRAME();   //新建結(jié)構(gòu)體對(duì)象
        netDvrIFrame.read();
        netDvrIFrame.dwChannel = 1;          //因?yàn)樯衔拇a中設(shè)置了通道號(hào),按照上文中的設(shè)置
        netDvrIFrame.byStreamType = 0;
        netDvrIFrame.dwSize = netDvrIFrame.size();
        netDvrIFrame.write();

        if(!sdk.NET_DVR_RemoteControl(cameraInfo.getUserId(),3402,netDvrIFrame.getPointer(),netDvrIFrame.dwSize)){
            log.error("強(qiáng)制I幀 錯(cuò)誤碼為:  " + sdk.NET_DVR_GetLastError());
        }

在每次錄像之前,對(duì)I幀進(jìn)行強(qiáng)制設(shè)置,可以及時(shí)錄像,經(jīng)過(guò)測(cè)試基本上按照配置的時(shí)間進(jìn)行錄制,比如1分鐘就是1分鐘,偶爾有59秒的情況,提到的問(wèn)題已經(jīng)大大的修復(fù)了。經(jīng)次一輪,對(duì)SDK的使用也有了更深的了解。自己踩過(guò)的坑,也記錄下來(lái),也讓別人能很好的使用官方的SDK。

最后附上程序,歡迎下載傳閱,另外還有海康工程師給的有更全結(jié)構(gòu)體的HCNetSDK.java文件
百度網(wǎng)盤 鏈接:https://pan.baidu.com/s/1JEKvEnb5wTDtmNqlNsKvLg
提取碼:x4bj文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-424130.html

到了這里,關(guān)于海康威視SDK視頻錄制及強(qiáng)制I幀操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ??低曄鄼C(jī)SDK二次開(kāi)發(fā)(JAVA語(yǔ)言)

    海康威視相機(jī)SDK二次開(kāi)發(fā)(JAVA語(yǔ)言)

    前言 有個(gè)項(xiàng)目需要使用java程序讀取??低暤南鄼C(jī)圖片。相機(jī)通過(guò)以太網(wǎng)連接服務(wù)器,部署在服務(wù)器上的java程序?qū)⑾鄼C(jī)拍攝的畫面保存在指定路徑下。 ??低曁峁┝藄dk開(kāi)發(fā)包,可以在官網(wǎng)中下載,windows和linux系統(tǒng)都有。但是開(kāi)發(fā)包中給出的示例代碼,無(wú)法滿足實(shí)際需要,

    2024年04月29日
    瀏覽(26)
  • ??低暠O(jiān)控相機(jī)的SDK與opencv調(diào)用(非工業(yè)相機(jī))

    ??低暠O(jiān)控相機(jī)的SDK與opencv調(diào)用(非工業(yè)相機(jī))

    本篇主要對(duì)??低暤谋O(jiān)控相機(jī)的SDK回調(diào)進(jìn)行研究,并于opencv結(jié)合,保存圖像,以供后續(xù)其他處理,開(kāi)發(fā)語(yǔ)言為C++ 2.1 海康SDK介紹 ??礢DK下載地址 根據(jù)自身編譯環(huán)境,下載對(duì)應(yīng)的SDK,需要注意的是,不要和工業(yè)相機(jī)SDK相混淆,工業(yè)相機(jī)好像是MVS是什么玩意兒,現(xiàn)在暫時(shí)沒(méi)研究

    2024年02月04日
    瀏覽(39)
  • 如何降低??怠⒋笕A等網(wǎng)絡(luò)攝像頭調(diào)用的高延遲問(wèn)題(一):??低暰W(wǎng)絡(luò)攝像頭的python sdk使用(opencv讀取sdk流)

    如何降低??怠⒋笕A等網(wǎng)絡(luò)攝像頭調(diào)用的高延遲問(wèn)題(一):??低暰W(wǎng)絡(luò)攝像頭的python sdk使用(opencv讀取sdk流)

    目錄 1.python sdk使用 1.海康SDK下載 ?2.opencv讀取sdk流 ?先說(shuō)效果,我是用的AI推理的實(shí)時(shí)流,延遲從高達(dá)7秒降到小于1秒 如果覺(jué)得這個(gè)延遲還不能接受,下一章,給大家介紹點(diǎn)上不得臺(tái)面的小方法 SDK(Software Development Kit)是軟件開(kāi)發(fā)工具包的縮寫,它是一組用于開(kāi)發(fā)特定軟件或

    2024年02月07日
    瀏覽(29)
  • unity海康威視原生SDK拉取網(wǎng)絡(luò)攝像頭畫面,并展示在一個(gè)Material上

    unity海康威視原生SDK拉取網(wǎng)絡(luò)攝像頭畫面,并展示在一個(gè)Material上

    untiy版本是2019.4,低版本會(huì)有問(wèn)題,速度比UMP插件快得多 原理是使用sdk獲取視頻流,格式為YUV,然后分離YUV通道到三張不同的Texture2D上,通過(guò)shader將三個(gè)通道重新輸出為原始圖像。 我將所用的各個(gè)部分已經(jīng)整理成一個(gè)壓縮包,免積分下載 壓縮包結(jié)構(gòu)如下 使用步驟 1 DLL:放在

    2024年02月13日
    瀏覽(27)
  • ??低晹z像頭對(duì)接SDK實(shí)時(shí)預(yù)覽功能和抓拍功能,懶癌福利,可直接CV

    ??低晹z像頭對(duì)接SDK實(shí)時(shí)預(yù)覽功能和抓拍功能,懶癌福利,可直接CV

    最近在新系統(tǒng)的研發(fā)中負(fù)責(zé)了視頻監(jiān)控模塊的開(kāi)發(fā),項(xiàng)目監(jiān)控設(shè)備全部采用??档臄z像頭,槍機(jī)、球機(jī)都有,開(kāi)發(fā)的過(guò)程中,有個(gè)需求是在前端頁(yè)面上把攝像頭畫面進(jìn)行平鋪展示,最開(kāi)始的方案是通過(guò)官方API完成,但是后面發(fā)現(xiàn)項(xiàng)目上所有的設(shè)備都是不聯(lián)網(wǎng)的,所以只能轉(zhuǎn)由

    2024年02月02日
    瀏覽(28)
  • 【項(xiàng)目實(shí)踐】海康威視工業(yè)相機(jī)SDK開(kāi)發(fā)小白版入門教程(VS2015+OpenCV4.5.1)

    【項(xiàng)目實(shí)踐】??低暪I(yè)相機(jī)SDK開(kāi)發(fā)小白版入門教程(VS2015+OpenCV4.5.1)

    ??由于學(xué)校要求暑期實(shí)習(xí),于是找了一位學(xué)長(zhǎng)開(kāi)的公司,接了一個(gè)項(xiàng)目,是 對(duì)海康威視工業(yè)相機(jī)(MV_CE200_10GM)進(jìn)行二次開(kāi)發(fā),讀取其圖像并做分析處理。 于是花了一點(diǎn)時(shí)間查找的相關(guān)資料并記錄一些 入門要點(diǎn) 。 ??想先說(shuō)說(shuō)一些 “嘗試授人與漁” 的話,也是自己的一

    2024年02月04日
    瀏覽(39)
  • vue+??低曇曨lweb插件開(kāi)發(fā)

    vue+??低曇曨lweb插件開(kāi)發(fā)

    下載地址:??低暪倬W(wǎng) 下載頁(yè)面 文件解壓后的目錄 運(yùn)行bin文件下的VideoWebPlugin.exe demo/demo_window_integration.html 包含了插件所有功能的,可參照此demo來(lái)開(kāi)發(fā)、驗(yàn)證功能、排查問(wèn)題 demo/demo_window_simple_playback.html.html? 視頻回放,可在此基礎(chǔ)上二次開(kāi)發(fā) demo/demo_window_simple_preview.ht

    2023年04月08日
    瀏覽(28)
  • ??低暪I(yè)相機(jī)Linux SDK開(kāi)發(fā)指南詳細(xì)步驟(Ubuntu20.04+單目、雙目相機(jī)單次、連續(xù)拍照)

    ??低暪I(yè)相機(jī)Linux SDK開(kāi)發(fā)指南詳細(xì)步驟(Ubuntu20.04+單目、雙目相機(jī)單次、連續(xù)拍照)

    由于實(shí)驗(yàn)需要使用雙目相機(jī)同步采集圖像,實(shí)驗(yàn)室準(zhǔn)備的設(shè)備是??低暤墓I(yè)相機(jī),對(duì)其進(jìn)行二次開(kāi)發(fā),其中花了大部分時(shí)間查找資料,以及代碼進(jìn)行反復(fù)調(diào)試,最后到達(dá)了想要的效果,并寫博客記錄一下。 首先是資料的查找,我們要注意的是海康威視一共有兩個(gè)官網(wǎng),一

    2024年02月16日
    瀏覽(252)
  • 海康威視攝像頭播放錄像視頻(RTSP協(xié)議)

    舊URL:rtsp://[username]:[password]@[ipaddress]/[videotype]/ch[number]/[streamtype] 如:rtsp://admin:12345@192.168.25.64:554/h264/ch1/main/av_stream 新URL:rtsp://[username]:[password]@[IP]:554/Streaming/Channels/[channelID][streamID] 如:rtsp://admin:12345@192.168.25.64:554/Streaming/Channels/101 錄像機(jī)其實(shí)和攝像機(jī)基本一樣,舊URL中攝像

    2024年02月12日
    瀏覽(22)
  • 海康威視監(jiān)控視頻,螢石云免費(fèi)版四路并發(fā)訪問(wèn)限制繞過(guò)

    ??低暠O(jiān)控視頻,螢石云免費(fèi)版四路并發(fā)訪問(wèn)限制繞過(guò)

    公司新裝了不少??低晹z像頭,通過(guò)NVR連接到了螢石云,由于螢石云免費(fèi)版限制了單個(gè)攝像頭的并發(fā)訪問(wèn)數(shù)(每個(gè)攝像頭同時(shí)只允許4個(gè)用戶進(jìn)行查看實(shí)時(shí)視頻),但是又不想付費(fèi)購(gòu)買企業(yè)版,于是著手思考如何解決這個(gè)問(wèn)題。 需求 需求很明確,每個(gè)攝像頭需要支持多用戶

    2023年04月08日
    瀏覽(132)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包