[Cin] CinGG Analog S-Video to Digital HDMI converter + ms2130 UHD HDMI-USB3 Capture card

Terje J. Hanssen terjejhanssen at gmail.com
Sun May 4 00:37:30 CEST 2025


Den 03.05.2025 13:00, skrev Terje J. Hanssen:
>
> Den 02.05.2025 21:42, skrev Andrew Randrianasulu:
>>
>>
>> пт, 2 мая 2025 г., 22:37 Terje J. Hanssen <terjejhanssen at gmail.com>:
>>
>>     https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg05748.html
>>
>>     I contine this new thread with an short extract from the long growing
>>     [Cin] ms2130 HDMI-USB3 UHD capture card - not quite as expected?
>>
>>     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?
>>
>>         >>> Could you possibly examplify the latter?
>>
>>         >>>> I think I just theorized ffmpeg may try to get some info
>>         from alsa device file directly, as it tries with /dev/video.
>>         But I never >>>> tried this way, so I can be totally wrong!
>>
>>     -------------------------------
>>
>>     Instead of 50i (pal interlaced fields), I try 50 fps
>>     (progressive) that at least is a pal frequence.
>>
>>     And yes, it seems from the output that ffmpeg uses mpeg1video as
>>     default output codec.
>>
>>     Furter I try to combine the current line
>>
>>         ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
>>         720x576 -framerate 25 -t 20 -i /dev/video2
>>         out-720x576_ms2130.mpeg
>>
>>
>>     with and utilize the syntax developed 2021 for "Blu-ray compliant
>>     MPEG-2 SD video with LPCM audio"
>>
>>         ffmpeg -i dv28.dv -c:v mpeg2video -refs 1 -bf 2 -b:v 25M
>>         -maxrate 25M -minrate 25M -bufsize 45M -muxrate 45M -dc 10
>>         -c:a pcm_s16be -f vob dv28.mpg
>>
>>     and for the current ongoing "DVD compliant MPEG-2 Video and PCM
>>     Audio"
>>
>>         ffmpeg -hide_banner -i dv01.dv -c:v mpeg2video -refs 1 -bf 2
>>         -b:v 8M -maxrate 8M -minrate 8M -bufsize 20M -muxrate 11M -dc
>>         10 -c:a pcm_dvd -f vob -flags +ilme+ildct dv01.mpg
>>
>>     to first
>>
>>         ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
>>         720x576 -framerate 50 -c:v mpeg2video -refs 1 -bf 2 -b:v 8M
>>         -maxrate 8M -minrate 8M -bufsize 20M -muxrate 11M -dc 10 -c:a
>>         pcm_dvd -f vob -t 20 -i /dev/video2 720x576_50p_ms2130.mpg
>>         Option b:v (video bitrate (please use -b:v)) cannot be
>>         applied to input url /dev/video2 -- you are trying to apply
>>         an input option to an output file or vice versa. Move this
>>         option before the file it belongs to.
>>         Error parsing options for input file /dev/video2.
>>         Error opening input files: Invalid argument
>>
>>
>>     and next revised with no output. That is I need help to debug the
>>     syntax error:
>>
>>         ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
>>         720x576 -framerate 50 -i /dev/video2 -c:v mpeg2video -refs 1
>>         -bf 2 -b:v 8M -maxrate 8M -minrate 8M -bufsize 20M -muxrate
>>         11M -dc 10 -c:a pcm_dvd -f vob -t 20 720x576_50p_ms2130.mpg
>>         [video4linux2,v4l2 @ 0x55db770ef9c0] Dequeued v4l2 buffer
>>         contains corrupted data (0 bytes).
>>         Input #0, video4linux2,v4l2, from '/dev/video2':
>>           Duration: N/A, start: 0.000000, bitrate: 331776 kb/s
>>           Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
>>         720x576, 331776 kb/s, 50 fps, 50 tbr, 1000k tbn
>>         Stream mapping:
>>           Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg2video (native))
>>         Press [q] to stop, [?] for help
>>         [video4linux2,v4l2 @ 0x55db770ef9c0] Dequeued v4l2 buffer
>>         contains corrupted data (0 bytes).
>>             Last message repeated 30 times
>>         [mpeg2video @ 0x55db77114f00] Warning vbv_delay will be set
>>         to 0xFFFF (=VBR) as the specified vbv buffer is too large for
>>         the given bitrate!
>>         Output #0, vob, to '720x576_50p_ms2130.mpg':
>>           Metadata:
>>             encoder         : Lavf59.27.100
>>           Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv,
>>         progressive), 720x576, q=2-31, 8000 kb/s, 50 fps, 90k tbn
>>             Metadata:
>>               encoder         : Lavc59.37.100 mpeg2video
>>             Side data:
>>               cpb: bitrate max/min/avg: 8000000/8000000/8000000
>>         buffer size: 20000000 vbv_delay: N/A
>>         frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.00
>>         bitrate=N/A speed=   0x
>>         video:0kB audio:0kB subtitle:0kB other streams:0kB global
>>         headers:0kB muxing overhead: unknown
>>         Output file is empty, nothing was encoded (check -ss / -t /
>>         -frames parameters if used)
>>
>>
>> well, I think framerate still 25 for 50i stream ....
>>
>> can you re-check last line with framerate parameter removed or 
>> changed back to 25?
>>
>
> Ok, as this old post by my mistake already has been forwarded to the 
> list and replied, I will follow it up later today, but need to rig rig 
> up my camcorder and devices

Finally ready, I had to recall a lot since 2023.

ls /dev/video*
/dev/video0  /dev/video1  /dev/video2  /dev/video3


for i in /dev/video*; do echo "$i"; udevadm info --query=all 
--attribute-walk --name=$i | grep -E "name"; done
/dev/video0
     ATTR{name}=="USB3.0 UHD: USB3.0 UHD"
/dev/video1
     ATTR{name}=="USB3.0 UHD: USB3.0 UHD"
/dev/video2
     ATTR{name}=="USB 2.0 Camera: HD 720P Webcam"
/dev/video3
     ATTR{name}=="USB 2.0 Camera: HD 720P Webcam"


v4l2-ctl --list-devices
USB 2.0 Camera: HD 720P Webcam (usb-0000:00:14.0-11.2):
     /dev/video2
     /dev/video3
     /dev/media1

USB3.0 UHD: USB3.0 UHD (usb-0000:00:14.0-3):
     /dev/video0
     /dev/video1
     /dev/media0

As seen the HDMI-USB3 capture card + the S-Video/HDMI converter (with 
the analog S-video camcorder) is now on /dev/video0
while the USB2 webcam is on /dev/video2

ffplay can playback the S-video camcorder's imaging stream

    Default without framerate specified:

    ffplay -hide_banner -f video4linux2 /dev/video0
    [video4linux2,v4l2 @ 0x7fe3c0000c80] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
    Input #0, video4linux2,v4l2, from '/dev/video0':
       Duration: N/A, start: 0.000000, bitrate: 398131 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
    720x576, 398131 kb/s, 60 fps, 60 tbr, 1000k tbn
    [video4linux2,v4l2 @ 0x7fe3c0000c80] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
         Last message repeated 30 times
    ^Cterje at localhost:~> d=   2 aq=    0KB vq=    0KB sq=    0B

    With 25 fps specified:

    ffplay -hide_banner -f video4linux2 -framerate 25 /dev/video0
    [video4linux2,v4l2 @ 0x7f7fa8000c80] The driver changed the time per
    frame from 1/25 to 1/30
    [video4linux2,v4l2 @ 0x7f7fa8000c80] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
    Input #0, video4linux2,v4l2, from '/dev/video0':
       Duration: N/A, start: 0.000000, bitrate: 199065 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
    720x576, 199065 kb/s, 30 fps, 30 tbr, 1000k tbn
    [video4linux2,v4l2 @ 0x7f7fa8000c80] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
         Last message repeated 30 times
    ^Cterje at localhost:~> d=   0 aq=    0KB vq=    0KB sq=    0B

    With 30 fps specified:

    ffplay -hide_banner -f video4linux2 -framerate 30 /dev/video0
    [video4linux2,v4l2 @ 0x7f3878000c80] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
    Input #0, video4linux2,v4l2, from '/dev/video0':
       Duration: N/A, start: 0.000000, bitrate: 199065 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
    720x576, 199065 kb/s, 30 fps, 30 tbr, 1000k tbn
    [video4linux2,v4l2 @ 0x7f3878000c80] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
         Last message repeated 30 times

-----------------

But empty output file with ffmpeg:

With 25 fps specified

    ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
    720x576 -framerate 25 -i /dev/video0 -c:v mpeg2video -refs 1 -bf 2
    -b:v 8M -maxrate 8M -minrate 8M -bufsize 20M -muxrate 11M -dc 10
    -c:a pcm_dvd -f vob -t 20 720x576_25fps_ms2130.mpg
    [video4linux2,v4l2 @ 0x560fe5926740] The driver changed the time per
    frame from 1/25 to 1/30
    [video4linux2,v4l2 @ 0x560fe5926740] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
    Input #0, video4linux2,v4l2, from '/dev/video0':
       Duration: N/A, start: 0.000000, bitrate: 199065 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
    720x576, 199065 kb/s, 30 fps, 30 tbr, 1000k tbn
    Stream mapping:
       Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg2video (native))
    Press [q] to stop, [?] for help
    [video4linux2,v4l2 @ 0x560fe5926740] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
         Last message repeated 30 times
    [mpeg2video @ 0x560fe5927140] Warning vbv_delay will be set to
    0xFFFF (=VBR) as the specified vbv buffer is too large for the given
    bitrate!
    Output #0, vob, to '720x576_25fps_ms2130.mpg':
       Metadata:
         encoder         : Lavf61.7.100
       Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, progressive),
    720x576, q=2-31, 8000 kb/s, 30 fps, 90k tbn
           Metadata:
             encoder         : Lavc61.19.101 mpeg2video
           Side data:
             cpb: bitrate max/min/avg: 8000000/8000000/8000000 buffer
    size: 20000000 vbv_delay: N/A
    [out#0/vob @ 0x560fe5928d00] video:0KiB audio:0KiB subtitle:0KiB
    other streams:0KiB global headers:0KiB muxing overhead: unknown
    [out#0/vob @ 0x560fe5928d00] Output file is empty, nothing was
    encoded(check -ss / -t / -frames parameters if used)
    frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A
    speed=N/A


Without framerate specified:

    ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
    720x576 -i /dev/video0 -c:v mpeg2video -refs 1 -bf 2 -b:v 8M
    -maxrate 8M -minrate 8M -bufsize 20M -muxrate 11M -dc 10 -c:a
    pcm_dvd -f vob -t 20 720x576_ms2130.mpg
    [video4linux2,v4l2 @ 0x55e707fd8740] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
    Input #0, video4linux2,v4l2, from '/dev/video0':
       Duration: N/A, start: 0.000000, bitrate: 398131 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
    720x576, 398131 kb/s, 60 fps, 60 tbr, 1000k tbn
    Stream mapping:
       Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg2video (native))
    Press [q] to stop, [?] for help
    [video4linux2,v4l2 @ 0x55e707fd8740] Dequeued v4l2 buffer contains
    corrupted data (0 bytes).
         Last message repeated 30 times
    [mpeg2video @ 0x55e707fd9140] Warning vbv_delay will be set to
    0xFFFF (=VBR) as the specified vbv buffer is too large for the given
    bitrate!
    Output #0, vob, to '720x576_ms2130.mpg':
       Metadata:
         encoder         : Lavf61.7.100
       Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, progressive),
    720x576, q=2-31, 8000 kb/s, 60 fps, 90k tbn
           Metadata:
             encoder         : Lavc61.19.101 mpeg2video
           Side data:
             cpb: bitrate max/min/avg: 8000000/8000000/8000000 buffer
    size: 20000000 vbv_delay: N/A
    [out#0/vob @ 0x55e707fdacc0] video:0KiB audio:0KiB subtitle:0KiB
    other streams:0KiB global headers:0KiB muxing overhead: unknown
    [out#0/vob @ 0x55e707fdacc0] Output file is empty, nothing was
    encoded(check -ss / -t / -frames parameters if used)
    frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A
    speed=N/A

--------------

On the other hand, capturing with the USB webcam creates output file

Here with 50 fps specified

    ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size
    720x576 -framerate 50 -i /dev/video2 -c:v mpeg2video -refs 1 -bf 2
    -b:v 8M -maxrate 8M -minrate 8M -bufsize 20M -muxrate 11M -dc 10
    -c:a pcm_dvd -f vob -t 20 720x576_50p_ms2130.mpg
    [video4linux2,v4l2 @ 0x56418fd52740] The V4L2 driver changed the
    video from 720x576 to 800x600
    [video4linux2,v4l2 @ 0x56418fd52740] The driver changed the time per
    frame from 1/50 to 1/20
    Input #0, video4linux2,v4l2, from '/dev/video2':
       Duration: N/A, start: 1969.283514, bitrate: 153600 kb/s
       Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
    800x600, 153600 kb/s, 20 fps, 20 tbr, 1000k tbn
    Stream mapping:
       Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg2video (native))
    Press [q] to stop, [?] for help
    [mpeg2video @ 0x56418fd53200] Warning vbv_delay will be set to
    0xFFFF (=VBR) as the specified vbv buffer is too large for the given
    bitrate!
    Output #0, vob, to '720x576_50p_ms2130.mpg':
       Metadata:
         encoder         : Lavf61.7.100
       Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, progressive),
    800x600, q=2-31, 8000 kb/s, 20 fps, 90k tbn
           Metadata:
             encoder         : Lavc61.19.101 mpeg2video
           Side data:
             cpb: bitrate max/min/avg: 8000000/8000000/8000000 buffer
    size: 20000000 vbv_delay: N/A
    [out#0/vob @ 0x56418fd54e00] video:13281KiB audio:0KiB subtitle:0KiB
    other streams:0KiB global headers:0KiB muxing overhead: 1.230734%
    frame=  284 fps= 22 q=2.0 Lsize=   13444KiB time=00:00:14.15
    bitrate=7783.3kbits/s dup=97 drop=0 speed=1.08x
    Exiting normally, received signal 2.

    ffprobe -hide_banner 720x576_50p_ms2130.mpg
    Input #0, mpeg, from '720x576_50p_ms2130.mpg':
       Duration: 00:00:14.20, start: 0.550000, bitrate: 7755 kb/s
       Stream #0:0[0x1e0]: Video: mpeg2video (4:2:2), yuv422p(tv,
    progressive), 800x600 [SAR 1:1 DAR 4:3], 20 fps, 20 tbr, 90k tbn
           Side data:
             cpb: bitrate max/min/avg: 8000000/0/0 buffer size: 20004864
    vbv_delay: N/A















-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250504/14ecf766/attachment-0001.htm>


More information about the Cin mailing list