chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ElfBoard技術(shù)貼|如何在ELF 2開發(fā)板上部署v4l2loopback

ElfBoard ? 2025-06-05 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、設(shè)置環(huán)境

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

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

二、配置內(nèi)核

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

三、編譯內(nèi)核頭文件

內(nèi)核頭文件是編譯內(nèi)核模塊的關(guān)鍵依賴,包含了內(nèi)核 API 的定義。執(zhí)行以下命令編譯內(nèi)核頭文件:

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


四、獲取并編譯v4l2loopback

4.1克隆v4l2loopback倉庫

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

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文件

由于不同開發(fā)板的內(nèi)核架構(gòu)和配置存在差異,需對v4l2loopback的源代碼進行適當(dāng)修改以確保兼容性。使用文本編輯器打開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-

參數(shù)說明:

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

ARCH=arm64:指定目標(biāo)架構(gòu)為ARM64,與ELF 2開發(fā)板的硬件架構(gòu)匹配。

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

編譯過程完成后,將在當(dāng)前目錄下生成名為v4l2loopback.ko的內(nèi)核模塊文件,這是后續(xù)需要部署到開發(fā)板上的核心文件。

五、測試驗證

5.1拷貝v4l2loopback.ko文件到開發(fā)板

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

5.2加載模塊

在開發(fā)板上加載v4l2loopback模塊,創(chuàng)建2個設(shè)備并指定設(shè)備號

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

參數(shù)說明:

devices=2:指定創(chuàng)建2個虛擬視頻設(shè)備。

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

card_label=VirtualCam1,VirtualCam2(可選):為虛擬設(shè)備設(shè)置易識別的標(biāo)簽,方便后續(xù)使用中區(qū)分不同設(shè)備。

5.3列出已加載的模塊

執(zhí)行以下命令查看已加載的內(nèi)核模塊,確認 v4l2loopback 模塊是否成功加載:

root@elf2-desktop:~# lsmod

wKgZO2hBNGKAZCmtAAAnEnLRipg857.png

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

5.4檢查生成的視頻設(shè)備

通過以下命令列出系統(tǒng)中的視頻設(shè)備文件,檢查是否成功創(chuàng)建了指定的虛擬視頻設(shè)備:

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

wKgZO2hBNKKAPk5FAABKpF9lbFU302.png

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

5.5查看設(shè)備信息

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

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

wKgZPGhBNRKAQTHQAACEWkwtUS8589.png

5.6視頻流傳輸

說明:

ELF 2開發(fā)板連接屏幕;

登錄兩個終端,一個使用串口登錄,一個使用網(wǎng)絡(luò)登錄;

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

FFmpeg會持續(xù)生成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開發(fā)板上部署v4l2loopback的全過程。從事嵌入式開發(fā)工程師與高校師生可基于此構(gòu)建各種視頻應(yīng)用場景,如視頻會議系統(tǒng)、智能監(jiān)控系統(tǒng)等。如果在實踐中遇到問題,歡迎隨時交流探討!

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

    關(guān)注

    6076

    文章

    45476

    瀏覽量

    669455
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20404

    瀏覽量

    333343
  • Linux開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ElfBoard技術(shù)|如何在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板的UART功能

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

    來自資深工程師對ELF 2開發(fā)板的產(chǎn)品測評

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

    ElfBoard技術(shù)實戰(zhàn)|ELF 2開發(fā)板本地部署DeepSeek大模型的完整指南

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

    ElfBoard技術(shù)|如何在ELF 2開發(fā)板中適配 AX200NGW WiFi模塊

    ELF2開發(fā)板適配AX200NGWWi-Fi6模塊,是開發(fā)者在嵌入式設(shè)備中實現(xiàn)高速無線聯(lián)網(wǎng)的實際需求,更是解鎖其全場景無線通信能力的關(guān)鍵升級。針對ARM架構(gòu)需要手動適配的特性,本文將提供清晰的步驟
    的頭像 發(fā)表于 06-24 09:09 ?2246次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>中適配 AX200NGW WiFi模塊

    ElfBoard技術(shù)|如何在【RK3588】ELF 2開發(fā)板上進行根系統(tǒng)的定制

    ELF 2開發(fā)板已經(jīng)適配了Linux 5.10及Elf2 Desktop 22.04操作系統(tǒng),其中Elf2 Desktop 22.04系統(tǒng)是
    的頭像 發(fā)表于 07-02 16:33 ?2983次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>上進行根系統(tǒng)的定制

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

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

    ElfBoard技術(shù)|如何在【RK3588】ELF 2開發(fā)板實現(xiàn)I2C功能復(fù)用

    C等。由于此項配置的具體實現(xiàn)因SoC平臺而異,本文特以【RK3588】ELF 2開發(fā)板上的I2C6引腳為例,系統(tǒng)說明從硬件規(guī)格查詢到軟件驅(qū)動配置的完整步驟。
    的頭像 發(fā)表于 12-04 10:10 ?7748次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>實現(xiàn)I<b class='flag-5'>2</b>C功能復(fù)用

    ELF 2學(xué)習(xí)試用】ELF2開發(fā)板開箱體驗及基本使用環(huán)境搭建

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

    rk3399是怎樣使用v4l2loopback實現(xiàn)虛擬camera開發(fā)

    1、編譯v4l2回環(huán)設(shè)備驅(qū)動camera驅(qū)動,生成video0設(shè)備;drivers/v4l2loopback/v4l2loopback.cdrivers/v4l2loopback
    發(fā)表于 05-06 11:34

    ELF技術(shù)|如何在開發(fā)板上實現(xiàn)對Java的支持

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

    ElfBoard技術(shù)|如何在ELF 1開發(fā)板上搭建流媒體服務(wù)器

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

    ElfBoard技術(shù)|如何在ELF 1開發(fā)板上交叉移植Qt

    在嵌入式系統(tǒng)開發(fā)領(lǐng)域,針對特定硬件平臺進行Qt框架的移植與適配是一項關(guān)鍵技術(shù)任務(wù)。作為業(yè)界主流的跨平臺應(yīng)用開發(fā)框架,Qt憑借其完善的圖形界面支持能力,在嵌入式開發(fā)圖形界面應(yīng)用程序中占據(jù)
    的頭像 發(fā)表于 02-24 16:18 ?1270次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b><b class='flag-5'>ELF</b> 1<b class='flag-5'>開發(fā)板</b>上交叉移植Qt

    ElfBoard技術(shù)|【RK3588】ELF 2開發(fā)板開機自啟動詳解

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

    ElfBoard技術(shù)|如何在【RK3588】ELF 2開發(fā)板用戶空間更換開機Logo

    傳統(tǒng)修改開發(fā)板開機Logo的方式需要重新編譯內(nèi)核,流程復(fù)雜且耗時。本文介紹了一種創(chuàng)新方案:通過預(yù)先在存儲中劃分專用的Logo分區(qū),允許用戶直接在文件系統(tǒng)中更新Logo圖片文件,這極大地簡化了定制流程
    的頭像 發(fā)表于 10-29 11:12 ?1137次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</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'>開發(fā)板</b>用戶空間更換開機Logo

    ElfBoard技術(shù)|如何在【RK3588】ELF 2開發(fā)板實現(xiàn)GPIO功能復(fù)用

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