Hello Qualcomm RB5 Community,
I am currently working on a project where I am trying to integrate the RB5 onboard cameras with an open-source framework to stream real-time video to a Python Tornado web server. However, I've encountered an issue with setting up the GStreamer pipeline for the camera stream.
When I try to run my application, I receive the following error message:
cfg.CAMERA_TYPE RB5_CAMERA
INFO:__main__:cfg.CAMERA_TYPE RB5_CAMERA
gbm_create_device(192): Info: backend name is: msm_drm
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (713) open OpenCV | GStreamer warning: Error opening bin: could not link videoconvert0 to appsink0, videoconvert0 can't handle caps video/x-raw, format=(string)BGR
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
Traceback (most recent call last):
File "manage.py", line 1146, in <module>
drive(cfg, model_path=args['--model'], use_joystick=args['--js'],
File "manage.py", line 104, in drive
add_camera(V, cfg, camera_type)
File "manage.py", line 884, in add_camera
cam = get_camera(cfg)
File "manage.py", line 825, in get_camera
cam = RB5Camera(camera_index=cfg.CAMERA_INDEX, capture_width=cfg.IMAGE_W, capture_height=cfg.IMAGE_H,framerate=cfg.CAMERA_FRAMERATE)
File "/root/donkeycar/donkeycar/parts/camera.py", line 412, in __init__
self.init_camera()
File "/root/donkeycar/donkeycar/parts/camera.py", line 441, in init_camera
raise RuntimeError("Unable to open RB5Camera.")
RuntimeError: Unable to open RB5Camera.
I believe the issue may be related to my GStreamer pipeline configuration in the `RB5Camera` class:
```python
class RB5Camera(BaseCamera):
def gstreamer_pipeline(self, camera_index=1, capture_width=640, capture_height=480, framerate=30):
return (
'qtiqmmfsrc ! '
'video/x-raw(memory:GBM),format=NV12,width={capture_width},height={capture_height},framerate={framerate}/1 ! '
'videoconvert ! '
'appsink'
).format(camera_index=camera_index, capture_width=capture_width, capture_height=capture_height, framerate=framerate)
I am reaching out to the community for insights or suggestions on how to resolve this issue. Has anyone else experienced similar problems, or does anyone have advice on configuring the GStreamer pipeline correctly for the RB5 cameras? Any help or guidance would be greatly appreciated as I work to integrate these cameras for real-time video streaming.