折騰了一個多月,終於調出來了。。。。。首先吐槽一下海康SDK,同時也感謝之。。。數組
手頭有個項目,須要實時抓取海康攝像頭,我是在Android下實現的,海康官網上沒有Android SDK,這裏友情提醒一下,你們在官網上給海康一個電話就搞定了的。。。我手頭有,但既然海康不放網頁上,要讓本身索取,那我也就不亂上傳了,尊重海康 吧。。。反正一個400 ,約2個小時就由到郵件了的。。。函數
收到SDK後,裏面有個Demo,我直接運行Demo是沒有問題的,能夠在Android下實時預覽攝像頭,但我須要把實時畫面抓取下來傳給 OpenCV庫,進行後期的圖像分析,提供的SDK裏面有抓取Bmp、JPEG函數,可是確實如網友說的有延遲,得用方法二(下面附了相關網址,你們詳細 能夠本身看,我也是參考了它的):http://blog.csdn.net/wanghuiqi2008/article/details/31404571; 思路是在RealPlayCallBack中設置DecodeCB解碼回調函數,而後在DecodeCB解碼回調函數中進行抓圖處理,好比把圖像數據保存 到二進制文件中,而後就能夠播放了。。。這裏Decode獲得的圖像是YV12數據,個人需求是把它轉換成RGB,反正都好辦了。。。。DecodeCB 函數的說明你們能夠看看:測試
根據上面的說明,很簡單了。。。。。可是、可是、可是……坑爹的事來了,我折騰了一個月,總覺得本身的程序出錯,反覆檢查DecodeCB回調的第 二個參數「byte[] data「這個圖像數組有幾十萬個元素,但每一個元素都是0……也就是說回調裏面其實是沒有數據的。。。。網站
而同時,海康的SDK說明又太」簡扼明要「,百度、Google也找不到相關說法,最後我只有給海康SDK發郵件諮詢了(就是直接回復給發SDK給 我那個郵箱)。報着嘗試的心理(由於有加了幾個海康開發羣,都說電話不接、郵件不回),竟然很快就回復了,通過屢次溝通,他給我發了兩次SDK更新文件 (要替換so文件)。歷經千辛萬苦,終於有數據了,而後我不管是Save成YUV文件、轉碼成RGB都OK了。。。ui
因此一開始我說,吐槽海康,M的提供個SDK竟然不測試麼?可是SDK_Support這郵箱仍是回覆很神速的,因此我也很感謝之。。。.net
最後可能會有朋友想跟我要SDK開發包,我仍是不傳了,我也不知海康爲什麼不直接在網站上提供Android的SDK,你們就麻煩一下,去個電話吧,只是會讓你報一個單位名稱,很簡單的。code