前言:
现在各位老铁们对“rtp061magnet”大约比较注意,朋友们都想要知道一些“rtp061magnet”的相关知识。那么小编在网上网罗了一些关于“rtp061magnet””的相关内容,希望看官们能喜欢,大家快快来了解一下吧!本文主要介绍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(边缘检测)算法处理,再将经过处理的图像在显示屏中实时显示。
程序工作流程框图如下所示:
由于本篇案例内容篇幅过长,分为三章分享,想要了解更多案例详情,欢迎内容查看更多,或是在下方评论区留言,即可获取更详细内容、案例源码。
标签: #rtp061magnet