在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

ElfBoard技術貼|如何在ELF 2開發板上部署v4l2loopback

ElfBoard ? 2025-06-05 14:24 ? 次閱讀

嵌入式系統開發領域,虛擬視頻設備技術正成為實現多媒體功能創新的關鍵技術支撐。v4l2loopback作為一款功能強大的Linux內核模塊,可以為視頻流處理提供靈活的路由架構,在遠程協作、實時流媒體傳輸及AI視覺處理等場景展現出顯著應用價值。本文將以ELF 2開發板為載體,系統闡述v4l2loopback模塊的工程化部署全流程。

一、設置環境

首先需配置交叉編譯工具鏈路徑,確保系統能夠正確識別ARM64架構的編譯工具。打開終端,執行以下命令:

elf@ubuntu:~/work/ELF2-linux-source$ export PATH=/home/elf/aarch64-buildroot-linux-gnu_sdk-buildroot/bin:$PATH

二、配置內核

elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh elf2_desktop_defconfig

三、編譯內核頭文件

內核頭文件是編譯內核模塊的關鍵依賴,包含了內核 API 的定義。執行以下命令編譯內核頭文件:

elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh kernel linux-headers


四、獲取并編譯v4l2loopback

4.1克隆v4l2loopback倉庫

通過Git工具從官方代碼倉庫獲取v4l2loopback的最新源代碼。在終端中執行以下命令:

elf@ubuntu:~/work/ELF2-linux-source$ git clone https://github.com/umlaeute/v4l2loopback.git

4.2進入v4l2loopback目錄

克隆完成后,使用cd命令進入v4l2loopback源代碼目錄:

elf@ubuntu:~/work/ELF2-linux-source$ cd v4l2loopback/

4.3修改v4l2loopback.c文件

由于不同開發板的內核架構和配置存在差異,需對v4l2loopback的源代碼進行適當修改以確保兼容性。使用文本編輯器打開v4l2loopback.c文件:

elf@ubuntu:~/work1/ELF2-linux-source/v4l2loopback$ vi v4l2loopback.c

做如下修改:

wKgZO2hBM0uASyZlAADBObJOlAM001.pngwKgZPGhBM1aASAjbAAD2MM6BtmA006.png

修改完成后,保存并退出編輯器。

4.4編譯v4l2loopback模塊

elf@ubuntu:~/work1/ELF2-linux-source/v4l2loopback$ make KERNEL_DIR=$(pwd)/../kernel ARCH=arm64 CROSS_COMPILE=aarch64-buildroot-linux-gnu-

參數說明:

KERNEL_DIR=$(pwd)/../kernel:指定內核源代碼目錄,用于獲取編譯所需的內核頭文件和編譯配置。

ARCH=arm64:指定目標架構為ARM64,與ELF 2開發板的硬件架構匹配。

CROSS_COMPILE=aarch64-buildroot-linux-gnu-:指定交叉編譯工具前綴,確保生成的模塊適用于ARM64架構的開發板。

編譯過程完成后,將在當前目錄下生成名為v4l2loopback.ko的內核模塊文件,這是后續需要部署到開發板上的核心文件。

五、測試驗證

5.1拷貝v4l2loopback.ko文件到開發板

將生成的v4l2loopback.ko文件通過U盤拷貝到開發板/root目錄下。

5.2加載模塊

在開發板上加載v4l2loopback模塊,創建2個設備并指定設備號

root@elf2-desktop:~# insmod v4l2loopback.ko devices=2 video_nr=21,22 card_label=VirtualCam1,VirtualCam2

參數說明:

devices=2:指定創建2個虛擬視頻設備。

video_nr=21,22:手動指定設備號為/dev/video21和/dev/video22,避免與系統已有的視頻設備號沖突。

card_label=VirtualCam1,VirtualCam2(可選):為虛擬設備設置易識別的標簽,方便后續使用中區分不同設備。

5.3列出已加載的模塊

執行以下命令查看已加載的內核模塊,確認 v4l2loopback 模塊是否成功加載:

root@elf2-desktop:~# lsmod

wKgZO2hBNGKAZCmtAAAnEnLRipg857.png

輸出包含v4l2loopback相關信息,則表明模塊加載成功。

5.4檢查生成的視頻設備

通過以下命令列出系統中的視頻設備文件,檢查是否成功創建了指定的虛擬視頻設備:

root@elf2-desktop:~# ls /dev/video*

wKgZO2hBNKKAPk5FAABKpF9lbFU302.png

可以看到/dev/video21和/dev/video22兩個設備文件。

5.5查看設備信息

使用v4l2-ctl工具查看虛擬視頻設備的詳細信息

root@elf2-desktop:~# v4l2-ctl --device=/dev/video21 --info

wKgZPGhBNRKAQTHQAACEWkwtUS8589.png

5.6視頻流傳輸

說明:

ELF 2開發板連接屏幕;

登錄兩個終端,一個使用串口登錄,一個使用網絡登錄;

5.6.1在終端1推送測試視頻流(FFmpeg)

FFmpeg會持續生成SMPTE測試條視頻流,并寫入/dev/video21。

root@elf2-desktop:~# ffmpeg -f lavfi -i smptebars=size=1024x600 -pix_fmt yuv420p -f v4l2 /dev/video21

wKgZPGhBNayAZUGAAABxMwUxxPc810.png

終端1輸出:

wKgZPGhBNcCAfm1iAAD3P3UeGdQ669.pngwKgZO2hBNceAN0-7ABT4OOrzTYw701.pngwKgZO2hBNdOABQrDABvZWgYOseo046.png

5.6.2在終端2查看視頻流(GStreamer)

root@elf2-desktop:~# gst-launch-1.0 v4l2src device=/dev/video21 ! autovideosink

wKgZO2hBNgmABSL5AAA9oDkFqPw303.png

屏幕彈出一個窗口顯示SMPTE測試條:

wKgZO2hBNiOAGL6UAACYKpldTbc377.png

通過以上步驟,我們完成了在ELF 2開發板上部署v4l2loopback的全過程。從事嵌入式開發工程師與高校師生可基于此構建各種視頻應用場景,如視頻會議系統、智能監控系統等。如果在實踐中遇到問題,歡迎隨時交流探討!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6063

    文章

    44925

    瀏覽量

    647003
  • 嵌入式
    +關注

    關注

    5141

    文章

    19537

    瀏覽量

    315038
  • Linux開發
    +關注

    關注

    0

    文章

    37

    瀏覽量

    7241
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ELF 1技術|在NXP源碼基礎上適配開發板的按鍵功能

    ELF1開發板。接下來,我們將詳細闡述適配過程中關于按鍵功能實現的完整步驟。值得一提的是,ELF1開發板上預置了標識為K1、K2、K3的三
    的頭像 發表于 03-08 16:58 ?1200次閱讀
    <b class='flag-5'>ELF</b> 1<b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎上適配<b class='flag-5'>開發板</b>的按鍵功能

    ElfBoard技術|如何在NXP源碼基礎上適配ELF 1開發板的UART功能

    UART即通用異步收發器,是一種支持全雙工串行通信協議的接口。在i.MX6ULL處理器平臺上,該處理器原生支持多達8路的UART接口,提供了豐富的串行通信能力。 針對ELF 1開發板,實際引出
    的頭像 發表于 09-25 13:56 ?2703次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>NXP源碼基礎上適配<b class='flag-5'>ELF</b> 1<b class='flag-5'>開發板</b>的UART功能

    ElfBoard技術|ELF 1開發板適配攝像頭詳解

    ELF1及ELF1S開發板適配的OV5640攝像頭,集成了CMOS圖像傳感器,作為一款500萬像素級別的攝像頭,不僅能夠支持最高達2592x1944分辨率的QSXGA圖像輸出,幀率可達15fps
    的頭像 發表于 12-27 10:16 ?1208次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|<b class='flag-5'>ELF</b> 1<b class='flag-5'>開發板</b>適配攝像頭詳解

    來自資深工程師對ELF 2開發板的產品測評

    來自資深工程師對ELF 2開發板的使用測評
    的頭像 發表于 04-28 15:03 ?765次閱讀
    來自資深工程師對<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>的產品測評

    ElfBoard技術實戰|ELF 2開發板本地部署DeepSeek大模型的完整指南

    ELF 2開發板本地部署DeepSeek大模型的完整指南
    的頭像 發表于 05-16 11:13 ?1629次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b>實戰|<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>本地<b class='flag-5'>部署</b>DeepSeek大模型的完整指南

    學習筆記分享|ElfBoard開發板初識

    大家分享一篇共創官學習筆記,共同見證攜手進步的真實寫照: 最近很榮幸能夠參加保定飛凌嵌入式公司舉辦的Elfboard\"自創一派\" 共創社活動。下圖是本次活動采用的ElF 1開發板
    發表于 01-04 10:22

    飛凌ElfBoard ELF 1板卡-如何在ELF 1開發板上實現對java的支持

    Java作為一種功能強大且廣泛應用的編程語言,具有廣泛的適應性和實用性。在ELF 1開發板上集成Java支持,無疑將賦予嵌入式開發者更廣闊的選擇空間,今天就為各位小伙伴詳細解析如何在
    發表于 03-20 09:51

    ELF 2學習試用】ELF 2開發板開箱測評

    簡介 很高興收到飛凌嵌入式提供的ELF 2開發板ELF 2學習基于瑞芯微RK3588旗艦處理
    發表于 01-15 09:43

    ELF 2學習試用】ELF2開發板開箱體驗及基本使用環境搭建

    開發板 輸出為12v 3A的電源適配器(和ipad的充電器外觀好像) 圖1 外包裝盒 圖2 開箱物品內容 圖3 ELF2開發板正面
    發表于 01-19 22:41

    rk3399是怎樣使用v4l2loopback實現虛擬camera開發

    1、編譯v4l2回環設備驅動camera驅動,生成video0設備;drivers/v4l2loopback/v4l2loopback.cdrivers/v4l2loopback
    發表于 05-06 11:34

    這么簡單!G2L開發板安裝Docker

    Docker是什么?Docker有什么用?我們不再贅述。RZ/G2L開發板支持ubuntu系統,下面快速演示一下如何在G2L開發板上安裝支持
    的頭像 發表于 04-15 16:18 ?923次閱讀
    這么簡單!G<b class='flag-5'>2L</b><b class='flag-5'>開發板</b>安裝Docker

    ELF技術|如何在開發板上實現對Java的支持

    Java作為一種功能強大且廣泛應用的編程語言,具有廣泛的適應性和實用性。在ELF1開發板上集成Java支持,無疑將賦予嵌入式開發者更廣闊的選擇空間,今天就為各位小伙伴詳細解析如何在
    的頭像 發表于 03-13 16:47 ?698次閱讀
    <b class='flag-5'>ELF</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>開發板</b>上實現對Java的支持

    ElfBoard技術|在NXP源碼基礎上適配ELF 1開發板的按鍵功能

    本次源碼適配工作是在NXPi.MX6ULLEVK評估的Linux內核源碼(特定版本:Linux-imx_4.1.15)基礎上進行的。主要目標是調整功能接口引腳配置,以適應ELF1開發板。接下來
    的頭像 發表于 07-10 09:54 ?873次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|在NXP源碼基礎上適配<b class='flag-5'>ELF</b> 1<b class='flag-5'>開發板</b>的按鍵功能

    ElfBoard技術|如何在ELF 1開發板上搭建流媒體服務器

    流媒體服務器是一種專門用于傳輸實時數據流的服務器軟件,廣泛用于視頻直播、視頻會議、音頻播放等應用場景。在嵌入式開發領域,將流媒體服務器部署開發板上可以實現諸如視頻監控、實時數據傳輸等功能。本文將介紹如何利用nginx和其rtm
    的頭像 發表于 08-20 14:48 ?854次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>ELF</b> 1<b class='flag-5'>開發板</b>上搭建流媒體服務器

    ElfBoard技術|如何在ELF 1開發板上交叉移植Qt

    在嵌入式系統開發領域,針對特定硬件平臺進行Qt框架的移植與適配是一項關鍵技術任務。作為業界主流的跨平臺應用開發框架,Qt憑借其完善的圖形界面支持能力,在嵌入式開發圖形界面應用程序中占據
    的頭像 發表于 02-24 16:18 ?496次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>ELF</b> 1<b class='flag-5'>開發板</b>上交叉移植Qt
    主站蜘蛛池模板: 国产成人一区二区在线不卡 | 丁香五六月婷婷 | 日本在线黄色网址 | 欧美一级欧美三级在线 | 免费鲁丝片一级观看 | 欧美69xxx | 一区二区三区视频 | 凹厕所xxxxbbbb偷拍视频 | 午夜免费 | 欧美中字 | 精品国产免费一区二区 | 天天操夜 | 美女色黄一男一女 | 亚洲va久久久噜噜噜久久狠狠 | 免费高清在线观看a网站 | 一本一本大道香蕉久在线精品 | 婷婷在线影院 | 色香婷婷| 丰满年轻岳欲乱中文字幕 | 国产做a爰片久久毛片a | 99久久婷婷国产综合精品电影 | 亚洲欧美高清在线 | 免费一级特黄欧美大片勹久久网 | 四虎影院在线观看网站 | 日日操天天操夜夜操 | 高清在线观看视频 | 国产日本三级在线播放线观看 | 综合涩| 一区二区三区四区精品 | 亚洲第一网站 | 日日草天天干 | 午夜干b| 狠狠干天天干 | 国产婷婷综合丁香亚洲欧洲 | 日本不卡视频 | 午夜影院免费视频 | 毛片日韩 | 成人在线网站 | 好大好紧好爽好湿润视频 | 色女人在线视频 | 爱爱免费小视频 |