0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用VF2部署一個網(wǎng)絡(luò)攝像頭

發(fā)燒電子愛好者 ? 來源:發(fā)燒電子愛好者 ? 作者:發(fā)燒電子愛好者 ? 2023-09-11 09:01 ? 次閱讀

本來今天想下載編譯openWRT,后來發(fā)現(xiàn)tf卡空間分配問題,明天再調(diào)整吧,看了看桌上的USB攝像頭,今天晚上就你出場了。

一開始我是猶豫的,因為RISC-V的生態(tài),不一定能部署的上相關(guān)軟件,但是JH7110,加上Imagination的GPU,再加上Debian OS,想不出會有什么不兼容的場景,最大風險可能來自CPU,有的話應(yīng)該都能解決掉,那就上吧。

一、軟件環(huán)境

(一)操作系統(tǒng)

官方的Debian鏡像(starfive-jh7110-202306-SD-minimal-desktop.img),也沒用去update了,反正也挺新的。

root@starfive:# uname -a
Linux starfive 5.15.0-starfive #1 SMP Sun Jun 11 07:48:39 UTC 2023 riscv64 GNU/Linux

就是因為文件名上帶minimal,可能需要安裝的東西會比較多,反正我心里有個數(shù)。

(二)安裝libjpeg62-turbo-dev

root@starfive:# apt install libjpeg62-turbo-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libc-dev-bin libc-devtools libc6-dev libcrypt-dev libnsl-dev libtirpc-dev
  linux-libc-dev manpages manpages-dev rpcsvc-proto
Suggested packages:
  glibc-doc
The following NEW packages will be installed:
  libc-dev-bin libc-devtools libc6-dev libcrypt-dev libjpeg62-turbo-dev
  libnsl-dev libtirpc-dev linux-libc-dev manpages manpages-dev rpcsvc-proto
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 8933 kB of archives.
After this operation, 44.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

(三)安裝imagemagick

root@starfive:#  apt install imagemagick
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  imagemagick-6.q16 libnetpbm11 netpbm
Suggested packages:
  imagemagick-doc autotrace cups-bsd | lpr | lprng curl enscript ffmpeg gimp
  gnuplot grads graphviz hp2xx html2ps libwmf-bin mplayer povray radiance
  texlive-base-bin transfig ufraw-batch xdg-utils
  imagemagick imagemagick-6.q16 libnetpbm11 netpbm
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
After this operation, 7693 kB of additional disk space will be used.

(四)安裝libv4l-dev

root@starfive:# apt install libv4l-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libv4l2rds0
Suggested packages:
  pkg-config
The following NEW packages will be installed:
  libv4l-dev libv4l2rds0
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 291 kB of archives.
After this operation, 1948 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 libv4l2rds0 riscv64 1.22.1-5+b1 [80.4 kB]
Get:2 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 libv4l-dev riscv64 1.22.1-5+b1 [211 kB]
Fetched 291 kB in 5s (61.7 kB/s)

(五)安裝編譯工具

發(fā)現(xiàn)gcc、git、cmake啥都沒用,果然夠minimal,逐一apt install。

root@starfive: # apt install gcc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  gcc-12 libasan8 libcc1-0 libgcc-12-dev
Suggested packages:
  gcc-multilib make autoconf automake libtool flex bison gdb gcc-doc
  gcc-12-doc gcc-12-locales
The following NEW packages will be installed:
  gcc gcc-12 libasan8 libcc1-0 libgcc-12-dev
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 18.6 MB of archives.
After this operation, 70.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 libcc1-0 riscv64 12.2.0-10 [38.4 kB]
Get:2 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 libasan8 riscv64 12.2.0-10 [2067 kB]
Get:3 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 libgcc-12-dev riscv64 12.2.0-10 [1951 kB]
Get:4 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 gcc-12 riscv64 12.2.0-10 [14.6 MB]
Get:5 https://snapshot.debian.org/archive/debian-ports/20221225T084846Z unstable/main riscv64 gcc riscv64 4:12.2.0-1 [5200 B]
Fetched 18.6 MB in 3min 55s (79.5 kB/s)

安裝完成后檢查下:

root@starfive:# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/riscv64-linux-gnu/12/lto-wrapper
Target: riscv64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-10' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=riscv64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --disable-multilib --with-arch=rv64gc --with-abi=lp64d --enable-checking=release --build=riscv64-linux-gnu --host=riscv64-linux-gnu --target=riscv64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (Debian 12.2.0-10)

二、源碼下載、編譯和安裝

(一)源碼下載

JH7110處理能力毋庸置疑,直接板子上編譯和安裝,源代碼直接從github上拉取。

git clone https://github.com/jacksonliam/mjpg-streamer.git
Cloning into 'mjpg-streamer'...
remote: Enumerating objects: 2964, done.
remote: Total 2964 (delta 0), reused 0 (delta 0), pack-reused 2964
Receiving objects: 100% (2964/2964), 3.48 MiB | 4.33 MiB/s, done.
Resolving deltas: 100% (1885/1885), done.

(二)源碼編譯和安裝

進入/mjpg-streamer/mjpg-streamer-experimental 文件夾,執(zhí)行 make all。

VF21.png

檢查下生成的文件,

VF22.png

再安裝。

VF23.png

三、服務(wù)啟動

(一)前期工作

首先確保網(wǎng)絡(luò)正常連接。

VF24.png

之后插入USB camera,OS提示已經(jīng)識別:

root@starfive: # [ 3976.150090] usb 1-1.3: new high-speed USB device number 3 using xhci_hcd
[ 3976.295340] usb 1-1.3: Found UVC 1.00 device HIK 720P Camera (2bdf:0280)
[ 3976.306997] input: HIK 720P Camera: HIK 720P Camer as /devices/platform/soc/2b000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1                                                                     .3/1-1.3:1.0/input/input0

通過對比video大法判斷設(shè)備名,找出是/dev/video4:

root@starfive: # ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 Dec 22  2022 /dev/video0
crw-rw----+ 1 root video 81, 1 Dec 22  2022 /dev/video1
crw-rw----+ 1 root video 81, 2 Dec 22  2022 /dev/video2
crw-rw----+ 1 root video 81, 3 Dec 22  2022 /dev/video3
crw-rw----+ 1 root video 81, 6 Aug 21 14:42 /dev/video4
crw-rw----+ 1 root video 81, 7 Aug 21 14:42 /dev/video5
crw-rw----+ 1 root video 81, 4 Dec 22  2022 /dev/video6
crw-rw----+ 1 root video 81, 5 Dec 22  2022 /dev/video7

(二)啟動USB攝像頭

直接輸入 mjpg_streamer 即可啟動服務(wù),默認的是video0,VF2開發(fā)板的USB攝像頭是video4。在啟動服務(wù)命令中通過“-d /dev/video4” 選項來指定。

y是表示YUV格式。如果沒有-y,默認啟動是mjpeg格式
-d指定設(shè)備
-f 制訂幀數(shù),默認30幀
-r指定視頻大小,如320×240
-q指定畫質(zhì),默認80對于輸出參數(shù)
-p 指定端口,一般是8080
-w 指定網(wǎng)頁目錄,設(shè)置的是/www目錄
-c設(shè)置通過密碼訪問

./mjpg_streamer -i "./input_uvc.so -d /dev/video4 -f 30 -q 90 -n" -o "./output_http.so -w ./www"

啟動后的日志如下:

VF25.png

四、網(wǎng)絡(luò)攝像頭測試

(一)在線視頻查看

打開瀏覽器,訪問URL為:[VF2開發(fā)板 IP]:8080 ,得到的內(nèi)容如下:

VF26.png

(二)取一張圖

取一張圖的URL為`IP:8080?action=snapshot,直接給自己照相:

VF27.png

五、一些體會

全程下來無錯誤,整個軟件安裝非常順利,本以為會出現(xiàn)的各種小問題一個都沒。
JH7110 CPU功能強大,之前在H616上也編譯過mjpg-streamer,耗時跟VF2完全不同,在VF2上簡直飛一般編譯安裝。
GPU(Imagination BXE-4-32 GPU)還沒有測試,按理來說Imagination的應(yīng)該兼容性和性能不會有什么大問題,下次有時間可以測試下。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4629

    瀏覽量

    128439
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6603

    瀏覽量

    123019
  • OpenWrt
    +關(guān)注

    關(guān)注

    10

    文章

    123

    瀏覽量

    39227
  • 網(wǎng)絡(luò)攝像頭

    關(guān)注

    2

    文章

    43

    瀏覽量

    16010
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2178

    瀏覽量

    45887
收藏 人收藏

    評論

    相關(guān)推薦

    用于環(huán)視和CMS攝像頭系統(tǒng)的四通道攝像頭應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《用于環(huán)視和CMS攝像頭系統(tǒng)的四通道攝像頭應(yīng)用程序.pdf》資料免費下載
    發(fā)表于 10-11 10:02 ?0次下載
    用于環(huán)視和CMS<b class='flag-5'>攝像頭</b>系統(tǒng)的四通道<b class='flag-5'>攝像頭</b>應(yīng)用程序

    帶阻網(wǎng)絡(luò)電路輸入與輸出電阻都是600歐姆,VF1與VF2他們的波形為什么是樣的?

    如下圖所示帶阻網(wǎng)絡(luò)電路輸入與輸出電阻都是600歐姆,前面加了跟隨器,我測了VF1與VF2他們的波形為什么是
    發(fā)表于 09-19 06:11

    請問正向輸入VF3與反向輸入VF2的波形為什么不相同呢?虛短怎么就不成立了呢?

    請問正向輸入VF3與反向輸入VF2的波形為什么不相同呢?虛短怎么就不成立了呢?
    發(fā)表于 08-16 12:07

    攝像頭時鐘輻射超標問題整改案例

    本次整改的樣機是雙目攝像頭,根據(jù)客戶的反饋,存在時鐘單支輻射超標問題。
    的頭像 發(fā)表于 07-16 14:43 ?602次閱讀
    <b class='flag-5'>攝像頭</b>時鐘輻射超標問題整改案例

    基于FPGA的攝像頭心率檢測裝置設(shè)計

    ,該系統(tǒng)便可自動識別被測者并計算出心率者顯示在屏幕 上。 (3)使用消費級網(wǎng)絡(luò)攝像頭做到精準的心率捕捉。 (4)用同一個 roi 區(qū)域的不同顏色通道來分離心率信號和運動噪聲。 4.2 可擴展之處 (1
    發(fā)表于 07-01 17:58

    智能攝像頭抄表器是什么?

    1.概念理解:智能攝像頭抄表器智能攝像頭抄表器是種融合了人工智能和物聯(lián)網(wǎng)技術(shù)的創(chuàng)新設(shè)備,主要用于自動讀取和記錄各種計量儀表的數(shù)據(jù),如水表、電表、燃氣表等。它通過高清攝像頭捕捉圖像,然
    的頭像 發(fā)表于 04-24 14:14 ?478次閱讀
    智能<b class='flag-5'>攝像頭</b>抄表器是什么?

    Win11 24H2:更強大的人工智能助手,豐富的鎖屏小組件和網(wǎng)絡(luò)攝像頭

    手機化身網(wǎng)絡(luò)攝像頭:Win11將支持利用安卓智能手機充當無線網(wǎng)絡(luò)攝像頭。搭配優(yōu)異質(zhì)素的拍攝鏡頭,該功能有可能超越市場上大部分高價
    的頭像 發(fā)表于 04-17 14:21 ?677次閱讀

    高清網(wǎng)絡(luò)攝像頭多媒體智能屏

    迪文全新推出的28系列智能屏,是面向屏幕實時顯示高清網(wǎng)絡(luò)攝像頭視頻畫面應(yīng)用的產(chǎn)品。該系列智能屏可通過以太網(wǎng)或WiFi連接攝像頭,可接收H.264編碼RTSP協(xié)議的攝像頭視頻,支持4路
    的頭像 發(fā)表于 02-19 13:21 ?487次閱讀
    高清<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>攝像頭</b>多媒體智能屏

    攝像頭凸透鏡成像原理 攝像的原理是小孔成像嗎

    原理。攝像頭通過透鏡將光線聚焦到圖像傳感器上。這個過程是利用透鏡的折射原理完成的。光線從空氣中通過透鏡進入攝像頭內(nèi)部,透鏡會使光線發(fā)生折射,使得光線匯聚到
    的頭像 發(fā)表于 02-01 15:01 ?1434次閱讀

    用usb攝像頭替換手機前置攝像頭可以嗎

    隨著科技的進步和智能手機的普及,攝影已經(jīng)成為了我們?nèi)粘I钪胁豢苫蛉钡?b class='flag-5'>一部分。然而,有時我們可能會對手機自帶的前置攝像頭的拍攝效果感到不滿意。那是否可以考慮用USB攝像頭替代手機前置攝像頭
    的頭像 發(fā)表于 01-08 14:11 ?1900次閱讀

    AHD攝像頭與CVBS的區(qū)別

    隨著科技的不斷進步,攝像頭作為監(jiān)控領(lǐng)域中重要的設(shè)備之,也在不斷演化和改進。AHD(Analog High Definition,模擬高清)攝像頭是近年來相對較新的種技術(shù),相對于傳統(tǒng)
    的頭像 發(fā)表于 01-04 11:08 ?1.2w次閱讀

    舊手機攝像頭改usb攝像頭怎樣焊接

    在不少情況下,我們可能會因為些原因?qū)⑴f手機廢棄,但其中些零件仍然是可以被重新利用的。本文將詳細介紹如何將舊手機攝像頭改裝為USB
    的頭像 發(fā)表于 12-26 13:38 ?1.3w次閱讀

    【ELF 1開發(fā)板試用】+ 3.2 USB攝像頭連接測試 + Ubutu SSH連接

    連接測試 本文繼續(xù)做下連接接口的測試,本文使用USB攝像頭進行連接,以測試ELF 1 USB功能,以及其對應(yīng)的攝像頭視頻流的處理反饋 設(shè)備部署如下: ELF1 外接了
    發(fā)表于 12-06 15:37

    激光雷達燒壞攝像頭?

    狀,后續(xù)無法再正常使用。 隨著視頻受到更多關(guān)注,網(wǎng)絡(luò)上也出現(xiàn)了兩問題,攝像頭的損壞與激光雷達有何關(guān)系?激光雷達又是否會對人眼造成傷害? 對于第一個問題,目前已有專業(yè)人士進行了解答,其
    的頭像 發(fā)表于 11-30 09:14 ?937次閱讀

    【LuckFox Pico Plus開發(fā)板免費試用】攝像頭進行網(wǎng)絡(luò)推流

    使用攝像頭進行網(wǎng)絡(luò)推流
    發(fā)表于 11-09 00:10