camera - Gstreamer - 示踪子系统 - 如何解释这些措施?
问题描述
我正在学习 Gstreamer。我正在尝试使用 Tracer 子系统,但我不知道如何解释测量结果。
数据:
- 树莓派 3
- 树莓派克星
- 树莓相机模块 V2
- gstreamer,版本 1.17.1
- 捕获数据:Motion-JPEG、426x240、15 fps 和 429000 bps 比特率
管道 1:
/opt/vc/bin/raspivid -t 60000 -cd MJPEG -w 426 -h 240 -fps 15 -b 429000 -vf -hf \
-o - | GST_DEBUG="GST_TRACER:7" GST_DEBUG_FILE=240.log GST_TRACERS="latency(flags=pipeline+element+reported)" \
gst-launch-1.0 -v fdsrc do-timestamp=true ! \
"image/jpeg,width=426,height=240,framerate=15/1,payload=(int)26" ! \
jpegparse ! rtpjpegpay ! \
udpsink port=13000 host=192.168.1.111 && gst-stats-1.0 240.log
测量(管道 1):
Latency Statistics:
0x20340f0.fdsrc0.src|0x20ff150.udpsink0.sink: mean=0:00:00.001291400 min=0:00:00.000751041 max=0:00:00.007009887
Element Latency Statistics:
0x21040f0.capsfilter0.src: mean=0:00:00.000236961 min=0:00:00.000096875 max=0:00:00.000554530
0x20ec2d0.jpegparse0.src: mean=0:00:00.000558282 min=0:00:00.000346250 max=0:00:00.006139732
0x20f80b8.rtpjpegpay0.src: mean=0:00:00.000458047 min=0:00:00.000248542 max=0:00:00.004859044
Element Reported Latency:
0x20340f0.fdsrc0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.644349393
0x21040f0.capsfilter0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.644468508
0x20ec2d0.jpegparse0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.644528403
0x20f80b8.rtpjpegpay0: min=0:00:00.000000000 max=99:99:99.999999999 ts=0:00:00.644595383
管道 2(rpicamsrc):
GST_DEBUG="GST_TRACER:7" GST_DEBUG_FILE=240p.log GST_TRACERS="latency(flags=pipeline+element+reported)" \
gst-launch-1.0 rpicamsrc preview=0 rotation=180 bitrate=4429000 ! \
image/jpeg,width=1270, height=720,framerate=30 ! \
jpegparse ! rtpjpegpay ! port=13000 host=192.168.1.111 && gst-stats-1.0 240p.log
测量(管道 2):
Latency Statistics:
0x485738.rpicamsrc0.src|0x550e98.udpsink0.sink: mean=0:00:00.002029413 min=0:00:00.000996300 max=0:00:00.007922902
Element Latency Statistics:
0x556118.capsfilter0.src: mean=0:00:00.000220204 min=0:00:00.000116354 max=0:00:00.000882290
0x53c2e8.jpegparse0.src: mean=0:00:00.000840342 min=0:00:00.000421510 max=0:00:00.006688112
0x54a0c8.rtpjpegpay0.src: mean=0:00:00.000968794 min=0:00:00.000458436 max=0:00:00.006141604
Element Reported Latency:
0x485738.rpicamsrc0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.473207970
0x556118.capsfilter0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.473302137
0x53c2e8.jpegparse0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.473359064
0x54a0c8.rtpjpegpay0: min=0:00:00.000000000 max=0:00:00.000000000 ts=0:00:00.473419220
我知道在第一个管道中,从相机接收数据流需要644.3 毫秒,而在第二个管道中需要473.2 毫秒。
这种对数据的解释是否正确?如果是这样,为什么需要这么长时间才能获得流量?
干杯。
解决方案
推荐阅读
- scala - 优化 Spark scala 上的 where 请求
- c# - 将字符串拆分为两个数组C#
- asp.net-core-mvc - 如何在 MVC 项目中从弃用的 Google+ 登录 API 迁移到新的 Google 身份平台?
- python - 使用缩小的公平窗口迭代数组
- python - 合并通道导致opencv中的人工制品
- java - 使用 JacksonXML 将对象映射到子类
- python-3.x - 从蒙版和 RGB 图像中裁剪对象
- javascript - 从文档中获取 HtmlElement
- python - Python 除外错误(多个错误)
- php - 创建时间线 Laravel