0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—视频开发案例

Tronlong创龙科技 ? 来源:Tronlong创龙科技 ? 作者:Tronlong创龙科技 ? 2025-08-26 14:35 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

本文主要介绍基于创龙科技TLT113-EVM评估板的视频开发案例,适用开发环境如下。

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.5.5

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2018.07

Kernel:Linux-5.4.61、Linux-RT-5.4.61

LinuxSDK:T113_Tina5.0-V1.0(Linux)

我司提供的视频开发案例位于产品资料“4-软件资料Demoplatform-demos”目录下,案例具体功能说明如下:

wKgZPGitVJCAX_ZsAAAV5gerd-k573.png

评估板文件系统默认已支持GStreamer和OpenCV库,可执行如下命令查看。

Target# gst-inspect-1.0 -h

Target# ls /usr/lib/libopencv*

wKgZPGitVJiAc8vIAACOAMqQlJE402.png图?1

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉机器学习软件库,实现了图像处理和计算机视觉方面的很多通用算法

GStreamer是用来构建流媒体应用的开源多媒体框架,其目标是要简化音视频应用程序的开发,目前可被用于处理MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime等多种格式的多媒体数据。


v4l2_enc_udp案例

案例说明

案例功能:使用Linux子系统V4L2实现视频采集和显示,并将视频进行JPEG硬件编码后,实现视频文件保存和推流。

案例支持list、save、display、dis-save、udp五种功能模式,通过命令行参数传入主程序进行选择。功能模式简要说明如下:

list模式:查询摄像头设备,并打印设备相关信息,比如分辨率、帧率、格式等。

save模式:采集摄像头的图像数据,进行JPEG编码后将图像数据保存至文件。

display模式:采集摄像头图像数据,写入至framebuffer生成图像并显示,格式为NV12。

dis-save模式:采集摄像头图像数据,然后输出至指定显示设备,同时进行JPEG编码并保存至文件。

udp模式:采集摄像头图像数据,经JPEG编码,最后通过UDP协议发送至上位机

wKgZO2itVKKAT55nAAFE752d-Q0811.png图?2

案例使用LinuxSDK开发包所提供的libvencoder.so库文件,支持输入像素格式为NV12、NV21、I420、YV12,支持输出编码格式为JPEG。本案例使用输入像素格式为NV12,输出编码格式为JPEG。

案例测试

本案例使用逸森(Eviresn)公司的倒车后视高清CCD摄像头,NTSC制式,帧率可达30fps。

评估板断电,通过网线将评估板ETH0(RGMII)网口与PC机连接至同一个路由器,将一路CCD摄像头接入评估板CVBS IN0或CVBS IN1接口,并将HDMI OUT接口连接至HDMI显示屏。硬件连接如下图所示。

备注:CCD摄像头需连接DC 12V电源

wKgZPGitVKuAcVRNACEuOvKIisM990.png图?3

请将案例bin目录下的v4l2_enc_udp可执行程序拷贝至评估板文件系统任意目录下,并进入可执行程序所在目录,执行如下命令查看程序参数信息。

Target# ./v4l2_enc_udp --help

wKgZO2itVLKAKqXtAACmZHA3xmA845.png图?4

参数解析:

-m:设置运行模式。

-d:设置目标设备。

-t:设备接口类型选择。

-F:设置采集格式。

-f:设置采集帧率,若摄像头不支持帧率设置,则设为0。

-i:设置摄像头分辨率。

-I:设置显示设备分辨率。

-a:设置与评估板进行UDP通信的上位机IP和端口号。

-o:设置输出目标,display/dis_save模式下为"/dev/disp"设备节点。

-e:save/dis_save模式下,设置保存文件路径。

-c:设置CVBS IN的通道,0为评估板CVBS IN0接口,1为CVBS IN1接口。

-v:版本信息。

--help:帮助信息。

请根据分辨率、帧率等信息查询结果进行程序参数设置,否则程序无法正常执行。分辨率与帧率需与查询信息一一对应,如无帧率信息,则说明摄像头不支持设置帧率,无需在命令中指定"-f"参数。

本次测试使用CVBS IN0接口实现一路CCD摄像头的视频采集,设备节点为"/dev/video4"。

wKgZPGitVLuAbaTqAAAHNxaN4hk686.png图?5

进入评估板文件系统执行如下命令,关闭Qt程序,初始化framebuffer。

Target# killall Launcher //关闭Qt程序

Target# fbinit //初始化framebuffer

wKgZPGitVMaAX74gAAAd3NGObUw808.png图?6

在Ubuntu系统中执行如下命令,在线安装Gstreamer相关软件包,搭建Gstreamer环境。如提示安装失败,请尝试更换源再重新在线安装。

Host# sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio -y

wKgZPGitVM6AbzfDAAFp04GRjF0271.png图?7

(1)list模式测试

在v4l2_enc_udp可执行程序所在目录下,执行如下命令,查看评估板CVBS IN0接口的摄像头信息。如需查看CVBS IN1接口,请将命令中的"-c 0"修改为"-c 1",CVBS IN1接口设备节点与CVBS IN0接口一致。

Target# ./v4l2_enc_udp -m list-c 0-d /dev/video4

wKgZO2itVNaAPWQ8AACj0GtjmsY665.png图?8

备注:目前摄像头仅支持NV12格式的图像。由于官方Linux系统驱动存在缺陷,上图查询摄像头的信息不准确。

(2)save模式测试

执行如下命令采集图像,经JPEG编码后,将图像数据保存为test.jpeg文件。按"Ctrl + C"停止运行。

参数"-m save"设置运行模式为save,"-d /dev/video4"设置设备节点"/dev/video4","-F NV12"设置采集图像格式为NV12,"-i 720*480"设置摄像头分辨率为720x480,"-f 30"设置采集帧率为30fps,"-I 720*480"设置显示设备分辨率720x480,"-e ./test.jpeg"设置保存文件路径。

Target# ./v4l2_enc_udp -m save -c 0 -d /dev/video4 -F NV12 -i 720*480 -I 720*480 -f 30 -e ./test.jpeg

wKgZO2itVN6AG1SsAAEnZb-177Y930.png图?9

(3)display模式测试

执行如下命令采集图像,并输出至显示设备。

参数"-m display"设置运行模式为display,"-o /dev/disp"设置显示设备节点。

Target# ./v4l2_enc_udp -m display -d /dev/video4 -c 0 -F NV12 -i 720*480 -I 720*480 -f 30 -o /dev/disp

wKgZO2itVOeALpPbAACFwn6Tlns355.png图?10

wKgZPGitVPGAFZjvADPlTVkpU7w475.png图?11

(4)dis_save模式测试

执行如下命令采集图像输出至显示设备,同时进行JPEG编码后,将图像数据保存为test.jpeg文件。

参数"-m dis_save"设置运行模式为dis_save,"-o /dev/disp"设置显示设备节点,"-e ./test.jpeg"设置保存文件路径。

Target# ./v4l2_enc_udp -m dis-save -d /dev/video4 -c 0 -F NV12 -i 720*480 -I 720*480 -f 30 -o /dev/disp -e ./test.jpeg

wKgZO2itVPeAViFvAACYY4vUkfI063.png图?12

wKgZPGitVPGAFZjvADPlTVkpU7w475.png图?13

(5)udp模式测试

在Ubuntu系统中执行如下命令,通过gst-launch-1.0工具将评估板发送的图像进行显示。

Host# gst-launch-1.0 -v udpsrc port=50000 ! jpegparse ! jpegdec ! videoconvert ! xvimagesink sync=false

wKgZO2itVQeAW6-3AABd7eJRIdg125.png图?14

执行如下命令采集图像,经JPEG编码后,通过UDP协议发送至上位机。

参数"-m udp"设置运行模式为udp,"-a 192.168.13.66:50000"设置上位机IP地址和端口号。

Target# ./v4l2_enc_udp -m udp -c 0 -d /dev/video4 -F NV12 -i 720*480 -f 30 -a 192.168.13.66:50000

wKgZO2itVQ6ATnd7AAD2AglTMb8877.png图?15

此时,评估板程序运行成功后,上位机将会弹出gst-launch-1.0显示窗口并显示评估板发送的图像。

wKgZO2itVRaANdsxABcHOFCBE-E191.png图?16

案例编译

将案例src源码目录拷贝至Ubuntu工作目录下,进入源码目录,执行如下命令修改Rules.mk配置文件,将SDK_DIR路径修改为LinuxSDK开发包实际路径,将SDK_OUT_SYS路径修改为buildroot实际路径。

Host# vi Rules.mk

wKgZPGitVR2AWezsAABlarxUbhA421.png图?17

修改内容如下:

备注:若为eMMC配置评估板,请将路径"tlt113-evm-nand"修改为"tlt113-evm-emmc"。

SDK_DIR = /home/tronlong/T113/tina5.0_v1.0 //设置LinuxSDK包安装路径

SDK_OUT_SYS = $(SDK_DIR)/out/t113_i/tlt113-evm-nand/buildroot/buildroot/

wKgZPGitVSWAebGfAADAJA4umqM946.png图?18

修改完成,继续执行如下命令,使用LinuxSDK开发包目录下的GCC编译器进行案例编译,编译完成将会在同一个目录下生成可执行程序。

Host# make

wKgZO2itVS-AbiaKAALTQaBtEOY545.png图?19

关键代码

本案例src目录下为工程源文件,具体说明如下表所示。

wKgZO2itVTiAFbDBAAAiWkZ4uxw435.png

(1)解析命令行参数。

wKgZPGitVUGAeARfAAAWpLQPhbc369.png图?20?main.c

(2)编码模块初始化。

wKgZPGitVUiAA-BIAAEGQtjyVNA497.png图?21?main.c

(3)摄像头初始化。

wKgZPGitVVCAa8uRAAARnuTdHg0878.png图?22?main.c

(4)图像采集、编码、显示、保存和UDP发送。

wKgZO2itVVeAUmmSAADoQhpngUE914.png图?23?main.c

(5)释放资源。

wKgZPGitVV-AaUxEAAA2nXxYWs0069.png图?24?main.c


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5860

    浏览量

    107786
  • 评估板
    +关注

    关注

    1

    文章

    772

    浏览量

    30478
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国产T113-i Cortex-A7@1.2GHz 工业开发板—Linux系统使用手册(二)

    本文档详细介绍了T113开发板的Linux环境搭建与系统编译流程。主要内容包括:1)开发环境要求(Windows/VMware/Ubuntu版本);2)Linux SDK安装步骤(依赖软件安装、源码
    的头像 发表于 09-02 16:36 ?71次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—Linux系统使用手册(二)

    国产T113-i Cortex-A7@1.2GHz 工业开发板—ARM + FPGA通信案例

    本文主要介绍基于科技T113与FPGA的间通信案例,适用开发环境如下。
    的头像 发表于 08-19 11:16 ?257次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—ARM + FPGA通信案例

    国产T113-i Cortex-A7@1.2GHz 工业开发板—ARM + DSP、RISC-V间通信开发案

    本文档主要介绍T113-i处理器的ARM + DSP、RISC-V间通信开发案例,演示T113-i处理器ARM Cortex-A7与HiF
    的头像 发表于 08-18 14:03 ?204次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—ARM + DSP、RISC-V<b class='flag-5'>核</b>间通信<b class='flag-5'>开发案</b>例

    国产T113-i Cortex-A7@1.2GHz 工业开发板—RISC-V案例开发手册(上)

    本文档主要介绍T113-i处理器的RISC-V案例开发,演示RISC-V核心RTOS案例的编译与加载方法。适用开发环境如下。
    的头像 发表于 08-13 11:34 ?820次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—RISC-V案例<b class='flag-5'>开发</b>手册(上)

    国产T113-i Cortex-A7@1.2GHz 工业开发板—DSP案例开发手册

    本文档主要介绍T113-i处理器的HiFi4 DSP核心开发案例,演示HiFi4 DSP核心RTOS案例的工程编译、程序固化和工程调试的方法。适用开发环境如下。
    的头像 发表于 08-12 11:37 ?235次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—DSP案例<b class='flag-5'>开发</b>手册

    国产T113-i Cortex-A7@1.2GHz 工业开发板—物联网模块开发案例(上)

    本文档主要介绍基于TLT113-EVM评估的物联网模块开发案例。
    的头像 发表于 08-07 14:47 ?214次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—物联网模块<b class='flag-5'>开发案</b>例(上)

    【创龙TLT113-MiniEVM开发板试用体验】开箱评测

    T113-iCortex-A7@1.2GHz + 玄铁C906 RISC-V@1
    发表于 08-05 19:59

    国产T113-i Cortex-A7@1.2GHz 工业开发板—MQTT通信协议案例

    、Linux-RT-5.4.61 本文主要介绍创龙科技TLT113-EVM评估基于MQTT通信协议开发案例,主要包括mqtt_client案例和mqtt_sinewave_pub案例,位于产品资料“4-软件资料
    的头像 发表于 07-31 14:34 ?268次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—MQTT通信协议案例

    国产T113-i Cortex-A7@1.2GHz 工业开发板—LVGL应用开发案

    本文主要演示基于TLT113-EVM评估的LVGL官方案例以及应用开发案
    的头像 发表于 07-29 10:06 ?321次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b>  <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—LVGL应用<b class='flag-5'>开发案</b>例

    【正点原子】T113-i开发板资料震撼来袭!异开发、工控设计方案!

    、高可靠性、低成本和丰富的接口资源,适用于嵌入式系统开发T113-i芯片框架 一、T113IS开发板介绍 1、高性价比主控
    发表于 03-13 15:37

    实用调试技能:T113-i视频测试

    前言:音视频功能是现代嵌入式系统中的核心应用之一,尤其在T113-i开发板中,其丰富的音视频
    的头像 发表于 03-06 08:31 ?1794次阅读
    实用调试技能:<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> 音<b class='flag-5'>视频</b>测试

    哇!5.2秒进入应用界面!Linux快速启动方案分享,基于T113-i国产平台

    T113-i国产平台优势 T113-i处理器可运行Linux操作系统、Qt炫酷图形界面,并可支持1080P高清
    发表于 01-23 09:53

    T113-S3开发板网络通信

    电子EVM-T113-S3是一款基于T113-S3ARMCortex-
    的头像 发表于 12-26 08:32 ?1465次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-S3<b class='flag-5'>开发板</b>网络通信

    国产RISC-V案例分享,基于T113-i异构多核平台!

    RISC-V核心优势T113-i是一款Cortex-A7@1.2GHz
    发表于 10-29 09:47

    国产RISC-V基于T113-i异构多核平台

    T113-i是一款Cortex-A7@1.2GHz
    发表于 10-10 22:08