924监管虚拟货币原文件
2023年07月22日 16:02
欧易okx交易所下载
欧易交易所又称欧易OKX,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。
本文主要介绍AM5728基于GStreamer的视频采集、编解码、算法处理、显示以及存储案例,其中包含tl-gst-v4l2-vpe-iva-udp案例、tl-gst-mjpeg-dec-edge案例、.tl-gst-rtsp-dec-edge案例与H.264视频流MP4格式转码方法等。
本次案例测试板卡为创龙科技TL5728F-EVM开发板,它是一款基于TI Sitara系列AM5728(双核ARM Cortex-A15 +浮点双核DSP C66x) + Xilinx Artix-7 FPGA处理器设计的高端异构多核评估板。
其中使用到AM5728开发板的ARM端为Cortex-A15_0核心,DSP端为DSP1核心,开发案例位于产品资料“4-软件资料\Demo\tl-video-demos\”目录下。开发案例中的bin目录存放可执行程序,src目录存放源码。
TL7611P模块(HDMI视频采集)
准备一台拥有VGA和HDMI接口的PC机(例如笔记本),并将VGA接口连接VGA显示屏。VGA显示屏作为主显示器用作测试工作使用。通过HMDI数据线将PC机HDMI接口连接模块HDMI接口,PC机HDMI接口用作HDMI信号输出。
在PC机的显卡设备中设置HDMI作为次显示屏,选择多屏显示栏目下的扩展桌面选项,并设置分辨率为1920 x 1080、刷新率为60pHz。
请按照上图进行硬件连接,评估板上电进入文件系统,依次执行如下命令加载模块动态设备树。
Target# mkdir /configfs //创建configfs文件夹,如已存在,则无需重复创建
Target# mount -t configfs configfs /configfs
Target# mkdir /configfs/device-tree/overlays/full //创建full目录,根据实际情况修改
Target# echo -n "tl5728-evm-vip-adv7611-overlay.dtbo" > /configfs/device-tree/overlays/full/path
执行如下脚本设置输出分辨率。
Target# ./adv7611.sh 4 //参数4指定驱动层面的I2C4,对应硬件为I2C5
display功能模式测试
执行如下命令采集视频流,并在显示屏中显示。可按“Ctrl+C”可终止程序运行。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# ./tl-gst-v4l2-vpe-iva-udp -m display -d /dev/video1 -i 1920*1080 -o 1920*1080
save功能模式测试
执行如下命令采集视频流,并将ducatih264enc插件编码生成的H.264视频流保存在当前目录下。
Target# ./tl-gst-v4l2-vpe-iva-udp -m save -d /dev/video1 -i 1920*1080 -o 1920*1080 -f test.264
由于ducatih264enc插件编码生成的H.264视频流只包含图像数据,但不包含时间戳,因此不能使用常用的视频播放器进行播放。可通过第三方工具FFmpeg将其转码为MP4格式,再使用常用视频播放器进行播放。具体方法请参考本文档H.264视频流MP4格式转码方法章节。
dis-save功能模式测试
执行如下命令采集视频流并在显示屏中显示,同时将ducatih264enc插件编码生成的H.264视频流保存在当前目录下。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# ./tl-gst-v4l2-vpe-iva-udp -m dis-save -d /dev/video1 -i 1920*1080 -o 1920*1080 -f test.264
udp功能模式测试
使用udp功能模式时,测试方法有如下三种。
表 9
测试设备 | 发送端 | 接收端 | 硬件连接 |
一块评估板 | 评估板A | 评估板A | 使用网线将评估板网口RGMII0 ETH连接到路由器,进行本地网络回环测试 |
两块评估板 | 评估板A | 评估板B | 使用网线将两块评估板网口RGMII0 ETH连接到同一个路由器 |
评估板+上位机(Ubuntu) | 评估板A | 上位机(Ubuntu) | 使用网线将评估板网口RGMII0 ETH、上位机网口连接到同一个路由器 |
发送端
请在发送端执行如下命令采集视频,同时进行H.264编码并通过UDP网络将视频流传输到接收端。192.168.0.99为接收端IP地址,8080为端口号,请根据实际情况修改。
Target# ./tl-gst-v4l2-vpe-iva-udp -m udp -d /dev/video1 -i 1920*1080 -o 1920*1080 -a 192.168.0.99:8080
接收端
使用一块评估板或两块评估板方时,请在接收端执行如下命令通过UDP网络接收视频流,同时进行解码与显示。显示分辨率可根据实际情况修改,注意端口号需与发送端保持一致。
使用一块评估板方式时,需先运行接收进程,再运行发送进程。可在命令后添加&符号使进程在后台运行,或通过OpenSSH等方式启用第二个命令行终端运行进程。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# gst-launch-1.0 -v udpsrc port=8080 ! 'application/x-rtp,media=(string)video,payload=(int)96' ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw,format=(string)NV12, width=1920,height=1080,framerate=30/1' ! kmssink sync=false
使用评估板+上位机(Ubuntu)方式时,请在接收端执行如下命令通过UDP网络接收视频流,同时进行解码与显示。注意端口号需与发送端保持一致。
Host# gst-launch-1.0 -v udpsrc port=8080 ! 'application/x-rtp,media=(string)video,payload=(int)96' ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! ximagesink sync=false
TL-VPortP模块(CMOS摄像头)
请按照上图进行硬件连接,评估板上电进入文件系统,依次执行如下命令。
Target# devmem2 0x4A003698 w 0x0001000E //配置xref_clk1复用为GPIO6_18
Target# echo 178 > /sys/class/gpio/export //通过导出GPIO6_18设备节点目录
Target# echo out > /sys/class/gpio/gpio178/direction //配置GPIO6_18为输出
Target# echo 0 > /sys/class/gpio/gpio178/value //配置GPIO6_18输出低电平
依次执行如下命令加载模块动态设备树。
Target# mkdir /configfs //创建configfs文件夹,如已存在,则无需重复创建
Target# mount -t configfs configfs /configfs
Target# mkdir /configfs/device-tree/overlays/full //创建full目录,根据实际情况修改
Target# echo -n "tl5728-evm-vip-ov5640-overlay.dtbo" > /configfs/device-tree/overlays/full/path
display功能模式测试
执行如下命令采集视频流,并在显示屏中显示。可按“Ctrl + C”可终止程序运行。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# ./tl-gst-v4l2-vpe-iva-udp -m display -d /dev/video1 -i 1920*1080 -o 1920*1080
save功能模式测试
执行如下命令采集视频流,并将ducatih264enc插件编码生成的H.264视频流保存在当前目录下。
Target# ./tl-gst-v4l2-vpe-iva-udp -m save -d /dev/video1 -i 1920*1080 -o 1920*1080 -f test.264
由于ducatih264enc插件编码生成的H.264视频流只包含图像数据,但不包含时间戳,因此不能使用常用的视频播放器进行播放。可通过第三方工具FFmpeg将其转码为MP4格式,再使用常用视频播放器进行播放。具体方法请参考本文档H.264视频流MP4格式转码方法章节。
dis-save功能模式测试
执行如下命令采集视频流并在显示屏中显示,同时将ducatih264enc插件编码生成的H.264视频流保存在当前目录下。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# ./tl-gst-v4l2-vpe-iva-udp -m dis-save -d /dev/video1 -i 1920*1080 -o 1920*1080 -f test.264
udp功能模式测试
使用udp功能模式时,测试方法有如下三种。
表 10
测试设备 | 发送端 | 接收端 | 硬件连接 |
一块评估板 | 评估板A | 评估板A | 使用网线将评估板网口RGMII0 ETH连接到路由器,进行本地网络回环测试 |
两块评估板 | 评估板A | 评估板B | 使用网线将两块评估板网口RGMII0 ETH连接到同一个路由器 |
评估板+上位机(Ubuntu) | 评估板A | 上位机(Ubuntu) | 使用网线将评估板网口RGMII0 ETH、上位机网口连接到同一个路由器 |
发送端
请在发送端执行如下命令采集视频,同时进行H.264编码并通过UDP网络将视频流传输到接收端。192.168.0.99为接收端IP地址,8080为端口号,请根据实际情况修改。
Target# ./tl-gst-v4l2-vpe-iva-udp -m udp -d /dev/video1 -i 1920*1080 -o 1920*1080 -a 192.168.0.99:8080
接收端
使用一块评估板或两块评估板方时,请在接收端执行如下命令通过UDP网络接收视频流,同时进行解码与显示。显示分辨率可根据实际情况修改,注意端口号需与发送端保持一致。
使用一块评估板方式时,需先运行接收进程,再运行发送进程。可在命令后添加&符号使进程在后台运行,或通过OpenSSH等方式启用第二个命令行终端运行进程。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# gst-launch-1.0 -v udpsrc port=8080 ! 'application/x-rtp,media=(string)video,payload=(int)96' ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw,format=(string)NV12, width=1920,height=1080,framerate=30/1' ! kmssink sync=false
使用评估板+上位机(Ubuntu)方式时,请在接收端执行如下命令通过UDP网络接收视频流,同时进行解码与显示。注意端口号需与发送端保持一致。
Host# gst-launch-1.0 -v udpsrc port=8080 ! 'application/x-rtp,media=(string)video,payload=(int)96' ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! ximagesink sync=false
时延测试
时延测试方法:使用模块采集PC机显示屏的在线秒表图像,经过AM5728处理后再将图像进行显示。PC机显示画面与评估板显示画面的时间差,即为时延。进行多次测试,时延结果取其平均值。
ZH5640-MIC-001(USB CMOS摄像头)
表 11 display功能模式测试结果
序号 | 评估板显示画面 | PC机显示画面 | 时延(ms) |
1 | 00:01:02.629 | 00:01:02.844 | 215 |
2 | 00:02:02.823 | 00:02:03.038 | 215 |
3 | 00:03:05.404 | 00:03:05.706 | 302 |
4 | 00:04:07.984 | 00:04:08.113 | 129 |
5 | 00:05:08.177 | 00:05:08.392 | 215 |
平均值 | / | / | 222 |
表 12 dis-save功能模式测试结果
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:07.487 | 00:01:07.745 | 258 |
2 | 00:02:09.632 | 00:02:09.939 | 307 |
3 | 00:03:02.089 | 00:03:02.347 | 258 |
4 | 00:04:07.421 | 00:04:07.636 | 215 |
5 | 00:05:04.001 | 00:05:04.173 | 172 |
平均值 | / | / | 248 |
表 13 udp功能模式测试结果(接收端:评估板)
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:02.163 | 00:01:02.765 | 602 |
2 | 00:02:04.579 | 00:02:05.087 | 508 |
3 | 00:03:07.832 | 00:03:08.441 | 609 |
4 | 00:04:08.904 | 00:04:09.505 | 601 |
5 | 00:05:01.924 | 00:05:02.526 | 602 |
平均值 | / | / | 585 |
表 14 udp功能模式测试结果(接收端:上位机)
序号 | 上位机显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:03.655 | 00:01:04.300 | 645 |
2 | 00:02:08.819 | 00:02:09.503 | 684 |
3 | 00:03:01.052 | 00:03:01.569 | 517 |
4 | 00:04:02.953 | 00:04:03.592 | 639 |
5 | 00:05:04.707 | 00:05:05.395 | 688 |
平均值 | / | / | 635 |
TL5158P模块(4路D1视频采集)
表 15 display功能模式测试结果
序号 | 评估板显示画面 | PC机显示画面 | 时延(ms) |
1 | 00:01:07.368 | 00:01:07.496 | 128 |
2 | 00:02:02.528 | 00:02:03.574 | 46 |
3 | 00:03:04.688 | 00:03:04.807 | 119 |
4 | 00:04:07.567 | 00:04:08.658 | 91 |
5 | 00:05:08.626 | 00:05:08.714 | 88 |
平均值 | / | / | 95 |
表 16 dis-save功能模式测试结果
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:08.024 | 00:01:08.167 | 143 |
2 | 00:02:00.660 | 00:02:00.746 | 86 |
3 | 00:03:03.073 | 00:03:03.197 | 124 |
4 | 00:04:05.661 | 00:04:05.734 | 73 |
5 | 00:05:04.035 | 00:05:04.120 | 85 |
平均值 | / | / | 103 |
表 17 udp功能模式测试结果(接收端:评估板)
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:08.189 | 00:01:08.576 | 387 |
2 | 00:02:03.071 | 00:02:03.459 | 388 |
3 | 00:03:09.374 | 00:03:09.804 | 430 |
4 | 00:04:04.428 | 00:04:04.859 | 431 |
5 | 00:05:05.142 | 00:05:05.528 | 386 |
平均值 | / | / | 405 |
表 18 udp功能模式测试结果(接收端:上位机)
序号 | 上位机显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:06.288 | 00:01:05.987 | 301 |
2 | 00:02:02.955 | 00:02:02.653 | 302 |
3 | 00:03:08.587 | 00:03:08.285 | 302 |
4 | 00:04:02.757 | 00:04:02.457 | 300 |
5 | 00:05:08.090 | 00:05:07.789 | 301 |
平均值 | / | / | 301 |
TL7002P模块(VGA视频采集)
表 19 display功能模式测试结果
序号 | 评估板显示画面 | PC机显示画面 | 时延(ms) |
1 | 00:01:04.252 | 00:01:04.295 | 43 |
2 | 00:02:06.143 | 00:02:06.186 | 43 |
3 | 00:03:07.906 | 00:03:07.949 | 43 |
4 | 00:04:09.755 | 00:04:09.798 | 43 |
5 | 00:05:09.559 | 00:05:09.602 | 43 |
平均值 | / | / | 43 |
表 20 dis-save功能模式测试结果
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:03.707 | 00:01:03.750 | 43 |
2 | 00:02:06.201 | 00:02:06.244 | 43 |
3 | 00:03:08.437 | 00:03:08.480 | 43 |
4 | 00:04:00.888 | 00:04:00.931 | 43 |
5 | 00:05:05.681 | 00:05:05.724 | 43 |
平均值 | / | / | 43 |
表 21 udp功能模式测试结果(接收端:评估板)
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:03.798 | 00:01:04.144 | 346 |
2 | 00:02:09.327 | 00:02:09.629 | 302 |
3 | 00:03:06.190 | 00:03:06.490 | 300 |
4 | 00:04:01.373 | 00:04:01.716 | 343 |
5 | 00:05:06.042 | 00:05:06.385 | 343 |
平均值 | / | / | 327 |
表 22 udp功能模式测试结果(接收端:上位机)
序号 | 上位机显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:07.913 | 00:01:08.042 | 129 |
2 | 00:02:00.235 | 00:02:00.364 | 129 |
3 | 00:03:02.558 | 00:03:02.686 | 128 |
4 | 00:04:04.363 | 00:04:04.492 | 129 |
5 | 00:05:06.385 | 00:05:06.557 | 172 |
平均值 | / | / | 138 |
TL7601P模块(HD-SDI视频采集)
表 23 display功能模式测试结果
序号 | 评估板显示画面 | PC机显示画面 | 时延(ms) |
1 | 00:01:04.093 | 00:01:04.179 | 86 |
2 | 00:02:06.870 | 00:02:06.912 | 42 |
3 | 00:03:04.719 | 00:03:04.805 | 86 |
4 | 00:04:02.870 | 00:04:02.912 | 42 |
5 | 00:05:09.774 | 00:05:09.816 | 42 |
平均值 | / | / | 60 |
表 24 dis-save功能模式测试结果
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:05.693 | 00:01:05.736 | 43 |
2 | 00:02:01.287 | 00:02:01.373 | 86 |
3 | 00:03:05.998 | 00:03:06.042 | 44 |
4 | 00:04:02.128 | 00:04:02.215 | 87 |
5 | 00:05:08.774 | 00:05:08.817 | 43 |
平均值 | / | / | 61 |
表 25 udp功能模式测试结果(接收端:评估板)
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:02.596 | 00:01:02.985 | 389 |
2 | 00:02:06.143 | 00:02:06.533 | 390 |
3 | 00:03:01.674 | 00:03:02.061 | 387 |
4 | 00:04:07.160 | 00:04:07.545 | 385 |
5 | 00:05:02.600 | 00:05:02.988 | 388 |
平均值 | / | / | 388 |
表 26 udp功能模式测试结果(接收端:上位机)
序号 | 上位机显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:05.210 | 00:01:05.467 | 257 |
2 | 00:02:09.878 | 00:02:00.134 | 256 |
3 | 00:03:06.696 | 00:03:06.997 | 301 |
4 | 00:04:02.524 | 00:04:02.783 | 259 |
5 | 00:05:01.674 | 00:05:01.974 | 300 |
平均值 | / | / | 275 |
TL7611P模块(HDMI视频采集)
表 27 display功能模式测试结果
序号 | 评估板显示画面 | PC机显示画面 | 时延(ms) |
1 | 00:01:02.588 | 00:01:02.631 | 43 |
2 | 00:02:07.834 | 00:02:07.877 | 43 |
3 | 00:03:00.371 | 00:03:00.414 | 43 |
4 | 00:04:02.607 | 00:04:02.650 | 43 |
5 | 00:05:04.629 | 00:05:04.672 | 43 |
平均值 | / | / | 43 |
表 28 dis-save功能模式测试结果
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:06.281 | 00:01:06.323 | 42 |
2 | 00:02:08.689 | 00:02:08.731 | 42 |
3 | 00:03:01.225 | 00:03:01.268 | 43 |
4 | 00:04:03.720 | 00:04:03.763 | 43 |
5 | 00:05:05.741 | 00:05:05.784 | 43 |
平均值 | / | / | 43 |
表 29 udp功能模式测试结果(接收端:评估板)
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:05.070 | 00:01:05.242 | 172 |
2 | 00:02:07.263 | 00:02:07.435 | 172 |
3 | 00:03:09.542 | 00:03:09.714 | 172 |
4 | 00:04:03.713 | 00:04:03.885 | 172 |
5 | 00:05:05.949 | 00:05:06.078 | 129 |
平均值 | / | / | 164 |
表 30 udp功能模式测试结果(接收端:上位机)
序号 | 上位机显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:01.611 | 00:01:01.998 | 387 |
2 | 00:02:07.716 | 00:02:08.017 | 301 |
3 | 00:03:00.511 | 00:03:00.855 | 344 |
4 | 00:04:08.640 | 00:04:08.941 | 301 |
5 | 00:05:01.392 | 00:05:01.693 | 301 |
平均值 | / | / | 327 |
TL-VPortP模块(CMOS摄像头)
表 31 display功能模式测试结果
序号 | 评估板显示画面 | PC机显示画面 | 时延(ms) |
1 | 00:01:09.375 | 00:01:09.550 | 175 |
2 | 00:02:04.879 | 00:02:05.093 | 214 |
3 | 00:03:07.414 | 00:03:07.55 | 141 |
4 | 00:04:09.564 | 00:04:09.778 | 214 |
5 | 00:05:01.844 | 00:05:02.069 | 225 |
平均值 | / | / | 193 |
表 32 dis-save功能模式测试结果
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:06.562 | 00:01:06.693 | 131 |
2 | 00:02:09.357 | 00:02:09.620 | 263 |
3 | 00:03:02.195 | 00:03:02.327 | 132 |
4 | 00:04:05.334 | 00:04:05.555 | 224 |
5 | 00:05:07.191 | 00:05:07.403 | 212 |
平均值 | / | / | 191 |
表 33 udp功能模式测试结果(接收端:评估板)
序号 | 评估板显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:00.956 | 00:01:01.300 | 344 |
2 | 00:02:06.398 | 00:02:06.742 | 344 |
3 | 00:03:01.580 | 00:03:02.061 | 481 |
4 | 00:04:07.804 | 00:04:08.236 | 432 |
5 | 00:05:09.636 | 00:05:10.021 | 385 |
平均值 | / | / | 398 |
表 34 udp功能模式测试结果(接收端:上位机)
序号 | 上位机显示界面 | PC机显示界面 | 时延(ms) |
1 | 00:01:00.667 | 00:01:01.013 | 346 |
2 | 00:02:02.946 | 00:02:03.293 | 347 |
3 | 00:03:05.062 | 00:03:05.398 | 336 |
4 | 00:04:07.375 | 00:04:07.769 | 394 |
5 | 00:05:09.655 | 00:05:00.084 | 429 |
平均值 | / | / | 370 |
案例解析
GStreamer管道示意图
图 94 display功能模式
图 95 save功能模式
图 96 dis-save功能模式
图 97 udp功能模式
关键代码说明
- 初始化GStreamer,创建Pipeline。
创建Pipeline组件并初始化。
检查组件初始化情况。
配置各组件参数。
链接组件到Pipeline。
使能Pipeline。
停止Pipeline,并释放GStreamer。
计时线程。
案例编译
将该案例的src目录拷贝至Ubuntu工作目录,进入src源码目录执行如下命令加载Linux Processor SDK环境变量。
Host# source /home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/environment-setup
执行make命令进行案例编译。编译完成后,将在当前目录生成可执行文件tl-gst-v4l2-vpe-iva-udp。
Host# make
tl-gst-mjpeg-dec-edge案例
案例说明
本案例使用GStreamer API通过ARM端从USB摄像头获取MJPEG格式视频流,并调用IVA-HD将视频硬件解码为NV12格式,然后通过OpenCL调用DSP端对NV12格式图像进行Sobel(边缘检测)算法处理,再将经过处理的图像在显示屏中实时显示,同时每隔1s将最新的原始图像以及经过处理的图像保存到本地存储文件中。
程序工作流程框图如下所示:
图 111
案例测试
请按照上图进行硬件连接,评估板上电进入文件系统,执行如下命令可查看摄像头设备节点为video1。
Target# ls -l /sys/class/video4linux/video*
请将该案例bin目录下的tl-v4l2-capture、tl-gst-mjpeg-dec-edge文件拷贝至评估板文件系统中。在tl-v4l2-capture文件所在目录下执行如下命令查询摄像头的分辨率、帧率、图像格式等参数。
Target# ./tl-v4l2-capture -m list -d /dev/video1 -t usb
在tl-gst-mjpeg-dec-edge文件所在目录下,执行如下命令查询tl-gst-mjpeg-dec-edge程序参数说明,具体如下表。
Target# ./tl-gst-mjpeg-dec-edge -h
表 35
参数 | 解析 |
-d | 视频设备节点 |
-i | 输入视频分辨率 |
-r | 输入视频帧率 |
-f | 文件保存路径设置 |
执行如下命令采集视频流进行Sobel(边缘检测)算法处理,再将经过处理的图像在显示屏中实时显示,并将图像保存至eMMC的rootfs分区的“/home/root/”目录,并将test作为前缀生成test-raw.yuv图像源文件以及经过处理的图像文件test-sobel.yuv。保存路径可根据实际情况修改。
Target# /etc/init.d/matrix-gui-2.0 stop //关闭Matrix界面
Target# /etc/init.d/weston stop //关闭Weston窗口系统
Target# ./tl-gst-mjpeg-dec-edge -d /dev/video1 -i 1920*1080 -r 15 -f /run/media/mmcblk1p2/home/root/test
从上图可看到图像处理平均耗时约为12.01ms,图像采集帧率为15fps,图像处理帧率为15fps。Sobel(边缘检测)算法处理效果图如下所示。
保存的两个文件可在Windows下使用bin目录下的YUV Player工具进行查看,请按照如下图示进行操作。
时延测试
时延测试方法:使用评估板的外接摄像头采集PC机显示屏的在线秒表图像,经过AM5728处理后再将图像进行显示。PC机显示画面与评估板显示画面的时间差,即为时延。进行多次测试,时延结果取其平均值。
表 36
序号 | 评估板画面显示 | PC机画面显示 | 时延(ms) |
1 | 00:01:09.552 | 00:01:09.810 | 258 |
2 | 00:02:02.304 | 00:02:02.648 | 344 |
3 | 00:03:07.121 | 00:03:07.421 | 300 |
4 | 00:04:09.915 | 00:04:00.173 | 258 |
5 | 00:05:02.540 | 00:05:02.841 | 301 |
平均值 | / | / | 348 |
案例解析
GStreamer管道示意图
管道命令示例如下。如下命令仅作示例,不能在终端直接运行。
Appsink: gst-launch-1.0 v4l2src device=/dev/video1 ! 'image/jpeg, width=1920, height=1080, framerate = 30/1' ! ducatijpegdec ! appsink emit-signals=true, sync=false
Appsrc: gst-launch-1.0 appsrc ! 'video/x-raw, format=YV12, width=1920, height=1080, framerate=30/1' ! stream-type=0, format=time ! videoconvert ! kmssink sync=false, scale=false
关键代码说明
初始化GStreamer,创建Pipeline。
创建GStreamer组件并初始化,再检查组件初始化情况。
配置各组件参数。
链接组件到Pipeline。
创建Pipeline状态检测函数,改变Pipeline状态为playing。
停止Pipeline,并释放GStreamer。
当appsink Pipeline获取一帧图像后,将触发cb_new_appsink_sample回调函数。回调函数获取从编解码器得到的数据,如果有数据正在进行算法处理,则这部分数据不进行处理,否则交由DSP端进行算法处理。
图像处理线程(ocl_thread)中,通过OpenCL将Sobel(边缘检测)算法加载至DSP端中,并将经过处理的图像数据发送至appsrc pipeline。
时间线程(timing_thread)中,以秒为单位,统计程序运行时间,设置保存标志位,使ocl_thread保存图像数据,输出图像处理平均耗时、图像采集与处理帧率。
案例编译
将该案例的src目录拷贝至Ubuntu工作目录,进入src源码目录执行如下命令加载Linux Processor SDK环境变量。
Host# source /home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/environment-setup
执行make命令进行编译。
Host# make
编译完成后,将在当前目录生成可执行文件tl-gst-mjpeg-dec-edge。
tl-gst-rtsp-dec-edge案例
案例说明
本案例使用GStreamer API通过ARM端从网络摄像头获取视频流数据,并调用IVA-HD将视频硬件解码为NV12格式,然后通过OpenCL调用DSP端对NV12格式图像进行Sobel(边缘检测)算法处理,再将经过处理的图像在显示屏中实时显示。
程序工作流程框图如下所示:
由于本篇案例内容篇幅过长,分为三章分享,想要了解更多案例详情,欢迎内容查看更多,或是在下方评论区留言,即可获取更详细内容、案例源码。
推荐阅读
-
国际虚拟货币投资人(国家对虚拟币从业人员怎么定罪)
1970-01-01
Target# ./tl-gst-mjpeg-dec-edge -h图 115表 35参数解析-d视频设备节点-i输入视...
-
虚拟币平台怎么下载的 虚拟币平台怎么下载的啊
1970-01-01
Target# ./tl-gst-mjpeg-dec-edge -h图 115表 35参数解析-d视频设备节点-i输入视...
-
花火虚拟货币?神机花火泽丽炫彩如何获得
1970-01-01
Target# ./tl-gst-mjpeg-dec-edge -h图 115表 35参数解析-d视频设备节点-i输入视...
-
虚拟数字货币内容有哪些(虚拟数字货币内容有哪些呢)
1970-01-01
Target# ./tl-gst-mjpeg-dec-edge -h图 115表 35参数解析-d视频设备节点-i输入视...
-
虚拟货币网站建设(正规的虚拟币交易平台怎么判断)
1970-01-01
Target# ./tl-gst-mjpeg-dec-edge -h图 115表 35参数解析-d视频设备节点-i输入视...
-
虚拟数字货币2022(虚拟数字货币)
1970-01-01
Target# ./tl-gst-mjpeg-dec-edge -h图 115表 35参数解析-d视频设备节点-i输入视...