背景
家里的剛剛裝了一臺中興攝像頭。視頻是存儲到內(nèi)存卡上的。我就想,如果別人把內(nèi)存卡拔了,視頻就完全丟失了。想存儲到NAS上,但是,家里唯一一臺用作存儲的路由器已經(jīng)拿去檔口用了,暫時沒有低成本,低功耗的方案。剛剛好我有幾臺存儲閑置的服務(wù)器。
前文
- 能幫助你什么。如果你不想購買中興的云存儲服務(wù),并且有一臺可以用作存儲的linux機器,并且想把攝像頭的視頻存儲到該機器上的。
- 思路。我登入了攝像頭的后臺,添加NAS的時候,發(fā)現(xiàn)是支持NFS的。所以,我們可以在服務(wù)器掛載NFS,然后在攝像頭添加這個NFS。
- 物料準備。一臺centos的機器,一個中興攝像頭(能夠訪問服務(wù)器)。
服務(wù)器部分,安裝及配置NFS
- 使用 yum 安裝 NFS 安裝包。
sudo yum install nfs-utils
- 設(shè)置 NFS 服務(wù)開機啟動
$ sudo systemctl start rpcbind
$ sudo systemctl start nfs
- 防火墻允許 rpc-bind 和 nfs 的服務(wù),如果沒有開啟防火墻請忽略。
$ sudo firewall-cmd --zone=public --permanent --add-service=rpc-bind
success
$ sudo firewall-cmd --zone=public --permanent --add-service=mountd
success
$ sudo firewall-cmd --zone=public --permanent --add-service=nfs
success
$ sudo firewall-cmd --reload
success
- 設(shè)置用于共享的目錄。文件名隨便取
$ sudo mkdir /usr/nfs-share
$ sudo chmod 777 /usr/nfs-share
- 配置NFS
$ sudo vi /etc/exports
/****在文件添加以下配置****/
/usr/nfs-share/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)
!!記住IP后面權(quán)限設(shè)置是不帶空格的??!否則不會設(shè)置權(quán)限會報錯!!
| 參數(shù) | 說明 |
|---|---|
| /usr/nfs-share | 共享目錄位置 |
| 192.168.1.0/24 | 客戶端 IP 范圍,* 代表所有,即沒有限制。你可以這樣寫:192.168.1.* |
| rw | 讀寫權(quán)限 |
| sync | 同步共享目錄。 |
| no_root_squash | 可以使用 root 授權(quán) |
| no_all_squash | 可以使用普通用戶授權(quán) |
- 重啟NFS,檢查NFS服務(wù)。到此為止,我們的服務(wù)端配置完畢。
/*重啟*/
$ sudo systemctl restart nfs
/*檢查服務(wù)*/
$ showmount -e
/*
Export list for localhost:
/data 192.168.0.0/24
*/
監(jiān)控部分,設(shè)置NAS
-
可以通過網(wǎng)頁設(shè)置監(jiān)控,找到監(jiān)控的IP。我登錄了路由器的后臺,查看了連接設(shè)備。排除了電腦/手機等設(shè)備。剩下的就是監(jiān)控不會錯了。
image.png -
獲取登錄密碼,使用手機掃碼,添加攝像頭。添加成功后。打開設(shè)置、通用、初始化網(wǎng)絡(luò)密碼(下面圖片是英文的,不過都一樣的)。然后會出現(xiàn)下右圖的密碼。長按就可以復(fù)制了。
image.png -
登錄后臺。用戶名是:admin,然后輸入剛剛復(fù)制的密碼。就可以登入后臺了。然后打開:參數(shù)設(shè)置、應(yīng)用設(shè)置、本地存儲。
image.png -
常規(guī)設(shè)置NAS。設(shè)備選擇 => NAS => NAS路徑:更改 => 手動配置。填入前面服務(wù)器的IP。點擊鏈接。然后就會出現(xiàn)你配置好的文件夾。保存就可以了。
i圖片設(shè)置NAS.png
image.png
- 到服務(wù)器上查看是否有文件寫入
ll /usr/nfs-share/
/* 一般等待10~15分鐘,視頻就會寫入服務(wù)器了。
drwxr-xr-x 3 root root 4096 Mar 13 22:11 HN1D012HAJ16081
*/
我通過上面的方法是無法設(shè)置互聯(lián)網(wǎng)上的nas的,如果你和我一樣,那么可以嘗試下面的方法。記得必須要在登錄的情況下。
- 非常規(guī)的設(shè)置NAS。因為我并不是像上面這么順利的設(shè)置的。我在輸入服務(wù)器的地址之后,頁面并沒有任何變化,沒有出現(xiàn)服務(wù)器共享的文件夾。查看控制臺,監(jiān)測NFS的請求是200成功了。但是頁面就是沒有出現(xiàn)共享的文件夾給我設(shè)置。所以我想,會不會是攝像頭限制了不給連接互聯(lián)網(wǎng)的nfs?于是,我在自己的電腦上搭建了一個nfs。然后按照上面的步驟,管理界面出現(xiàn)了共享的文件夾,于是我觀察了設(shè)置nfs的請求。完整的請求如下
fetch(
"http://[監(jiān)控的IP]/common_page/Internet_TFSD_LocCfg_lua.lua",
{
"credentials": "include",
"headers":
{
"accept": "application/xml, text/xml, */*; q=0.01",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"x-requested-with": "XMLHttpRequest"
},
"referrer": "[監(jiān)控的IP]",
"referrerPolicy": "no-referrer-when-downgrade",
"body": "IF_ACTION=MountShareDir&isIP=[NFS服務(wù)端的IP]&iMntDirName=[NFS的路徑]&iProtocol=1&iManFlagID=0&diskUsername=&diskPassword=",
"method": "POST",
"mode": "cors"
}
);
需要將以上中括號以及中括號的內(nèi)容替換。
| 參數(shù) | 說明 |
|---|---|
| 監(jiān)控的IP | 就是你監(jiān)控的地址(內(nèi)網(wǎng)地址,如:192.168.123.1) |
| NFS服務(wù)端的IP | 就是你服務(wù)器的地址 |
| NFS的路徑 | 就是前面設(shè)置的路徑(如:/usr/nfs-share) |
-
發(fā)起請求。替換上面的參數(shù)后,在監(jiān)控管理界面,(記得刷新一次,防止登錄過期。)打開F12,在console面板,復(fù)制并執(zhí)行上面的代碼。復(fù)制進來,然后回車就好了。
image.png 前往控制界面,點擊保存就可以了
遇到的問題
-
存儲的視頻無法打開。攝像頭成功存入遠程的NFS,而且我對比過本地能夠播放的視頻的大小,都差不多(20M左右)。但是發(fā)現(xiàn)遠程的視頻并不能打開。目前不知道什么原因,計算了20多M是寫入10分鐘的,計算下來就是30~50K/s,目前寬帶的上行是4M ~ 6M左右,就算沒有緩存,按道理實時寫入也是沒問題的。而且NFS也是基于TCP的,并非UDP,為什么會出錯呢??實在不明白。
image.png

總結(jié) & 題外話
- 中興的攝像頭不僅可以通過手機APP設(shè)置,還能通過網(wǎng)頁設(shè)置。之前被中興的客服工程師坑了,他說必須通過APP而且攝像頭必須連接到互聯(lián)網(wǎng)才能進行設(shè)置。其實,說明書的最后一頁寫著,可以通過網(wǎng)頁設(shè)置,而且設(shè)置更加豐富。
- 中興攝像頭不僅僅可以使用局域網(wǎng)的NAS,通過上面的方法,可以接入你互聯(lián)網(wǎng)的服務(wù)器。
- 中興攝像頭的地步螺母是標準的3/4螺孔(就是和相機底部的接三腳架是一樣的)。可以到五金店花1塊錢能買到好多顆這樣規(guī)格的螺絲,然后固定就方便了。
相信我,我是工程師image.png







