[Cin] ms2130 HDMI-USB3 UHD capture card - not quite as expected?
Terje J. Hanssen
terjejhanssen at gmail.com
Thu Mar 9 09:07:09 CET 2023
Den 25.02.2023 21:30, skrev Andrew Randrianasulu:
>
>
> сб, 25 февр. 2023 г., 23:25 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
> Den 25.02.2023 19:27, skrev Andrew Randrianasulu:
>>
>>
>> сб, 25 февр. 2023 г., 21:19 Terje J. Hanssen via Cin
>> <cin at lists.cinelerra-gg.org>:
>>
>> So I have received the ms2130 HDMI-USB3 capture card.
>> The A/D AV converter & SV-HDMI/adapter is not received so
>> far, and I have not avialable my HDV camcorder (on service)
>> to output HDMI video stream with.
>>
>> Yet, I have initially run some verification tests on the
>> ms2130 HDMI-USB3 UHD capture card alone, for what they are worth.
>>
>> As "UHD" (and/or USB3) is mostly generic used to identify
>> this card (while ms2130 almost not), the some output is piped
>> and stripped with grep "UHD".
>>
>> ----------------
>>
>> dmesg | grep UHD
>> [ 2.798210] usb 2-5: Product: USB3.0 UHD
>> [ 2.827772] hid-generic 0003:345F:2130.0005:
>> hiddev97,hidraw4: USB HID v1.10 Device [MACROSILICON
>> USB3.0 UHD] on usb-0000:00:14.0-5/input4
>> [ 4.805554] usb 2-5: Found UVC 1.00 device USB3.0 UHD
>> (345f:2130)
>>
>>
>> udevadm info /dev/video* | egrep 'DEVNAME|ID_V4L_PRODUCT'
>> E: DEVNAME=/dev/video0
>> E: ID_V4L_PRODUCT=USB 2.0 Camera: HD 720P Webcam
>> E: DEVNAME=/dev/video1
>> E: ID_V4L_PRODUCT=USB 2.0 Camera: HD 720P Webcam
>> E: DEVNAME=/dev/video2
>> E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD
>> E: DEVNAME=/dev/video3
>> E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD
>>
>>
>> udevadm info /dev/video* | egrep UHD
>> S:
>> v4l/by-id/usb-MACROSILICON_USB3.0_UHD_20210623-video-index0
>> E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD
>> E: ID_MODEL=USB3.0_UHD
>> E: ID_MODEL_ENC=USB3.0\x20UHD
>> E: ID_SERIAL=MACROSILICON_USB3.0_UHD_20210623
>> E:
>> DEVLINKS=/dev/v4l/by-id/usb-MACROSILICON_USB3.0_UHD_20210623-video-index0
>> /dev/v4l/by-path/pci-0000:00:14.0-usb-0:5:1.0-video-index0
>> S:
>> v4l/by-id/usb-MACROSILICON_USB3.0_UHD_20210623-video-index1
>> E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD
>> E: ID_MODEL=USB3.0_UHD
>> E: ID_MODEL_ENC=USB3.0\x20UHD
>> E: ID_SERIAL=MACROSILICON_USB3.0_UHD_20210623
>> E:
>> DEVLINKS=/dev/v4l/by-path/pci-0000:00:14.0-usb-0:5:1.0-video-index1
>> /dev/v4l/by-id/usb-MACROSILICON_USB3.0_UHD_20210623-video-index1
>>
>>
>> lsusb | grep UHD
>> Bus 002 Device 004: ID 345f:2130 MACROSILICON USB3.0 UHD
>>
>> cat /proc/asound/cards | grep UHD
>> 2 [UHD ]: USB-Audio - USB3.0 UHD
>> MACROSILICON USB3.0 UHD at
>> usb-0000:00:14.0-5, super speed
>>
>> ll /dev/video*
>> crw-rw----+ 1 root video 81, 0 feb. 25 14:15 /dev/video0
>> crw-rw----+ 1 root video 81, 1 feb. 25 14:15 /dev/video1
>> crw-rw----+ 1 root video 81, 2 feb. 25 14:15 /dev/video2
>> crw-rw----+ 1 root video 81, 3 feb. 25 14:15 /dev/video3
>>
>> ---------------------
>>
>> v4l2-ctl --list-devices
>> USB 2.0 Camera: HD 720P Webcam (usb-0000:00:14.0-11):
>> /dev/video0
>> /dev/video1
>>
>> USB3.0 UHD: USB3.0 UHD (usb-0000:00:14.0-5):
>> /dev/video2
>> /dev/video3
>>
>> -----------
>>
>> v4l2-ctl --list-formats-ext
>> ioctl: VIDIOC_ENUM_FMT
>> Index : 0
>> Type : Video Capture
>> Pixel Format: 'YUYV'
>> Name : YUYV 4:2:2
>> Size: Discrete 640x480
>> Interval: Discrete 0.030s (33.000
>> fps)
>> Interval: Discrete 0.067s (15.000
>> fps)
>> Size: Discrete 1280x720
>> Interval: Discrete 0.100s (10.000
>> fps)
>> Size: Discrete 640x360
>> Interval: Discrete 0.030s (33.000
>> fps)
>> Interval: Discrete 0.067s (15.000
>> fps)
>> ................
>> Index : 1
>> Type : Video Capture
>> Pixel Format: 'MJPG' (compressed)
>> Name : Motion-JPEG
>> Size: Discrete 640x480
>> Interval: Discrete 0.030s (33.000
>> fps)
>> Interval: Discrete 0.067s (15.000
>> fps)
>> Size: Discrete 1280x720
>> Interval: Discrete 0.030s (33.000
>> fps)
>> Interval: Discrete 0.067s (15.000
>> fps)
>> Size: Discrete 640x360
>> Interval: Discrete 0.030s (33.000
>> fps)
>> Interval: Discrete 0.067s (15.000
>> fps)
>> ......................
>>
>>
>>
>> As the above doesn't list any 1920x1080 resolution, I wonder
>> if it list just format for the usb2 webcam and not for ms2130
>> capture card?
>>
>>
>>
>> Yeah, looking at how webcam listed first it makes sense. Try to
>> instruct v4l2-ctl to use another device? (my guess it will be
>> "-d" switch but I can be wrong! Manyal or "--help" output is
>> better guide ..)
>
> Be aware that "v4l2-ctl --list-formats-ext" was the same (I think)
> as used for the previous ms2109 Hama card, and I thought formats
> for all connected devices were listed then.
> Obviously there is a default (or first device) used, when no
> device is specified, so thank you for the tip.
>
> By help of google and "superuser" I found out that actually both
> "-D -d /dev/video2" are needed to get both frame sizes and fps listed:
>
> v4l2-ctl -D -d /dev/video2 --list-formats-ext
> Driver Info (not using libv4l2):
> Driver name : uvcvideo
> Card type : USB3.0 UHD: USB3.0 UHD
> Bus info : usb-0000:00:14.0-5
> Driver version: 5.14.21
> Capabilities : 0x84A00001
> Video Capture
> Metadata Capture
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04200001
> Video Capture
> Streaming
> Extended Pix Format
> ioctl: VIDIOC_ENUM_FMT
> Index : 0
> Type : Video Capture
> Pixel Format: 'YUYV'
> Name : YUYV 4:2:2
> Size: Discrete 1920x1080
> Interval: Discrete 0.017s (60.000 fps)
> Interval: Discrete 0.020s (50.000 fps)
> Interval: Discrete 0.033s (30.000 fps)
> Interval: Discrete 0.050s (20.000 fps)
> Interval: Discrete 0.100s (10.000 fps)
> ............
>
> Size: Discrete 1280x720
> Interval: Discrete 0.017s (60.000 fps)
> Interval: Discrete 0.020s (50.000 fps)
> Interval: Discrete 0.033s (30.000 fps)
> Interval: Discrete 0.050s (20.000 fps)
> Interval: Discrete 0.100s (10.000 fps)
> ...............
>
> Size: Discrete 720x576
> Interval: Discrete 0.017s (60.000 fps)
> Interval: Discrete 0.020s (50.000 fps)
> Interval: Discrete 0.033s (30.000 fps)
> Interval: Discrete 0.050s (20.000 fps)
> Interval: Discrete 0.100s (10.000 fps)
> ................
>
>
>
>>
>> -------------------------------------
>>
>> Try also ffplay to list supported formats for a video4linux2
>> device:
>>
>> ffplay -hide_banner -f v4l2 -list_formats all /dev/video2
>> [video4linux2,v4l2 @ 0x7f8280000cc0] Raw :
>> yuyv422 : YUYV 4:2:2 : 1920x1080 1600x1200
>> 1360x768 1280x1024 1280x960 1280x720 1024x768 800x600
>> 720x576 720x480 640x480
>> /dev/video2: Immediate exit requested
>> nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
>>
>>
>>
>> this one at least list all formats but not their framerates ...
>>
>>
>>
>>
>> ffplay -hide_banner -f v4l2 -list_formats all /dev/video3
>> [video4linux2,v4l2 @ 0x7f3bd0000cc0]
>> ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device
>> /dev/video3: Inappropriate ioctl for device
>>
>>
>> -------------
>>
>> I am not sure about what the following command really does,
>> but it was described to
>>
>> "Grab and record the input of a video4linux2 device, leave
>> the frame rate and size as previously set:"
>>
>> ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -i
>> /dev/video2 out_test.mpeg
>>
>> [video4linux2,v4l2 @ 0x55c22212cfc0] Dequeued v4l2 buffer
>> contains corrupted data (0 bytes).
>> Input #0, video4linux2,v4l2, from '/dev/video2':
>> Duration: N/A, start: 0.000000, bitrate: 1990656 kb/s
>> Stream #0:0: Video: rawvideo (YUY2 / 0x32595559),
>> yuyv422, 1920x1080, 1990656 kb/s, 60 fps, 60 tbr, 1000k tbn
>> Stream mapping:
>> Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video
>> (native))
>> Press [q] to stop, [?] for help
>> [video4linux2,v4l2 @ 0x55c22212cfc0] Dequeued v4l2 buffer
>> contains corrupted data (0 bytes).
>> Last message repeated 30 times
>> [mpeg @ 0x55c22214f800] VBV buffer size not set, using
>> default size of 230KB
>> If you want the mpeg file to be compliant to some
>> specification
>> Like DVD, VCD or others, make sure you set the correct
>> buffer size
>> Output #0, mpeg, to 'out_test.mpeg':
>> Metadata:
>> encoder : Lavf59.27.100
>> Stream #0:0: Video: mpeg1video, yuv420p(tv,
>> progressive), 1920x1080, q=2-31, 200 kb/s, 60 fps, 90k tbn
>> Metadata:
>> encoder : Lavc59.37.100 mpeg1video
>> Side data:
>> cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0
>> vbv_delay: N/A
>> frame= 1628 fps= 60 q=2.0 Lsize= 4702kB
>> time=03:13:19.68 bitrate= 3.3kbits/s speed= 427x
>> video:4675kB audio:0kB subtitle:0kB other streams:0kB
>> global headers:0kB muxing overhead: 0.572162%
>> Exiting normally, received signal 2.
>>
>>
>>
>> try 30 fps instead of 60?
>
> Like this?
> But shouldn't a 422 and not a 420 output format be created?
>
>
> it seems in some cases ffmpeg not geared towards preserving most
> information, just picks up most commonly defined/first pixel format.
> Try mpeg2video as output codec, and/or specify pixel format (pix_fmt)
> more explicitly before output's filename? Also you can try 'copy'
> video codec and meet absolutely enormous test file.
>
>
> ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
> 1920x1080 -framerate 30 -t 10 -i /dev/video2 out_1920x1024.mpeg
> [video4linux2,v4l2 @ 0x564d7d7c3040] Dequeued v4l2 buffer
> contains corrupted data (0 bytes).
> Input #0, video4linux2,v4l2, from '/dev/video2':
> Duration: N/A, start: 0.000000, bitrate: 995328 kb/s
> Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
> 1920x1080, 995328 kb/s, 30 fps, 30 tbr, 1000k tbn
> Stream mapping:
> Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))
> Press [q] to stop, [?] for help
> [video4linux2,v4l2 @ 0x564d7d7c3040] Dequeued v4l2 buffer
> contains corrupted data (0 bytes).
> Last message repeated 30 times
> [mpeg @ 0x564d7d7e5a80] VBV buffer size not set, using default
> size of 230KB
> If you want the mpeg file to be compliant to some specification
> Like DVD, VCD or others, make sure you set the correct buffer size
> Output #0, mpeg, to 'out_1920x1024.mpeg':
> Metadata:
> encoder : Lavf59.27.100
> Stream #0:0: Video: mpeg1video, yuv420p(tv, progressive),
> 1920x1080, q=2-31, 200 kb/s, 30 fps, 90k tbn
> Metadata:
> encoder : Lavc59.37.100 mpeg1video
> Side data:
> cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0
> vbv_delay: N/A
> frame= 301 fps= 30 q=1.6 Lsize= 896kB time=06:56:05.30
> bitrate= 0.3kbits/s speed=2.47e+03x
> video:890kB audio:0kB subtitle:0kB other streams:0kB global
> headers:0kB muxing overhead: 0.710403%
>
> -----------
> ffprobe -hide_banner out_1920x1024.mpeg
> Input #0, mpeg, from 'out_1920x1024.mpeg':
> Duration: 00:00:10.03, start: 24955.333333, bitrate: 731 kb/s
> Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv),
> 1920x1080 [SAR 1:1 DAR 16:9], 104857 kb/s, 30 fps, 30 tbr, 90k tbn
>
> ------------
> mediainfo out_1920x1024.mpeg
> General
> Complete name : out_1920x1024.mpeg
> Format : MPEG-PS
> File size : 896 KiB
> Duration : 10 s 33 ms
> Overall bit rate mode : Variable
> Overall bit rate : 732 kb/s
>
> Video
> ID : 224 (0xE0)
> Format : MPEG Video
> Format version : Version 1
> Format settings, BVOP : No
> Format settings, Matrix : Default
> Format settings, GOP : N=12
> Duration : 10 s 33 ms
> Bit rate mode : Variable
> Bit rate : 717 kb/s
> Width : 1 920 pixels
> Height : 1 080 pixels
> Display aspect ratio : 16:9
> Frame rate : 30.000 FPS
> Color space : YUV
> Chroma subsampling : 4:2:0
> Bit depth : 8 bits
> Scan type : Progressive
> Compression mode : Lossy
> Bits/(Pixel*Frame) : 0.012
> Time code of first frame : 00:00:00:00
> Time code source : Group of pictures
> header
> GOP, Open/Closed : Open
> GOP, Open/Closed of first frame : Closed
> Stream size : 878 KiB (98%)
>
Alsa identifier for ms2130?
I'm ready to test with the analog camcorder connectedto A/D-adapter +
ms210 capture, but first a question about the Alsa hw: identifier for
the latter.
For the Hama ms2109 I used
ffmpeg -f alsa -ac 2 -i hw:CARD=MS2109,DEV=0
For ms2130 UHD card
arecord -l
**** List of CAPTURE Hardware Devices ****
......
card 3: UHD [USB3.0 UHD], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
arecord -L
.....
sysdefault:CARD=UHD
USB3.0 UHD, USB Audio
Default Audio Device
front:CARD=UHD,DEV=0
USB3.0 UHD, USB Audio
Front output / input
Suggestion to
ffmpeg -f alsa -ac 2 -i hw:?
>
>>
>>
>>
>>
>> --
>> Cin mailing list
>> Cin at lists.cinelerra-gg.org
>> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20230309/bdb9e48b/attachment-0001.htm>
More information about the Cin
mailing list