<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">сб, 25 февр. 2023 г., 23:25 Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com">terjejhanssen@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<br>
<br>
<div>Den 25.02.2023 19:27, skrev Andrew
Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">сб, 25 февр. 2023 г.,
21:19 Terje J. Hanssen via Cin <<a href="mailto:cin@lists.cinelerra-gg.org" target="_blank" rel="noreferrer">cin@lists.cinelerra-gg.org</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> So I have received the ms2130 HDMI-USB3 capture
card. <br>
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.<br>
<br>
Yet, I have initially run some verification tests on the
ms2130 HDMI-USB3 UHD capture card alone, for what they
are worth.<br>
<br>
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".<br>
<br>
----------------<br>
<br>
<blockquote>dmesg | grep UHD<br>
[ 2.798210] usb 2-5: Product: USB3.0 UHD<br>
[ 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<br>
[ 4.805554] usb 2-5: Found UVC 1.00 device USB3.0
UHD (345f:2130)<br>
<br>
<br>
udevadm info /dev/video* | egrep
'DEVNAME|ID_V4L_PRODUCT'<br>
E: DEVNAME=/dev/video0<br>
E: ID_V4L_PRODUCT=USB 2.0 Camera: HD 720P Webcam<br>
E: DEVNAME=/dev/video1<br>
E: ID_V4L_PRODUCT=USB 2.0 Camera: HD 720P Webcam<br>
E: DEVNAME=/dev/video2<br>
E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD<br>
E: DEVNAME=/dev/video3<br>
E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD<br>
<br>
<br>
udevadm info /dev/video* | egrep UHD<br>
S:
v4l/by-id/usb-MACROSILICON_USB3.0_UHD_20210623-video-index0<br>
E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD<br>
E: ID_MODEL=USB3.0_UHD<br>
E: ID_MODEL_ENC=USB3.0\x20UHD<br>
E: ID_SERIAL=MACROSILICON_USB3.0_UHD_20210623<br>
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<br>
S:
v4l/by-id/usb-MACROSILICON_USB3.0_UHD_20210623-video-index1<br>
E: ID_V4L_PRODUCT=USB3.0 UHD: USB3.0 UHD<br>
E: ID_MODEL=USB3.0_UHD<br>
E: ID_MODEL_ENC=USB3.0\x20UHD<br>
E: ID_SERIAL=MACROSILICON_USB3.0_UHD_20210623<br>
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<br>
<br>
<br>
lsusb | grep UHD<br>
Bus 002 Device 004: ID 345f:2130 MACROSILICON USB3.0
UHD<br>
<br>
cat /proc/asound/cards | grep UHD<br>
2 [UHD ]: USB-Audio - USB3.0 UHD<br>
MACROSILICON USB3.0 UHD at
usb-0000:00:14.0-5, super speed<br>
<br>
ll /dev/video*<br>
crw-rw----+ 1 root video 81, 0 feb. 25 14:15
/dev/video0<br>
crw-rw----+ 1 root video 81, 1 feb. 25 14:15
/dev/video1<br>
crw-rw----+ 1 root video 81, 2 feb. 25 14:15
/dev/video2<br>
crw-rw----+ 1 root video 81, 3 feb. 25 14:15
/dev/video3<br>
<br>
---------------------<br>
<br>
v4l2-ctl --list-devices<br>
USB 2.0 Camera: HD 720P Webcam (usb-0000:00:14.0-11):<br>
/dev/video0<br>
/dev/video1<br>
<br>
USB3.0 UHD: USB3.0 UHD (usb-0000:00:14.0-5):<br>
/dev/video2<br>
/dev/video3<br>
<br>
-----------<br>
<br>
v4l2-ctl --list-formats-ext<br>
ioctl: VIDIOC_ENUM_FMT<br>
Index : 0<br>
Type : Video Capture<br>
Pixel Format: 'YUYV'<br>
Name : YUYV 4:2:2<br>
Size: Discrete 640x480<br>
Interval: Discrete 0.030s
(33.000 fps)<br>
Interval: Discrete 0.067s
(15.000 fps)<br>
Size: Discrete 1280x720<br>
Interval: Discrete 0.100s
(10.000 fps)<br>
Size: Discrete 640x360<br>
Interval: Discrete 0.030s
(33.000 fps)<br>
Interval: Discrete 0.067s
(15.000 fps)<br>
................<br>
Index : 1<br>
Type : Video Capture<br>
Pixel Format: 'MJPG' (compressed)<br>
Name : Motion-JPEG<br>
Size: Discrete 640x480<br>
Interval: Discrete 0.030s
(33.000 fps)<br>
Interval: Discrete 0.067s
(15.000 fps)<br>
Size: Discrete 1280x720<br>
Interval: Discrete 0.030s
(33.000 fps)<br>
Interval: Discrete 0.067s
(15.000 fps)<br>
Size: Discrete 640x360<br>
Interval: Discrete 0.030s
(33.000 fps)<br>
Interval: Discrete 0.067s
(15.000 fps)<br>
......................<br>
</blockquote>
<br>
<br>
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?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">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 ..)</div>
</div>
</blockquote>
<br>
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.<br>
Obviously there is a default (or first device) used, when no device
is specified, so thank you for the tip.<br>
<br>
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:<br>
<br>
<blockquote>v4l2-ctl -D -d /dev/video2 --list-formats-ext<br>
Driver Info (not using libv4l2):<br>
Driver name : uvcvideo<br>
Card type : USB3.0 UHD: USB3.0 UHD<br>
Bus info : usb-0000:00:14.0-5<br>
Driver version: 5.14.21<br>
Capabilities : 0x84A00001<br>
Video Capture<br>
Metadata Capture<br>
Streaming<br>
Extended Pix Format<br>
Device Capabilities<br>
Device Caps : 0x04200001<br>
Video Capture<br>
Streaming<br>
Extended Pix Format<br>
ioctl: VIDIOC_ENUM_FMT<br>
Index : 0<br>
Type : Video Capture<br>
Pixel Format: 'YUYV'<br>
Name : YUYV 4:2:2<br>
Size: Discrete 1920x1080<br>
Interval: Discrete 0.017s (60.000 fps)<br>
Interval: Discrete 0.020s (50.000 fps)<br>
Interval: Discrete 0.033s (30.000 fps)<br>
Interval: Discrete 0.050s (20.000 fps)<br>
Interval: Discrete 0.100s (10.000 fps)<br>
............<br>
<br>
Size: Discrete 1280x720<br>
Interval: Discrete 0.017s (60.000 fps)<br>
Interval: Discrete 0.020s (50.000 fps)<br>
Interval: Discrete 0.033s (30.000 fps)<br>
Interval: Discrete 0.050s (20.000 fps)<br>
Interval: Discrete 0.100s (10.000 fps)<br>
...............<br>
<br>
Size: Discrete 720x576<br>
Interval: Discrete 0.017s (60.000 fps)<br>
Interval: Discrete 0.020s (50.000 fps)<br>
Interval: Discrete 0.033s (30.000 fps)<br>
Interval: Discrete 0.050s (20.000 fps)<br>
Interval: Discrete 0.100s (10.000 fps)<br>
................<br>
</blockquote>
<br>
<br>
<blockquote type="cite">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> -------------------------------------<br>
<br>
Try also ffplay to list supported formats for a
video4linux2 device:<br>
<br>
<blockquote>ffplay -hide_banner -f v4l2 -list_formats
all /dev/video2<br>
[video4linux2,v4l2 @ 0x7f8280000cc0] Raw :
yuyv422 : YUYV 4:2:2 : 1920x1080 1600x1200
1360x768 1280x1024 1280x960 1280x720 1024x768 800x600
720x576 720x480 640x480<br>
/dev/video2: Immediate exit requested<br>
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq=
0B f=0/0</blockquote>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">this one at least list all formats but not their
framerates ...</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<blockquote> <br>
<br>
<br>
ffplay -hide_banner -f v4l2 -list_formats all
/dev/video3<br>
[video4linux2,v4l2 @ 0x7f3bd0000cc0]
ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device<br>
/dev/video3: Inappropriate ioctl for device<br>
</blockquote>
<br>
-------------<br>
<br>
I am not sure about what the following command really
does, but it was described to<br>
<br>
"Grab and record the input of a video4linux2 device,
leave the frame rate and size as previously set:"<br>
<br>
<blockquote>ffmpeg -hide_banner -f v4l2 -input_format
yuyv422 -i /dev/video2 out_test.mpeg<br>
<br>
[video4linux2,v4l2 @ 0x55c22212cfc0] Dequeued v4l2
buffer contains corrupted data (0 bytes).<br>
Input #0, video4linux2,v4l2, from '/dev/video2':<br>
Duration: N/A, start: 0.000000, bitrate: 1990656
kb/s<br>
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559),
yuyv422, 1920x1080, 1990656 kb/s, 60 fps, 60 tbr,
1000k tbn<br>
Stream mapping:<br>
Stream #0:0 -> #0:0 (rawvideo (native) ->
mpeg1video (native))<br>
Press [q] to stop, [?] for help<br>
[video4linux2,v4l2 @ 0x55c22212cfc0] Dequeued v4l2
buffer contains corrupted data (0 bytes).<br>
Last message repeated 30 times<br>
[mpeg @ 0x55c22214f800] VBV buffer size not set, using
default size of 230KB<br>
If you want the mpeg file to be compliant to some
specification<br>
Like DVD, VCD or others, make sure you set the correct
buffer size<br>
Output #0, mpeg, to 'out_test.mpeg':<br>
Metadata:<br>
encoder : Lavf59.27.100<br>
Stream #0:0: Video: mpeg1video, yuv420p(tv,
progressive), 1920x1080, q=2-31, 200 kb/s, 60 fps, 90k
tbn<br>
Metadata:<br>
encoder : Lavc59.37.100 mpeg1video<br>
Side data:<br>
cpb: bitrate max/min/avg: 0/0/200000 buffer
size: 0 vbv_delay: N/A<br>
frame= 1628 fps= 60 q=2.0 Lsize= 4702kB
time=03:13:19.68 bitrate= 3.3kbits/s speed=
427x <br>
video:4675kB audio:0kB subtitle:0kB other streams:0kB
global headers:0kB muxing overhead: 0.572162%<br>
Exiting normally, received signal 2.<br>
</blockquote>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">try 30 fps instead of 60?</div>
</div>
</blockquote>
<br>
Like this?<br>
But shouldn't a 422 and not a 420 output format be created?<br></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">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) </div><div dir="auto">more explicitly before output's filename? Also you can try 'copy' video codec and meet absolutely enormous test file.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<br>
<blockquote>ffmpeg -hide_banner -f v4l2 -input_format yuyv422
-video_size 1920x1080 -framerate 30 -t 10 -i /dev/video2
out_1920x1024.mpeg<br>
[video4linux2,v4l2 @ 0x564d7d7c3040] Dequeued v4l2 buffer contains
corrupted data (0 bytes).<br>
Input #0, video4linux2,v4l2, from '/dev/video2':<br>
Duration: N/A, start: 0.000000, bitrate: 995328 kb/s<br>
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
1920x1080, 995328 kb/s, 30 fps, 30 tbr, 1000k tbn<br>
Stream mapping:<br>
Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video
(native))<br>
Press [q] to stop, [?] for help<br>
[video4linux2,v4l2 @ 0x564d7d7c3040] Dequeued v4l2 buffer contains
corrupted data (0 bytes).<br>
Last message repeated 30 times<br>
[mpeg @ 0x564d7d7e5a80] VBV buffer size not set, using default
size of 230KB<br>
If you want the mpeg file to be compliant to some specification<br>
Like DVD, VCD or others, make sure you set the correct buffer size<br>
Output #0, mpeg, to 'out_1920x1024.mpeg':<br>
Metadata:<br>
encoder : Lavf59.27.100<br>
Stream #0:0: Video: mpeg1video, yuv420p(tv, progressive),
1920x1080, q=2-31, 200 kb/s, 30 fps, 90k tbn<br>
Metadata:<br>
encoder : Lavc59.37.100 mpeg1video<br>
Side data:<br>
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0
vbv_delay: N/A<br>
frame= 301 fps= 30 q=1.6 Lsize= 896kB time=06:56:05.30
bitrate= 0.3kbits/s speed=2.47e+03x <br>
video:890kB audio:0kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.710403%<br>
<br>
-----------<br>
ffprobe -hide_banner out_1920x1024.mpeg<br>
Input #0, mpeg, from 'out_1920x1024.mpeg':<br>
Duration: 00:00:10.03, start: 24955.333333, bitrate: 731 kb/s<br>
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 1920x1080
[SAR 1:1 DAR 16:9], 104857 kb/s, 30 fps, 30 tbr, 90k tbn<br>
<br>
------------<br>
mediainfo out_1920x1024.mpeg<br>
General<br>
Complete name : out_1920x1024.mpeg<br>
Format : MPEG-PS<br>
File size : 896 KiB<br>
Duration : 10 s 33 ms<br>
Overall bit rate mode : Variable<br>
Overall bit rate : 732 kb/s<br>
<br>
Video<br>
ID : 224 (0xE0)<br>
Format : MPEG Video<br>
Format version : Version 1<br>
Format settings, BVOP : No<br>
Format settings, Matrix : Default<br>
Format settings, GOP : N=12<br>
Duration : 10 s 33 ms<br>
Bit rate mode : Variable<br>
Bit rate : 717 kb/s<br>
Width : 1 920 pixels<br>
Height : 1 080 pixels<br>
Display aspect ratio : 16:9<br>
Frame rate : 30.000 FPS<br>
Color space : YUV<br>
Chroma subsampling : 4:2:0<br>
Bit depth : 8 bits<br>
Scan type : Progressive<br>
Compression mode : Lossy<br>
Bits/(Pixel*Frame) : 0.012<br>
Time code of first frame : 00:00:00:00<br>
Time code source : Group of pictures
header<br>
GOP, Open/Closed : Open<br>
GOP, Open/Closed of first frame : Closed<br>
Stream size : 878 KiB (98%)<br>
<br>
</blockquote>
<br>
<blockquote type="cite">
<div dir="auto">
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<blockquote> </blockquote>
<br>
<br>
<br>
<br>
</div>
-- <br>
Cin mailing list<br>
<a href="mailto:Cin@lists.cinelerra-gg.org" rel="noreferrer noreferrer" target="_blank">Cin@lists.cinelerra-gg.org</a><br>
<a href="https://lists.cinelerra-gg.org/mailman/listinfo/cin" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.cinelerra-gg.org/mailman/listinfo/cin</a><br>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote></div></div></div>