This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-TDA4VM: J721EXSKG01EVM (SK-TDA4VM)

Part Number: SK-TDA4VM
Other Parts Discussed in Thread: TDA4VM, DS90UB940N-Q1, DS90UB949-Q1

Hello,

I neet to coonect HDMI camera to my SK-TDA4VM. To do this I connected an adapter HDMI to USB3.0

The device appeared in the system as a USB camera, jpeg format.  I think this is how the script that initializes the cameras works.
However, the format of this camera did not jpeg, but YUV422 or  MJPEG

https://www.waveshare.com/wiki/HDMI_to_USB3.0_Adapter

The file is written (jpeg, png, raw, yuv, bin) , but there is only a black background inside. .
Can you confirm that the uvcdriver.ko driver, which exist  in the SDK, is also suitable for USB 3.0 cameras. And if so, where to look for the problem?

Regards

Igor

  • Hi Igor,

    I will check internally and get back to you.

    Best Regards,

    Keerthy 

  • Hi Keerty,

    Thank you!

    I tested this adapter on my PC with Ubuntu 22.04 - everything works after the ffplay commands. Unfortunately, this command is not supported in SDK SK-TDA4VM. When I recording video using ffmpeg, everything inside the file is also black. After dmesg we get

    uvcvideo 2-1.1:1.1: Non-zero status (-71) in video completion handler

    This error occurs when video recording ends incorrectly.

     

    I find at forums sugest a workaround is to reload the uvcvideo kernel module:

    $ sudo modprobe -v -r uvcvideo

    $ sudo modprobe -v uvcvideo

     But perhaps you can recommend something more correct?

    Regards,

    Igor

  • Hi,

    I am.yet to get feedback from the internal team. Does the workaround fix the issue?

    Best Regards,

    Keerthy 

  • Hi,

    Unfortunately the commands:


    $ sudo modprobe -v -r uvcvideo
    $ sudo modprobe -v uvcvideo


    Didn't give results. We are recording a video file via FFmpeg, but inside the file there is blackness.

    We think the TI uvcvideo.ko driver has limitations and we need to understand what they are. (Frame size, frame rate, pixel rate, video transmission format, may be something else)

    Regards

    Igor Kovryga

  • Hi Igor,

    Can you share a picture of how you have connected so that I can check with the experts locally?

    - Keerthy

  • Hi Kerrty,

    Of course, photo in attachment 

    Camera to board connection via HDMI to USB3.0 adapter

    I am writing a file using the command:

    ffmpeg -f v4l2 -input_format mjpeg -i /dev/video-usb-cam0  output1.mkv

    Yesterday I managed to record a file in which, after 12 seconds of blackness, the video began. I made several more attempts to record using the same command, but the recorded files were no longer played by the media player. I opened these files in Hex viewer and there is video data there, I think  because when they weren’t there everything was the same (like 0x80) I also connected a standard 720 line USB2.0 Logitech camera. The same command always records correct video files.

    I think the problem is here (dmesg message)

    uvcvideo 2-1.1:1.1: Non-zero status (-71) in video completion handler

    I found that this error occurs when the video recording ends incorrectly (I'm not sure because this is an Internet search).
    And this seems to be true, I think this is why most of the recorded files are not playable.
    But this may not answer the problem of 12 dark seconds at the beginning of each sample.

    There may be something wrong with the video stream start flag. synchronization and/or frame rate. But I can't find coomands like 

    v4l2-ctl --set-dv-bt-timings query  - to setting timings for USB camera devices if it applicable 

    I have the ability to separately control the camera and now it’s 1920x1080, 30 frames. I also use the format setting commands on the board before starting recording.

    Regards

    Igor

  • I should add. We added an argument -framerate 30 to the commandand now all recorded files are played, but at the beginning there are 12-14 seconds of darkness in each file. I ran the recording command in sync with the start  the timer on my phone.  Indeed, the first 13 seconds of the recording just go dark

  • Hi Igor,

    Thanks for all the details. So with frame rate set to 30 the only issue now is the 12 seconds of initial darkness each time you record with USB 3.0. 

    But if you connect USB 2.0 there is no issue?

    I checked internally and we don't test with 3.0. This is one of the FAQ that I believe you have already gone through:

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-edgeai/AM68A/09_00_01/exports/docs/devices/AM68A/linux/faq.html#getting-error-when-trying-to-capture-from-multiple-usb-cameras-simultaneously

    So USB 3.0 is something that's untested.

    Regards,

    Keerthy 

  • Hi Keerthy,

    Yes, there is only one problem left: the dark first 12 seconds in each recorded file.

    But recording the file is not our task, so we only check that we are receiving a stream from the camera. Next, we need to compress this stream with H.264 and transmit it by UDP packets to the network. The use of a USB adapter is only necessary for development and work with the SK-TDA4VM board. Next we plan to develop our own board based on the TDA4VM processor. Therefore, we need a recommendation -  how to organize the video receiving path from the camera. We are currently planning to use a pair of DS90UB949-Q1  and DS90UB940N-Q1. Can you recommend such  solution and is there support for the DS90UB940N-Q1 driver?

    Regards

    Igor

  • Hi Igor,

    I will loop in the expert. Please give us some time.

    Best Regards,

    Keerthy 

  • Hi Keerthy,

    Thank you, I will wait I will wait for the expert

    We managed to compress and send the UDP in packets to the PC, and also decode there. But the situation is also the same after the start transmission we see that the Ethernet channel is practically not loaded for the first 12 seconds, but then the video stream that we expected is coming. I connected the camera separately directly to the screen - and there is no delay after initialization, so we think that the problem is in the adapter.

    Regards

    Igor

  • Hi Igor,

    Sorry for the late reply. Could you please help me understand what exactly you are looking for? Do you mean the support for DS90UB940N SERDES? This is not currently supported in the SDK. 

    Regards,

    Brijesh

  • Hi Brijesh,

    The TDA4VM processor has two  MIPI  CSI-2 RX   ports.
    I need to choose a SERDES (FPD Link to MIPI  CSI-2)  that I can connect without problems (driver support).

    If DS90UB940N is not supported in SDK, which SERDES do you recommend?

    Regards

    Igor Kovryga

  • Hi Igor,

    In SDK, we support UB960 Deserializer with IMX390 camera. This deserializer is available in Fusion board. You can get fusion board from Shop - SVTronics

    and imx390 camera from DesignCore® D3RCM-IMX390-953 Rugged Camera Module | D3 (d3engineering.com).

    Regards,

    Brijesh

  • Hi Brijesh,

    Thank you. 

    Regards,

    Igor