04-10-2020, 01:11 AM
This is for OAP 6.1 but I will be retrying it on 7.0 later today.
Like most of the posts that are similar to this one, I am having trouble getting my reverse camera to display in OAP.
VLC is able to stream it just fine so I had to to some poking around.
I got the debug log and noticed this little gem
Picture: gst errors opening folders
It can't find the /dev/v4l2 folder because it doesn't exist. The actual location where v4l2 video device links are is /dev/v4l (without the "2").
Picture: no /dev/v4l2 exists
The text "/dev/video" doesn't appear anywhere this debug log. So it's clear gstreamer isn't looking for /dev/video0 specifically or any video inputs of the format /dev/video*.
When I create a symlink using "sudo ln -s /dev/v4l /dev/v4l2" so now there is a symlink folder /dev/v4l2 that is a symlink pointing to the actual folder /dev/v4l.
After making that change, the previous line is missing from the debug log and instead, later in the log, what is below appears.
So basically, it finds the camera just fine when I make this symlink addition because /dev/video0 is symlinked from inside /dev/v4l
However... this generates the new problem where when I do the following
When the app opens, sometimes I need to reenter the serial number and sometimes I don't.
Once OAP loads up and I try to look at the reverse camera feed in OAP, this generates the following in the terminal
If I change the backend from v4l2 to Finder I get this message instead
I'm so close to the solution... I can feel it.
What am I missing here?
Like most of the posts that are similar to this one, I am having trouble getting my reverse camera to display in OAP.
VLC is able to stream it just fine so I had to to some poking around.
I got the debug log and noticed this little gem
GST_PLUGIN_LOADING g_dir_open(/dev/v4l2) failed: Error opening directory “/dev/v4l2”: No such file or directory
Picture: gst errors opening folders
It can't find the /dev/v4l2 folder because it doesn't exist. The actual location where v4l2 video device links are is /dev/v4l (without the "2").
Picture: no /dev/v4l2 exists
The text "/dev/video" doesn't appear anywhere this debug log. So it's clear gstreamer isn't looking for /dev/video0 specifically or any video inputs of the format /dev/video*.
When I create a symlink using "sudo ln -s /dev/v4l /dev/v4l2" so now there is a symlink folder /dev/v4l2 that is a symlink pointing to the actual folder /dev/v4l.
After making that change, the previous line is missing from the debug log and instead, later in the log, what is below appears.
DEBUG GST_URI gsturi.c:637:gst_element_make_from_uri: uri:v4l2:///dev/video0, elementname:source
DEBUG GST_PLUGIN_LOADING gstpluginfeature.c:107:gst_plugin_feature_load:[00m loading plugin for feature 0x1026510; 'v4l2src'
DEBUG GST_PLUGIN_LOADING gstpluginfeature.c:111:gst_plugin_feature_load:loading plugin video4linux2
DEBUG GST_PLUGIN_LOADING gstplugin.c:1321:gst_plugin_load_by_name:looking up plugin video4linux2 in default registry
DEBUG GST_PLUGIN_LOADING gstplugin.c:1324:gst_plugin_load_by_name:loading plugin video4linux2 from file /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstvideo4linux2.so
DEBUG GST_PLUGIN_LOADING gstplugin.c:760:_priv_gst_plugin_load_file_for_registry:attempt to load plugin "/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstvideo4linux2.so"
DEBUG GST_ELEMENT_FACTORY gstelementfactory.c:224:gst_element_register:<registry0>update existing feature 0x1026510 (v4l2src)
DEBUG GST_ELEMENT_FACTORY gstelementfactory.c:224:gst_element_register:<registry0>update existing feature 0x10265a0 (v4l2sink)
DEBUG GST_ELEMENT_FACTORY gstelementfactory.c:224:gst_element_register:<registry0> update existing feature 0x1026630 (v4l2radio)
DEBUG GST_DEVICE_PROVIDER_FACTORY gstdeviceproviderfactory.c:191:gst_device_provider_register:<registry0> update existing feature 0xe68300 (v4l2deviceprovider)
So basically, it finds the camera just fine when I make this symlink addition because /dev/video0 is symlinked from inside /dev/v4l
However... this generates the new problem where when I do the following
pkill autoapp
export GST_DEBUG=*:5
autoapp
When the app opens, sometimes I need to reenter the serial number and sometimes I don't.
Once OAP loads up and I try to look at the reverse camera feed in OAP, this generates the following in the terminal
Error: "Device '/dev/video0' does not support progressive interlacing"
If I change the backend from v4l2 to Finder I get this message instead
CameraBin error: "Device '/dev/video0' does not support progressive interlacing"
I'm so close to the solution... I can feel it.
What am I missing here?