国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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的全過程。從事嵌入式開發工程師與高校師生可基于此構建各種視頻應用場景,如視頻會議系統、智能監控系統等。如果在實踐中遇到問題,歡迎隨時交流探討!

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

    關注

    6076

    文章

    45495

    瀏覽量

    670276
  • 嵌入式
    +關注

    關注

    5198

    文章

    20443

    瀏覽量

    333992
  • Linux開發
    +關注

    關注

    0

    文章

    46

    瀏覽量

    7688
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    UART即通用異步收發器,是一種支持全雙工串行通信協議的接口。在i.MX6ULL處理器平臺上,該處理器原生支持多達8路的UART接口,提供了豐富的串行通信能力。 針對ELF 1開發板,實際引出
    的頭像 發表于 09-25 13:56 ?3325次閱讀
    <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功能

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

    來自資深工程師對ELF 2開發板的使用測評
    的頭像 發表于 04-28 15:03 ?1878次閱讀
    來自資深工程師對<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 ?2554次閱讀
    <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技術|如何在ELF 2開發板中適配 AX200NGW WiFi模塊

    ELF2開發板適配AX200NGWWi-Fi6模塊,是開發者在嵌入式設備中實現高速無線聯網的實際需求,更是解鎖其全場景無線通信能力的關鍵升級。針對ARM架構需要手動適配的特性,本文將提供清晰的步驟
    的頭像 發表于 06-24 09:09 ?2367次閱讀
    <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> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>中適配 AX200NGW WiFi模塊

    ElfBoard技術|如何在【RK3588】ELF 2開發板上進行根系統的定制

    ELF 2開發板已經適配了Linux 5.10及Elf2 Desktop 22.04操作系統,其中Elf2 Desktop 22.04系統是
    的頭像 發表于 07-02 16:33 ?3006次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上進行根系統的定制

    ElfBoard技術|如何在【RK3588】ELF 2開發板上進行UART引腳復用配置

    IOMUX(引腳功能復用)是芯片廠商為高效利用有限硬件引腳資源而設計的關鍵技術,它允許單個物理引腳通過軟件配置為多種不同的功能(如GPIO、UART、I2C等)。不同SoC芯片的配置方式各異,本文將以【RK3588】ELF
    的頭像 發表于 11-18 16:54 ?5471次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上進行UART引腳復用配置

    ElfBoard技術|如何在【RK3588】ELF 2開發板實現I2C功能復用

    C等。由于此項配置的具體實現因SoC平臺而異,本文特以【RK3588】ELF 2開發板上的I2C6引腳為例,系統說明從硬件規格查詢到軟件驅動配置的完整步驟。
    的頭像 發表于 12-04 10:10 ?7794次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>實現I<b class='flag-5'>2</b>C功能復用

    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

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

    Java作為一種功能強大且廣泛應用的編程語言,具有廣泛的適應性和實用性。在ELF1開發板上集成Java支持,無疑將賦予嵌入式開發者更廣闊的選擇空間,今天就為各位小伙伴詳細解析如何在
    的頭像 發表于 03-13 16:47 ?1181次閱讀
    <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技術|如何在ELF 1開發板上搭建流媒體服務器

    流媒體服務器是一種專門用于傳輸實時數據流的服務器軟件,廣泛用于視頻直播、視頻會議、音頻播放等應用場景。在嵌入式開發領域,將流媒體服務器部署開發板上可以實現諸如視頻監控、實時數據傳輸等功能。本文將介紹如何利用nginx和其rtm
    的頭像 發表于 08-20 14:48 ?1468次閱讀
    <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 ?1301次閱讀
    <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

    ElfBoard技術|【RK3588】ELF 2開發板開機自啟動詳解

    在嵌入式系統開發中,合理管理開機自啟動項目能夠優化系統啟動流程,確保關鍵服務和應用按時加載運行。本文將詳細介紹在ELF2開發板Linux5.10.209系統下基于SystemVinit服務管理機制
    的頭像 發表于 06-27 16:20 ?2033次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>開機自啟動詳解

    ElfBoard技術|如何在【RK3588】ELF 2開發板用戶空間更換開機Logo

    傳統修改開發板開機Logo的方式需要重新編譯內核,流程復雜且耗時。本文介紹了一種創新方案:通過預先在存儲中劃分專用的Logo分區,允許用戶直接在文件系統中更新Logo圖片文件,這極大地簡化了定制流程
    的頭像 發表于 10-29 11:12 ?1158次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>用戶空間更換開機Logo

    ElfBoard技術|如何在【RK3588】ELF 2開發板實現GPIO功能復用

    【RK3588】ELF2開發板的GPIO引腳為例,詳細闡述從硬件查找到軟件配置的完整流程。1.引腳確認在開始配置之前,首先需要了解【RK3588】ELF2開發板的接口
    的頭像 發表于 12-29 10:37 ?1071次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【RK3588】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>實現GPIO功能復用