Hey all,
I’ve been doing some research trying to get a camera I have working. This particular camera is only capable of MJPG pixel formatting. Is there any chance I can integrate it with the existing BlueROV2 software? I’ve read around the forum and it seems to be a common issue as Qground control apparently does not support anything other that h264 pixel formatting. Has anyone had success with MJPG formatting? Is there a known workaround? Or am I out of luck?
Yes it’s possible, the only problem is the encode that’ll be necessary to convert MJPG to H264.
This is an example of how to create a gstreamer pipeline from MJPG to H264.
If you are running on a raspbery I strongly suggest that you use the omx encoder, as it can use hardware encoding in the gpu. This won’t be enough to stream 1080p at any decent framerate, but you can tweak resolution and framerate and maybe get something acceptable.
You can get it with apt install gstreamer1.0-omx and then
Then replace x264enc with omxh264enc (you might need to tweak other things in the pipeline).
I’ve used this for streaming an analog thermal camera on another application, as the camera had a small resolution (around 640x480) and framerate (9 fps) the CPU usage was negligible.
@patrickelectric great! I’m having a slight issue with getting the images on the topside machine now here are my gstreamer parameters, can you see any issue? The error messages are pretty vague, “GLib.Error: gst_parse_error: could not link videoconvert0 to videoconvert1 (3)”
That did the trick, I also am looking into your earlier post. I installed omx and tired using omxh264enc and got the following “WARNING: erroneous pipeline: no element “omxh264enc””
Any idea what’s up? Did I drop the ball on the install?