主题中讨论的其他器件:AM62P
工具与软件:
大家好、专家:
使用 gstreamer 时、我发现 v4l2src 和 v4l2h265enc 占用了大量内存、是否有办法减少这两个节点的内存使用、也许两个节点内部缓存了多个视频帧。
这是我的完整流水线:
gst-launch-1.0 v4l2src device=/dev/video4 io-mode=4 name=appsrc_track2! capsfilter caps="video/x-raw、width=(int) 1920、height=(int) 1536、format=(string) UYVY、frameerate=(fractional) 25/1、 colorimetry=(string)bt709;"! v4l2h265enc output-io-mode=5 extra-controls="控制、prepend_sps_and_pps_to_idr=(int) 1、FRAME_LEVEL_RATE_CONTROL_ENABLE=(int) 1、video_bitrate=(int) 8000000、video_gop_size=(int) 25;"! appsink max-buffers=1 dropp=true name=appsink_track2
这是流水线运行后的存储器屏幕截图
这是电路板刚通电时的存储器快照:

这是测试 v4l2src 的存储器屏幕截图、测试流水线为:
gst-launch-1.0 v4l2src device=/dev/video4 io-mode=4 name=appsrc_track2! capsfilter caps="video/x-raw、width=(int) 1920、height=(int) 1536、format=(string) UYVY、frameerate=(fractional) 25/1、 colorimetry=(string)bt709;"! 链接

这是测试 v4l2h265enc 的存储器屏幕截图、测试流水线为:
gst-launch-1.0 v4l2src device=/dev/video4 io-mode=4 name=appsrc_track2! capsfilter caps="video/x-raw、width=(int) 1920、height=(int) 1536、format=(string) UYVY、frameerate=(fractional) 25/1、 colorimetry=(string)bt709;"! v4l2h265enc output-io-mode=5 extra-controls="控制、prepend_sps_and_pps_to_idr=(int) 1、FRAME_LEVEL_RATE_CONTROL_ENABLE=(int) 1、video_bitrate=(int) 8000000、video_gop_size=(int) 25;"! 链接

从这些内存屏幕截图中我们可以看到 v4l2h265enc 和 v4l2src 占用了大量内存(CMA)、是否有办法设置这两个节点的缓冲区队列数?






