1. 前言
nvidia相机插件“nvv4l2camerasrc”目前只支持UYVY格式 然而使用的相机是GRAY8格式,
需要扩展nvv4l2camerasrc格式
2. 参考12_camera_v4l2_cuda
尝试运行样例来捕获帧,并将其移植到nvv4l2camerasrc插件 sample如下: /usr/src/jetson_multimedia_api/samples/12_camera_v4l2_cuda
3. 丢帧问题
目前能够使用' v4l2src ' gstreamer插件捕获帧。
但是性能有些问题,导致帧丢失。
已经确定帧丢失发生在我的管道的开始,所以基本上是在源。
希望通过使用' nvv4l2camerasrc '插件,可以利用NVMM缓冲区有一些性能提高,也能够增加v4l2设备在插件中使用的队列缓冲区大小。
(1)在运行中检查是否能达到目标帧数:
gst-launch-1.0 v4l2src ! video/x-raw,format=GRAY8,width=_W_,height=_H_,framerate=_FR_ ! nvvidconv ! video/x-raw(memory:NVMM),format=I420 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v
如果能在管道中获得足够的性能,可能不需要定制nvv4l2camerasrc。
自定义消除了一个从CPU缓冲区到NVMM缓冲区的内存副本。
如果想减少CPU负载,可以试一试。
(2)采集异常log