Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MCM does not work with FLIR Boson on NXP IMX8MP #446

Open
justas- opened this issue Oct 26, 2024 · 1 comment
Open

MCM does not work with FLIR Boson on NXP IMX8MP #446

justas- opened this issue Oct 26, 2024 · 1 comment

Comments

@justas-
Copy link

justas- commented Oct 26, 2024

MCM fails to detect and configure video device exported by FLIR Boson camera connected over USB on a NXP IMX8MP system (/dev/video2).

Verified that streaming works with:

 /usr/bin/rtsp_examples/test-launch "v4l2src device=/dev/video3 ! video/x-raw, width=640, height=512, framerate=30/1 ! queue ! vpuenc_hevc ! rtph265pay name=pay0 pt=96" --port 8555

mcm console output:

root@ucm-imx8m-plus:/etc/mavlink-router# mavlink-camera-manager --mavlink=tcpout:127.0.0.1:5760 --verbose
2022-04-29T17:17:02.300102Z  INFO main ThreadId(01) src/logger/manager.rs:84: mavlink-camera-manager, version: 0.2.5-0323c25, build date: 2024-04-20
2022-04-29T17:17:02.300358Z  INFO main ThreadId(01) src/logger/manager.rs:91: Starting at 2022-04-29T17:17:02
2022-04-29T17:17:02.300420Z DEBUG main ThreadId(01) src/logger/manager.rs:95: Command line call: mavlink-camera-manager --mavlink=tcpout:127.0.0.1:5760 --verbose
2022-04-29T17:17:02.300481Z DEBUG main ThreadId(01) src/logger/manager.rs:96: Command line input struct call: Args {
    mavlink: "tcpout:127.0.0.1:5760",
    default_settings: None,
    reset: false,
    rest_server: "0.0.0.0:6020",
    stun_server: "stun://0.0.0.0:3478",
    signalling_server: "ws://0.0.0.0:6021",
    verbose: true,
    gst_feature_rank: [],
    log_path: Some(
        "./logs",
    ),
    enable_tracing_level_log_file: false,
    vehicle_ddns: None,
    enable_tracy: false,
    enable_thread_counter: false,
    enable_webrtc_task_test: None,
    mavlink_system_id: 1,
}
2022-04-29T17:17:02.300604Z DEBUG main ThreadId(01) src/settings/manager.rs:80: Using settings file: "/home/root/.config/mavlink-camera-manager/settings.json"
2022-04-29T17:17:02.301534Z DEBUG main ThreadId(01) init: src/stream/manager.rs:68: Starting video stream service.
2022-04-29T17:17:02.356751Z DEBUG main ThreadId(01) src/settings/manager.rs:166: Settings saved: ManagerStruct {
    file_name: "/home/root/.config/mavlink-camera-manager/settings.json",
    config: SettingsStruct {
        header: HeaderSettingsFile {
            name: "Camera Manager",
            version: 0,
        },
        mavlink_endpoint: "tcpout:127.0.0.1:5760",
        streams: [],
    },
}
2022-04-29T17:17:02.356989Z DEBUG main ThreadId(01) default: src/stream/webrtc/signalling_server.rs:70: Starting SignallingServer task...
2022-04-29T17:17:02.357468Z DEBUG tokio-runtime-worker ThreadId(10) src/stream/webrtc/signalling_server.rs:73: SignallingServer task started!
2022-04-29T17:17:02.357793Z DEBUG tokio-runtime-worker ThreadId(10) runner{endpoint=Url { scheme: "ws", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(0.0.0.0)), port: Some(6021), path: "/", query: None, fragment: None }}: src/stream/webrtc/signalling_server.rs:98: Signalling server: listening on: 0.0.0.0:6021
2022-04-29T17:17:02.357939Z  WARN             v4l_wrap ThreadId(14) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video3". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:02.476416Z  WARN                 main ThreadId(01) start_default: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"usb-xhci-hcd.2.auto-1\""
2022-04-29T17:17:02.483299Z  WARN                 main ThreadId(01) start_default: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"platform:vsi_v4l2dec\""
2022-04-29T17:17:02.487401Z  WARN             v4l_wrap ThreadId(17) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video0". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:02.487796Z DEBUG                 main ThreadId(01) start_default: src/stream/manager.rs:140: Streams: []
2022-04-29T17:17:02.488584Z  INFO                 main ThreadId(01) /cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-server-2.3.0/src/builder.rs:240: starting 4 workers
2022-04-29T17:17:02.488689Z  INFO                 main ThreadId(01) /cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-server-2.3.0/src/server.rs:197: Tokio runtime found; starting in existing Tokio runtime
2022-04-29T17:17:03.302423Z DEBUG          MavReceiver ThreadId(13) receiver_loop:connect{address="tcpout:127.0.0.1:5760"}: src/mavlink/manager.rs:233: Connecting...
2022-04-29T17:17:03.302839Z  INFO          MavReceiver ThreadId(13) receiver_loop:connect{address="tcpout:127.0.0.1:5760"}: src/mavlink/manager.rs:237: Successfully connected
2022-04-29T17:17:26.149346Z  INFO actix-server worker 0 ThreadId(18) /cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-web-4.5.1/src/middleware/logger.rs:420: 192.168.85.10 "GET / HTTP/1.1" 200 20986 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0" 0.000353
2022-04-29T17:17:26.259657Z  INFO actix-server worker 0 ThreadId(18) /cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-web-4.5.1/src/middleware/logger.rs:420: 192.168.85.10 "GET /vue.js HTTP/1.1" 200 542311 "http://192.168.88.187:6020/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0" 0.066229
2022-04-29T17:17:26.312003Z  WARN              v4l_wrap ThreadId(23) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video3". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.432092Z  WARN actix-server worker 0 ThreadId(18) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=fcada986-dce4-40ed-971c-2aa29b904bff}: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"usb-xhci-hcd.2.auto-1\""
2022-04-29T17:17:26.438745Z  WARN actix-server worker 0 ThreadId(18) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=fcada986-dce4-40ed-971c-2aa29b904bff}: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"platform:vsi_v4l2dec\""
2022-04-29T17:17:26.442496Z  WARN              v4l_wrap ThreadId(26) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video0". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.443501Z ERROR actix-server worker 0 ThreadId(18) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=fcada986-dce4-40ed-971c-2aa29b904bff}: src/video/video_source_local.rs:601: Faield to get controls for device "/dev/video2": Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.446715Z  WARN              v4l_wrap ThreadId(30) src/video/video_source_local.rs:366: Failed to get framesizes from format Description { index: 0, typ: 1, flags: (empty), description: "Y/CbCr 4:2:0", fourcc: FourCC { repr: [78, 86, 49, 50] } } for device "/dev/video1": Os {
    code: 25,
    kind: Uncategorized,
    message: "Inappropriate ioctl for device",
}
2022-04-29T17:17:26.446890Z  WARN              v4l_wrap ThreadId(30) src/video/video_source_local.rs:366: Failed to get framesizes from format Description { index: 1, typ: 1, flags: (empty), description: "VSI DTRC", fourcc: FourCC { repr: [68, 84, 82, 67] } } for device "/dev/video1": Os {
    code: 25,
    kind: Uncategorized,
    message: "Inappropriate ioctl for device",
}
2022-04-29T17:17:26.446960Z  WARN              v4l_wrap ThreadId(30) src/video/video_source_local.rs:366: Failed to get framesizes from format Description { index: 2, typ: 1, flags: (empty), description: "P010", fourcc: FourCC { repr: [80, 48, 49, 48] } } for device "/dev/video1": Os {
    code: 25,
    kind: Uncategorized,
    message: "Inappropriate ioctl for device",
}
2022-04-29T17:17:26.447024Z  WARN              v4l_wrap ThreadId(30) src/video/video_source_local.rs:366: Failed to get framesizes from format Description { index: 3, typ: 1, flags: (empty), description: "NV12 10Bit", fourcc: FourCC { repr: [78, 86, 88, 50] } } for device "/dev/video1": Os {
    code: 25,
    kind: Uncategorized,
    message: "Inappropriate ioctl for device",
}
2022-04-29T17:17:26.447090Z  WARN              v4l_wrap ThreadId(30) src/video/video_source_local.rs:366: Failed to get framesizes from format Description { index: 4, typ: 1, flags: (empty), description: "DTRC 10Bit", fourcc: FourCC { repr: [68, 84, 82, 88] } } for device "/dev/video1": Os {
    code: 25,
    kind: Uncategorized,
    message: "Inappropriate ioctl for device",
}
thread 'v4l_wrap' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/v4l-0.14.0/src/control.rs:172:45:
called `Result::unwrap()` on an `Err` value: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2022-04-29T17:17:26.451648Z ERROR actix-server worker 0 ThreadId(18) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=fcada986-dce4-40ed-971c-2aa29b904bff}: src/video/video_source_local.rs:37: v4l API failed with: Some("called `Result::unwrap()` on an `Err` value: ()")
thread 'actix-server worker 0' panicked at src/video/video_source_local.rs:38:10:
called `Result::unwrap()` on an `Err` value: Any { .. }
2022-04-29T17:17:26.467638Z  WARN              v4l_wrap ThreadId(33) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video3". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.470535Z  WARN actix-server worker 1 ThreadId(19) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=69974fb3-1d33-4025-b3ae-39a43f84e49c}: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"usb-xhci-hcd.2.auto-1\""
2022-04-29T17:17:26.477128Z  WARN actix-server worker 1 ThreadId(19) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=69974fb3-1d33-4025-b3ae-39a43f84e49c}: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"platform:vsi_v4l2dec\""
2022-04-29T17:17:26.480659Z  WARN              v4l_wrap ThreadId(36) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video0". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.481480Z ERROR actix-server worker 1 ThreadId(19) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=69974fb3-1d33-4025-b3ae-39a43f84e49c}: src/video/video_source_local.rs:601: Faield to get controls for device "/dev/video2": Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
thread 'v4l_wrap' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/v4l-0.14.0/src/control.rs:172:45:
called `Result::unwrap()` on an `Err` value: ()
2022-04-29T17:17:26.485272Z ERROR actix-server worker 1 ThreadId(19) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=69974fb3-1d33-4025-b3ae-39a43f84e49c}: src/video/video_source_local.rs:37: v4l API failed with: Some("called `Result::unwrap()` on an `Err` value: ()")
thread 'actix-server worker 1' panicked at src/video/video_source_local.rs:38:10:
called `Result::unwrap()` on an `Err` value: Any { .. }
2022-04-29T17:17:26.521674Z  WARN              v4l_wrap ThreadId(43) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video3". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.524556Z  WARN actix-server worker 2 ThreadId(20) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=f447a1af-c753-4841-b7a9-145edb0fba58}: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"usb-xhci-hcd.2.auto-1\""
2022-04-29T17:17:26.530651Z  WARN actix-server worker 2 ThreadId(20) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=f447a1af-c753-4841-b7a9-145edb0fba58}: src/video/video_source_local.rs:85: msg="Unable to identify the local camera connection type, please report the problem: \"platform:vsi_v4l2dec\""
2022-04-29T17:17:26.534225Z  WARN              v4l_wrap ThreadId(46) src/video/video_source_local.rs:738: Failed to capture formats for device: "/dev/video0". Reason: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
2022-04-29T17:17:26.535079Z ERROR actix-server worker 2 ThreadId(20) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=f447a1af-c753-4841-b7a9-145edb0fba58}: src/video/video_source_local.rs:601: Faield to get controls for device "/dev/video2": Os { code: 22, kind: InvalidInput, message: "Invalid argument" }
thread 'v4l_wrap' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/v4l-0.14.0/src/control.rs:172:45:
called `Result::unwrap()` on an `Err` value: ()
2022-04-29T17:17:26.538857Z ERROR actix-server worker 2 ThreadId(20) HTTP request{http.method=GET http.route=/v4l http.flavor=1.1 http.scheme=http http.host=192.168.88.187:6020 http.client_ip=192.168.85.10 http.user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 http.target=/v4l otel.name=HTTP GET /v4l otel.kind="server" request_id=f447a1af-c753-4841-b7a9-145edb0fba58}: src/video/video_source_local.rs:37: v4l API failed with: Some("called `Result::unwrap()` on an `Err` value: ()")
thread 'actix-server worker 2' panicked at src/video/video_source_local.rs:38:10:
called `Result::unwrap()` on an `Err` value: Any { .. }

Video devices in the system:

root@ucm-imx8m-plus:~# ls -lah /dev/video*
crw-rw---- 1 root video 81, 0 Apr 28 17:42 /dev/video0
crw-rw---- 1 root video 81, 1 Apr 28 17:42 /dev/video1
crw-rw---- 1 root video 81, 2 Apr 29 16:47 /dev/video2
crw-rw---- 1 root video 81, 3 Apr 29 16:47 /dev/video3

v4l2 details:

root@ucm-imx8m-plus:~# v4l2-ctl --list-devices --all
vsi_v4l2dec (platform:vsi_v4l2dec):
        /dev/video1

vsi_v4l2enc (platform:vsi_v4l2enc):
        /dev/video0

Boson: FLIR Video (usb-xhci-hcd.2.auto-1):
        /dev/video2
        /dev/video3
        /dev/media0

Driver Info:
        Driver name      : vsi_v4l2
        Card type        : vsi_v4l2enc
        Bus info         : platform:vsi_v4l2enc
        Driver version   : 5.15.71
        Capabilities     : 0x84204000
                Video Memory-to-Memory Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04204000
                Video Memory-to-Memory Multiplanar
                Streaming
                Extended Pix Format
Priority: 2
Format Video Capture Multiplanar:
        Width/Height      : 320/240
        Pixel Format      : 'HEVC' (HEVC)
        Field             : None
        Number of planes  : 1
        Flags             :
        Colorspace        : Default
        Transfer Function : Default
        YCbCr/HSV Encoding: Default
        Quantization      : Default
        Plane 0           :
           Bytes per Line : 320
           Size Image     : 76800
Format Video Output Multiplanar:
        Width/Height      : 320/240
        Pixel Format      : 'NM12' (Y/CbCr 4:2:0 (N-C))
        Field             : None
        Number of planes  : 2
        Flags             :
        Colorspace        : Default
        Transfer Function : Default
        YCbCr/HSV Encoding: Default
        Quantization      : Default
        Plane 0           :
           Bytes per Line : 320
           Size Image     : 76800
        Plane 1           :
           Bytes per Line : 320
           Size Image     : 38400
Selection Video Output: crop, Left 0, Top 0, Width 320, Height 240, Flags:
Selection Video Output: crop_default, Left 0, Top 0, Width 320, Height 240, Flags:
Selection Video Output: crop_bounds, Left 0, Top 0, Width 320, Height 240, Flags:

User Controls

                         rotate 0x00980922 (int)    : min=0 max=270 step=90 default=0 value=0 flags=modify-layout
  min_number_of_capture_buffers 0x00980927 (int)    : min=1 max=16 step=1 default=1 value=1 flags=read-only, volatile
   min_number_of_output_buffers 0x00980928 (int)    : min=1 max=16 step=1 default=1 value=1 flags=read-only, volatile
      get_max_roi_region_number 0x009819b2 (int)    : min=0 max=8 step=1 default=0 value=8 flags=read-only, volatile
   vsi_priv_v4l2_roi_params_set 0x009819b3 (unknown): type=164 value=unsupported payload type flags=has-payload
     get_max_ipcm_region_number 0x009819b4 (int)    : min=0 max=2 step=1 default=0 value=2 flags=read-only, volatile
  vsi_priv_v4l2_ipcm_params_set 0x009819b5 (unknown): type=165 value=unsupported payload type flags=has-payload

Codec Controls

                 video_b_frames 0x009909ca (int)    : min=0 max=0 step=1 default=0 value=0 flags=update
                 video_gop_size 0x009909cb (int)    : min=1 max=2147483647 step=1 default=30 value=30
             video_bitrate_mode 0x009909ce (menu)   : min=0 max=1 default=0 value=0 (Variable Bitrate) flags=update
                                0: Variable Bitrate
                                1: Constant Bitrate
                  video_bitrate 0x009909cf (int)    : min=10000 max=288000000 step=1 default=2097152 value=2097152
frame_level_rate_control_enable 0x009909d7 (bool)   : default=0 value=0
           sequence_header_mode 0x009909d8 (menu)   : min=0 max=1 default=1 value=1 (Joined With 1st Frame)
                                0: Separate Buffer
                                1: Joined With 1st Frame
     h264_mb_level_rate_control 0x009909da (bool)   : default=0 value=0
       number_of_mbs_in_a_slice 0x009909dc (int)    : min=1 max=120 step=1 default=1 value=1
      slice_partitioning_method 0x009909dd (menu)   : min=0 max=1 default=0 value=0 (Single)
                                0: Single
                                1: Max Macroblocks
         repeat_sequence_header 0x009909e2 (bool)   : default=1 value=1
                force_key_frame 0x009909e5 (button) : value=0 flags=write-only, execute-on-write
          h264_i_frame_qp_value 0x00990a5e (int)    : min=-1 max=51 step=1 default=30 value=30
          h264_p_frame_qp_value 0x00990a5f (int)    : min=-1 max=51 step=1 default=30 value=30
          h264_b_frame_qp_value 0x00990a60 (int)    : min=-1 max=51 step=1 default=30 value=30
          h264_minimum_qp_value 0x00990a61 (int)    : min=0 max=51 step=1 default=0 value=0
          h264_maximum_qp_value 0x00990a62 (int)    : min=0 max=51 step=1 default=51 value=51
           h264_cpb_buffer_size 0x00990a64 (int)    : min=0 max=288000000 step=1 default=0 value=0
                     h264_level 0x00990a67 (menu)   : min=0 max=15 default=14 value=14 (5)
                                0: 1
                                1: 1b
                                2: 1.1
                                3: 1.2
                                4: 1.3
                                5: 2
                                6: 2.1
                                7: 2.2
                                8: 3
                                9: 3.1
                                10: 3.2
                                11: 4
                                12: 4.1
                                13: 4.2
                                14: 5
                                15: 5.1
                   h264_profile 0x00990a6b (menu)   : min=0 max=16 default=0 value=0 (Baseline)
                                0: Baseline
                                1: Constrained Baseline
                                2: Main
                                3: Extended
                                4: High
                                5: High 10
                                6: High 422
                                7: High 444 Predictive
                                8: High 10 Intra
                                9: High 422 Intra
                                10: High 444 Intra
                                11: CAVLC 444 Intra
                                12: Scalable Baseline
                                13: Scalable High
                                14: Scalable High Intra
                                15: Stereo High
                                16: Multiview High
    h264_chroma_qp_index_offset 0x00990a80 (int)    : min=-12 max=12 step=1 default=0 value=0
           vpx_minimum_qp_value 0x00990afb (int)    : min=0 max=127 step=1 default=0 value=0
           vpx_maximum_qp_value 0x00990afc (int)    : min=0 max=127 step=1 default=127 value=127
           vpx_i_frame_qp_value 0x00990afd (int)    : min=-1 max=127 step=1 default=30 value=30
           vpx_p_frame_qp_value 0x00990afe (int)    : min=-1 max=127 step=1 default=30 value=30
                    vp8_profile 0x00990aff (menu)   : min=0 max=3 default=0 value=0 (0)
                                0: 0
                                1: 1
                                2: 2
                                3: 3
                    vp9_profile 0x00990b00 (menu)   : min=0 max=3 default=0 value=0 (0)
                                0: 0
                                1: 1
                                2: 2
                                3: 3
          hevc_minimum_qp_value 0x00990b58 (int)    : min=0 max=51 step=1 default=0 value=0
          hevc_maximum_qp_value 0x00990b59 (int)    : min=0 max=51 step=1 default=51 value=51
          hevc_i_frame_qp_value 0x00990b5a (int)    : min=-1 max=51 step=1 default=30 value=30
          hevc_p_frame_qp_value 0x00990b5b (int)    : min=-1 max=51 step=1 default=30 value=30
                   hevc_profile 0x00990b67 (menu)   : min=0 max=2 default=0 value=0 (Main)
                                0: Main
                                1: Main Still Picture
                                2: Main 10
                     hevc_level 0x00990b68 (menu)   : min=0 max=8 default=7 value=7 (5)
                                0: 1
                                1: 2
                                2: 2.1
                                3: 3
                                4: 3.1
                                5: 4
                                6: 4.1
                                7: 5
                                8: 5.1

@joaoantoniocardoso
Copy link
Collaborator

joaoantoniocardoso commented Oct 30, 2024

Hi @justas-, this is a limitation on the v4l2 crate that we are using, specifically, it is failing at this line.

I don't have the same board or camera, so if you know Rust, here is a minimal reproducible example we can test and submit to them meanwhile:

cargo new v4l2_not_working && cd v4l2_not_working

Then edit the following files:

Cargo.toml:

[package]
name = "v4l2_not_working"

[dependencies]
v4l = "0.14.0"

src/main.rs:

use v4l::video::Capture;

fn main() {
    let device = v4l::Device::with_path("/dev/video3").unwrap();
    dbg!(&device);

    let caps = device.query_caps().unwrap();
    dbg!(&caps);

    let formats = device.format().unwrap();
    dbg!(&formats);
}

Apart from that, we also have the idea of switching from interfacing with v4l directly, to using GST Device Monitor to get all this information.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants