I am working with the VOXL2 and the FLIR Boson 640 camera. I have the FLIR connected via the Microhard expansion board. When using Gstreamer and the OMX encoder to stream camera data, the resolution of the video is fine on the first frame, but immediately degrades to a very poor quality. I have tried streaming multiple resolution settings, and tried using the voxl-streamer application as well.
Software encoding works fine for resolution but does not supply the proper latency for my application. OMX fails with the FLIR as well as a visual light camera I am using. Hoping to receive updates on the progress being made on getting the OMX hardware acceleration working properly.
@ComputerDev Yes, thanks, we will provide updates on this as work progresses.
@Eric-Katzfey Any updates on this matter?
@ComputerDev There are a couple of different approaches. The first is to figure out why the OMX encoder in GStreamer isn't performing well. This could be a simple matter of changing parameters or may require Qualcomm to address the issue. The second approach involves using QMMF directly. The source code is available here: https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/qmmf-sdk/-/tree/LE.UM.1.3.r4-06300-8x96.0
The QMMF codebase uses OMX and it is working. However, the Recorder class seems to be the only available API and it cannot be used with UVC cameras. It only works with the MIPI cameras. There is a nice OMX class in the QMMF codebase but there is currently no way to use it directly. I am in the process of creating a way to access that directly.
Thank you for the additional information.
While the OMX encoder is not currently working, are you aware of any resources on the VOXL2 that could allow me to stream low latency (<.25s) video data? Using GStreamer or FFMPEG or any other tools? Thanks.