Issues Streaming and Taking Snapshots Simultaneously with OV64B on VOXL2 (Hadron 640 Setup)
-
Hi,
I'm working with a VOXL2 and the FLIR Hadron 640 camera, and I'm trying to stream video from the OV64B sensor while taking snapshots at the same time.Initially, I attempted to use "en_preview": true along with "en_snapshot": true, but that configuration did not allow me to stream video. I assumed it might be a resolution constraint, so I modified the configuration to use "en_small_video": true and "en_snapshot": true instead.
Now I can stream video, and when I enter the following command:
voxl2:/data/snapshots$ voxl-send-command hires_snapshot
Successfully sent command to /run/mpa/hires_snapshot/control
In the voxl-camera-server terminal, I receive this error:
ERROR: Camera: hires got unknown Command:
However, when I enter:
voxl2:/data/snapshots$ voxl-send-command hires_snapshot snapshot-no-save
Successfully sent command to /run/mpa/hires_snapshot/control
The camera server shows:
------ voxl-camera-server: Camera server is now running
Camera: hires taking snapshot for pipe only (not saving it)
But I’m unable to access the snapshot data, even after running adb pull.
My Questions:
Is it possible to stream and take snapshots simultaneously on the OV64B?What does the error message “Camera: hires got unknown Command” mean?
How can I access the output of snapshot-no-save if it's not being saved to disk?
Thanks in advance for your help!
Below is my camera config code:
{
"version": 0.1,
"fsync_en": false,
"fsync_gpio": 109,
"cameras": [
{
"type": "boson",
"name": "boson",
"enabled": true,
"camera_id": 0,
"fps": 30,
"en_preview": true,
"en_misp": false,
"preview_width": 640,
"preview_height": 512,
"en_raw_preview": true,
"en_small_video": false,
"en_large_video": false,
"ae_mode": "off"
},
{
"type": "ov64b",
"name": "hires",
"enabled": true,
"camera_id": 1,
"fps": 15,
"en_preview": false,
"en_misp": false,
"preview_width": 1920,
"preview_height": 1080,
"en_raw_preview": false,
"en_small_video": true,
"small_video_width": 1024,
"small_video_height": 768,
"small_venc_mode": "h265",
"en_large_video": false,
"small_venc_br_ctrl": "cqp",
"small_venc_Qfixed": 30,
"small_venc_Qmin": 15,
"small_venc_Qmax": 40,
"small_venc_nPframes": 9,
"small_venc_mbps": 2,
"en_snapshot": true,
"en_snapshot_width": 1920,
"en_snapshot_height": 1080,
"ae_mode": "isp",
"gain_min": 54,
"gain_max": 32000
}
]
} -
When you use
voxl-send-command
, the format of the arguments is as follows:voxl-send-command <image-pipe-name> <command>
, so when you runvoxl-send-command hires_snapshot
, you are sending an empty command to the pipehires_snapshot
. The correct usage would be:voxl-send-command hires_snapshot snapshot
Please try it.
Alex
-
@Alex-Kushleyev thank you! It works now.