Den 02.05.2025 21:42, skrev Andrew Randrianasulu:
пт, 2 мая 2025 г., 22:37 Terje J. Hanssen <terjejhanssen@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.mpgand 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.mpgto 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
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@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@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
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
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
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