2023-11-03 Java使用onvif操作相機(jī)云臺(tái)

背景

視頻監(jiān)控軟件以往一直使用各相機(jī)廠家的SDK操作相機(jī)吴叶,包括預(yù)覽、云臺(tái)等操作序臂。廠家的不同蚌卤、相機(jī)型號(hào)不同、相機(jī)版本不斷更新、生產(chǎn)環(huán)境(Windows逊彭、麒麟)等因素咸灿,不斷變更的情況下軟件為了做各種適配性適應(yīng),其中包含的SDK實(shí)在太多了侮叮,維護(hù)起來很困難避矢,而且有的甚至還沖突不能兼容,所以視頻監(jiān)控做web端趨勢(shì)明顯囊榜,預(yù)覽可以通過流媒體轉(zhuǎn)碼來做审胸,云臺(tái)控制可以使用onvif。

介紹

onvif本身就是做這個(gè)事的锦聊,現(xiàn)在各廠家的相機(jī)基本都支持onvif協(xié)議,即使不帶云臺(tái)的相機(jī)也支持onvif協(xié)議箩绍。
我們?cè)诰W(wǎng)頁(yè)中預(yù)覽的工作已經(jīng)完成孔庭,現(xiàn)在就開始做云臺(tái)控制,網(wǎng)頁(yè)中操作云臺(tái)區(qū)域材蛛,通過http發(fā)送到onvif服務(wù)中圆到,使用Java調(diào)用onvif指令完成操作。

項(xiàng)目

https://gitee.com/premeditate/OnvifServer.git

主要的是/lib里面的jar包卑吭,提供了onvif的一些列操作

jar包下載地址:https://github.com/milg0/onvif-java-lib

項(xiàng)目中提供了網(wǎng)頁(yè)中所需的服務(wù)芽淡,你可能只能運(yùn)行起來,連上相機(jī)也不能用豆赏,因?yàn)檫@里有關(guān)于流媒體服務(wù)的接口挣菲,其它接口都是可用的,使用本地相機(jī)做測(cè)試是可以的掷邦,可以參考/test里面的測(cè)試代碼白胀。

onvif工作流程就是根據(jù)相機(jī)的基本信息創(chuàng)建onvif設(shè)備對(duì)象,這個(gè)對(duì)象可以獲取到相機(jī)的設(shè)備信息抚岗、視頻流信息(RTSP地址)或杠、視頻參數(shù)等,還有onvif連接相機(jī)的token宣蔚、云臺(tái)控制對(duì)象等向抢,在這里我們需要的就是云臺(tái)控制對(duì)象,拿到這個(gè)對(duì)象調(diào)用指定函數(shù)就可以控制云臺(tái)胚委。

在測(cè)試中發(fā)現(xiàn)挟鸠,創(chuàng)建onvif對(duì)象耗時(shí)1.8s,獲取token耗時(shí)0.8s亩冬,獲取云臺(tái)控制對(duì)象0.2s兄猩,調(diào)用控制函數(shù)80s,在整個(gè)操作過程中可以看到大部分時(shí)間都是在初始化對(duì)象上面,會(huì)讓用戶感覺到卡枢冤,操作過一會(huì)才有反應(yīng)鸠姨。所以在項(xiàng)目中我們?cè)诔绦騿?dòng)時(shí)根據(jù)相機(jī)信息就將這些操作對(duì)象創(chuàng)建出來存儲(chǔ)在內(nèi)存中(測(cè)試發(fā)現(xiàn)這些對(duì)象只要初始化出來,使用中即使相機(jī)斷電離線淹真,再次上電還是可以接著用的)讶迁,api中拿到這些對(duì)象直接用,這樣基本就是用戶一操作就用響應(yīng)核蘸,速度還是很快的巍糯。但是這樣有一個(gè)弊端,程序啟動(dòng)就讀取配置文件客扎,在程序運(yùn)行中修改了配置文件是不能立即生效的祟峦,需要重啟程序才行。

服務(wù)api都在MonitorController.java中徙鱼,提供了云臺(tái)相關(guān)的幾個(gè)接口宅楞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市袱吆,隨后出現(xiàn)的幾起案子厌衙,更是在濱河造成了極大的恐慌,老刑警劉巖绞绒,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婶希,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蓬衡,警方通過查閱死者的電腦和手機(jī)喻杈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狰晚,“玉大人奕塑,你說我怎么就攤上這事〖铱希” “怎么了龄砰?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)讨衣。 經(jīng)常有香客問我换棚,道長(zhǎng),這世上最難降的妖魔是什么反镇? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任固蚤,我火速辦了婚禮,結(jié)果婚禮上歹茶,老公的妹妹穿的比我還像新娘夕玩。我一直安慰自己你弦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布燎孟。 她就那樣靜靜地躺著禽作,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揩页。 梳的紋絲不亂的頭發(fā)上旷偿,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音爆侣,去河邊找鬼萍程。 笑死,一個(gè)胖子當(dāng)著我的面吹牛兔仰,可吹牛的內(nèi)容都是我干的茫负。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼乎赴,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼忍法!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起无虚,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤缔赠,失蹤者是張志新(化名)和其女友劉穎衍锚,沒想到半個(gè)月后友题,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡戴质,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年度宦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片告匠。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡戈抄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出后专,到底是詐尸還是另有隱情划鸽,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布戚哎,位于F島的核電站裸诽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏型凳。R本人自食惡果不足惜丈冬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望甘畅。 院中可真熱鬧埂蕊,春花似錦往弓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至匀们,卻和暖如春缴淋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泄朴。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工重抖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人祖灰。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓钟沛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親局扶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恨统,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容