Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Software Development
  3. Video and Image Sensors
  4. Rotate imx412 stream

Rotate imx412 stream

Scheduled Pinned Locked Moved Video and Image Sensors
16 Posts 3 Posters 3.0k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T TomP

    @Alex-Kushleyev The most current file name in the list in the directory is com.qti.sensormodule.imx412_flip_2.bin.

    We have ordered and installed this camera:

    Image Sensor 4k High-resolution, Low-light Sensor for VOXL® (Starvis IMX412 w/ micro-coax & M12-style Lens) (MSU-M0161)

    Alex KushleyevA Offline
    Alex KushleyevA Offline
    Alex Kushleyev
    ModalAI Team
    wrote on last edited by
    #7

    @TomP , actually there is already non-flip version in /etc/modalai/chi-cdk/imx412 . You can just use the sensormodule from that location with the same slot id (index at the end of sensormodule). Back up the current sensormodule (move it out of /usr/lib/camera/ or rename to .bak) and put the new one in the same location.

    Alex

    T 1 Reply Last reply
    0
    • Alex KushleyevA Alex Kushleyev

      @TomP , actually there is already non-flip version in /etc/modalai/chi-cdk/imx412 . You can just use the sensormodule from that location with the same slot id (index at the end of sensormodule). Back up the current sensormodule (move it out of /usr/lib/camera/ or rename to .bak) and put the new one in the same location.

      Alex

      T Offline
      T Offline
      TomP
      Contributor
      wrote on last edited by TomP
      #8

      @Alex-Kushleyev the chi-cdk directory does not exist. here is the content of the /etc/modalai/ directory:

      voxl2-mini:/etc/modalai$ ls
      extrinsics.conf voxl-camera-server.conf voxl-px4-hitl-set-default-parameters.config
      extrinsics.conf.thermal voxl-cpu-monitor.conf voxl-px4.conf
      lost+found voxl-dfs-server.conf voxl-streamer.conf
      network_interface_preferences.txt voxl-elrs.conf voxl-tag-detector.conf
      tag_locations.conf voxl-imu-server.conf voxl-tflite-server.conf
      vio_cams.conf voxl-mavlink-server.conf voxl-uvc-server.conf
      vio_cams.conf.boson voxl-modem.conf voxl-vision-hub.conf
      vio_cams.conf.seek voxl-px4-fake-imu-calibration.config voxl-vtx.conf

      T 1 Reply Last reply
      0
      • T TomP

        @Alex-Kushleyev the chi-cdk directory does not exist. here is the content of the /etc/modalai/ directory:

        voxl2-mini:/etc/modalai$ ls
        extrinsics.conf voxl-camera-server.conf voxl-px4-hitl-set-default-parameters.config
        extrinsics.conf.thermal voxl-cpu-monitor.conf voxl-px4.conf
        lost+found voxl-dfs-server.conf voxl-streamer.conf
        network_interface_preferences.txt voxl-elrs.conf voxl-tag-detector.conf
        tag_locations.conf voxl-imu-server.conf voxl-tflite-server.conf
        vio_cams.conf voxl-mavlink-server.conf voxl-uvc-server.conf
        vio_cams.conf.boson voxl-modem.conf voxl-vision-hub.conf
        vio_cams.conf.seek voxl-px4-fake-imu-calibration.config voxl-vtx.conf

        T Offline
        T Offline
        TomP
        Contributor
        wrote on last edited by TomP
        #9

        @Alex-Kushleyev I have now found the correct file in the /usr/share/modalai/chi-cdk directory. Now everything works as it should. Many thanks for your support!

        Alex KushleyevA 1 Reply Last reply
        0
        • T TomP

          @Alex-Kushleyev I have now found the correct file in the /usr/share/modalai/chi-cdk directory. Now everything works as it should. Many thanks for your support!

          Alex KushleyevA Offline
          Alex KushleyevA Offline
          Alex Kushleyev
          ModalAI Team
          wrote on last edited by
          #10

          @TomP , oh yeah, my bad.. you found the right one 🙂

          Jetson NanoJ 1 Reply Last reply
          1
          • Alex KushleyevA Alex Kushleyev

            @TomP , oh yeah, my bad.. you found the right one 🙂

            Jetson NanoJ Offline
            Jetson NanoJ Offline
            Jetson Nano
            Veteran
            wrote on last edited by Jetson Nano
            #11

            @Alex-Kushleyev hey ,I had the same issue, I tried following the steps mentioned above, still the video stream rotation was not successful.
            When i tried to replace the file in usr/lib/camera with the file in chi-cdk, it gave the error of hires not starting and no video. The default file in usr/lib/camera was for fpv. I tried to change it with normal imx412 file, it gave error i mentioned above.
            Also the hires ID is 1.

            Alex KushleyevA 1 Reply Last reply
            0
            • Jetson NanoJ Jetson Nano

              @Alex-Kushleyev hey ,I had the same issue, I tried following the steps mentioned above, still the video stream rotation was not successful.
              When i tried to replace the file in usr/lib/camera with the file in chi-cdk, it gave the error of hires not starting and no video. The default file in usr/lib/camera was for fpv. I tried to change it with normal imx412 file, it gave error i mentioned above.
              Also the hires ID is 1.

              Alex KushleyevA Offline
              Alex KushleyevA Offline
              Alex Kushleyev
              ModalAI Team
              wrote on last edited by
              #12

              @Jetson-Nano ,

              What was the error that you saw when you tried the rotated non-FPV driver for IMX412?

              Alex

              Jetson NanoJ 1 Reply Last reply
              0
              • Alex KushleyevA Alex Kushleyev

                @Jetson-Nano ,

                What was the error that you saw when you tried the rotated non-FPV driver for IMX412?

                Alex

                Jetson NanoJ Offline
                Jetson NanoJ Offline
                Jetson Nano
                Veteran
                wrote on last edited by
                #13

                @Alex-Kushleyev
                These are the files available
                Screenshot from 2025-09-22 10-18-41.png

                IMX412 has four options IMX412 , IMX412-flip , IMX412-fpv, IMX412-fpv-flip

                IMX412-fpv is the only folder which contained option for camera 1 , other folders there was no option for camera number 1, so i created it by copy a file from that folder and renaming it for camera 1, I would like to know whether it was the right approach.
                The highlighted option in the following images are the files I created.

                IMX412
                Screenshot from 2025-09-22 10-24-26.png

                IMX412-flip
                Screenshot from 2025-09-22 10-24-31.png

                IMX412-fpv-misp
                Screenshot from 2025-09-22 10-24-41.png

                While running with with file form any of the three other options other than the imx412-fpv the camera was not detected .

                Screenshot from 2025-09-22 10-25-55.png

                Screenshot from 2025-09-22 10-26-45.png

                I copied the file from the /usr/share/chi-cdk/imx412 *** to the /usr/lib/camera/ folder, after while I try to run the camera server, only the tracking and TOF is recognised, I don't know what is the error.
                I am using the configuration 27 for camera setup, but I am only using 1 tracking, 1 hires and 1 TOF.
                Hires is the camera 1

                Screenshot from 2025-09-22 10-29-07.png

                Alex KushleyevA 1 Reply Last reply
                0
                • Jetson NanoJ Jetson Nano

                  @Alex-Kushleyev
                  These are the files available
                  Screenshot from 2025-09-22 10-18-41.png

                  IMX412 has four options IMX412 , IMX412-flip , IMX412-fpv, IMX412-fpv-flip

                  IMX412-fpv is the only folder which contained option for camera 1 , other folders there was no option for camera number 1, so i created it by copy a file from that folder and renaming it for camera 1, I would like to know whether it was the right approach.
                  The highlighted option in the following images are the files I created.

                  IMX412
                  Screenshot from 2025-09-22 10-24-26.png

                  IMX412-flip
                  Screenshot from 2025-09-22 10-24-31.png

                  IMX412-fpv-misp
                  Screenshot from 2025-09-22 10-24-41.png

                  While running with with file form any of the three other options other than the imx412-fpv the camera was not detected .

                  Screenshot from 2025-09-22 10-25-55.png

                  Screenshot from 2025-09-22 10-26-45.png

                  I copied the file from the /usr/share/chi-cdk/imx412 *** to the /usr/lib/camera/ folder, after while I try to run the camera server, only the tracking and TOF is recognised, I don't know what is the error.
                  I am using the configuration 27 for camera setup, but I am only using 1 tracking, 1 hires and 1 TOF.
                  Hires is the camera 1

                  Screenshot from 2025-09-22 10-29-07.png

                  Alex KushleyevA Offline
                  Alex KushleyevA Offline
                  Alex Kushleyev
                  ModalAI Team
                  wrote on last edited by
                  #14

                  @Jetson-Nano , I just posted the latest drivers for IMX412 in the following location, which includes the normal and rotated drivers : https://storage.googleapis.com/modalai_public/temp/imx412_test_bins/20250919/imx412_fpv_eis_20250919_drivers.zip

                  Please note that if you are using MISP, the rotated drivers will have the reversed bayer order (BGGR and not RGGB), so you will need to let MISP know about that by using the following parameter in voxl-camera-server.conf (otherwise your red and blue colors will be flipped):

                  "bayer_type" : "bggr"
                  

                  If the bayer type parameter does not fix the color order, then you will need to update voxl-camera-server, so that it includes the following commit : https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/commit/a58128d3da61c3aea19d6db6c22e7176a04ae1db

                  If you are using the ISP output, then it will know the bayer pattern type directly from the sensormodule file, so you do not need to add the bayer_type parameter.

                  To answer your question about renaming sensormodules - changing the name does not change its functionality. The slot IDs are part of the sensormodule, not the name, so you cannot create a new sensormodule by just renaming the file to switch the camera slot ID.

                  Please try the new drivers and if you are still having issues, please do the following:

                  • disable all the cameras except for your imx412 (in camera config)
                  • share your camera config section for the IMX412 camera
                  • share the output of the camera server when you run it

                  Alex

                  Jetson NanoJ 1 Reply Last reply
                  0
                  • Alex KushleyevA Alex Kushleyev

                    @Jetson-Nano , I just posted the latest drivers for IMX412 in the following location, which includes the normal and rotated drivers : https://storage.googleapis.com/modalai_public/temp/imx412_test_bins/20250919/imx412_fpv_eis_20250919_drivers.zip

                    Please note that if you are using MISP, the rotated drivers will have the reversed bayer order (BGGR and not RGGB), so you will need to let MISP know about that by using the following parameter in voxl-camera-server.conf (otherwise your red and blue colors will be flipped):

                    "bayer_type" : "bggr"
                    

                    If the bayer type parameter does not fix the color order, then you will need to update voxl-camera-server, so that it includes the following commit : https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/commit/a58128d3da61c3aea19d6db6c22e7176a04ae1db

                    If you are using the ISP output, then it will know the bayer pattern type directly from the sensormodule file, so you do not need to add the bayer_type parameter.

                    To answer your question about renaming sensormodules - changing the name does not change its functionality. The slot IDs are part of the sensormodule, not the name, so you cannot create a new sensormodule by just renaming the file to switch the camera slot ID.

                    Please try the new drivers and if you are still having issues, please do the following:

                    • disable all the cameras except for your imx412 (in camera config)
                    • share your camera config section for the IMX412 camera
                    • share the output of the camera server when you run it

                    Alex

                    Jetson NanoJ Offline
                    Jetson NanoJ Offline
                    Jetson Nano
                    Veteran
                    wrote on last edited by
                    #15

                    @Alex-Kushleyev Thank you for reverting back, I will steps mentioned by you.

                    Jetson NanoJ 1 Reply Last reply
                    0
                    • Jetson NanoJ Jetson Nano

                      @Alex-Kushleyev Thank you for reverting back, I will steps mentioned by you.

                      Jetson NanoJ Offline
                      Jetson NanoJ Offline
                      Jetson Nano
                      Veteran
                      wrote on last edited by
                      #16

                      @Alex-Kushleyev Thank you for sharing the files and the support, I was able to flip the video by using the flip file for camera 1. Now it is working fine.

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      ModalAI
                      Categories Recent Tags ModalAI.com Docs
                      © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups