[Cin] HDMI video streams to lossless compressed FFV1.MKV
Terje J. Hanssen
terjejhanssen at gmail.com
Mon May 5 15:26:50 CEST 2025
I consider to make a second preservation backup for archiving my Analog
S-video and HDV footages on tapes to lossless compressed FFV1.MKV files
stored on large USB3 expansion disks. Also ffv1 HW (vulkan) decoding
(next and encoding (later?) are of interest in this context.
Related previous threads
https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg05547.html
https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg03791.html
https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg05547.html
I adapt simply the last ffmpeg mpeg-2 code line to a first ffv1, version
3 test, 10 sec file
ffmpeg -hide_banner -f v4l2 -input_format yuyv422 -video_size 720x576
-framerate 50 -i /dev/video0 -f alsa -ac 2 -i hw:CARD=UHD,DEV=0 -c:v
ffv1 -level 3 -c:a pcm_s16le -t 10 720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 351.803278, bitrate: 331776 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
720x576, 331776 kb/s, 50 fps, 50 tbr, 1000k tbn
[aist#1:0/pcm_s16le @ 0x555a99736cc0] Guessed Channel Layout: stereo
Input #1, alsa, from 'hw:CARD=UHD,DEV=0':
Duration: N/A, start: 1746445045.742179, bitrate: 1536 kb/s
Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> ffv1 (native))
Stream #1:0 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, matroska, to '720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv':
Metadata:
encoder : Lavf61.7.100
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p(tv,
progressive), 720x576, q=2-31, 200 kb/s, 50 fps, 1k tbn
Metadata:
encoder : Lavc61.19.101 ffv1
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
Metadata:
encoder : Lavc61.19.101 pcm_s16le
[out#0/matroska @ 0x555a99736f40] video:57467KiB audio:1875KiB
subtitle:0KiB other streams:0KiB global headers:0KiB muxing
overhead: 0.069226%
frame= 500 fps= 50 q=-0.0 Lsize= 59383KiB time=00:00:10.00
bitrate=48646.9kbits/s speed=0.998x
----------
du -sh *
58M 720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv
----------
ffprobe -hide_banner 720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv
Input #0, matroska,webm, from
'720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv':
Metadata:
ENCODER : Lavf61.7.100
Duration: 00:00:10.00, start: 0.000000, bitrate: 48646 kb/s
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p(tv,
progressive), 720x576, 50 fps, 50 tbr, 1k tbn
Metadata:
ENCODER : Lavc61.19.101 ffv1
DURATION : 00:00:10.000000000
Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Metadata:
ENCODER : Lavc61.19.101 pcm_s16le
DURATION : 00:00:10.000000000
------------
mediainfo 720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv
General
Unique ID :
158479793538002634101121179263279280827
(0x773A19163BEA6038DF448CE1529BB2BB)
Complete name :
720x576_50fps+alsa_ms2130_ffv1-3+pcm.mkv
Format : Matroska
Format version : Version 4
File size : 58.0 MiB
Duration : 10 s 0 ms
Overall bit rate mode : Variable
Overall bit rate : 48.6 Mb/s
Frame rate : 50.000 FPS
Writing application : Lavf61.7.100
Writing library : Lavf61.7.100
ErrorDetectionType : Per level 1
Video
ID : 1
Format : FFV1
Format version : Version 3.4
Format settings, Slice count : 4 slices per frame
Codec ID : V_MS/VFW/FOURCC / FFV1
Duration : 10 s 0 ms
Bit rate mode : Variable
Bit rate : 46.1 Mb/s
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 5:4
Frame rate mode : Constant
Frame rate : 50.000 FPS
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossless
Bits/(Pixel*Frame) : 2.225
Stream size : 55.0 MiB (95%)
Writing library : Lavc61.19.101 ffv1
Default : No
Forced : No
Color range : Limited
coder_type : Golomb Rice
ErrorDetectionType : Per slice
Audio
ID : 2
Format : PCM
Format settings : Little / Signed
Codec ID : A_PCM/INT/LIT
Duration : 10 s 0 ms
Bit rate mode : Constant
Bit rate : 1 536 kb/s
Channel(s) : 2 channels
Sampling rate : 48.0 kHz
Bit depth : 16 bits
Stream size : 1.83 MiB (3%)
Writing library : Lavc61.19.101 pcm_s16le
Default : No
Forced : No
---------------------------------
As seen above the "default" Chroma subsampling is yuv422p or 4:2:2 with
Bit depth: 8 bits
As ffv1 seemingly also does support yuv422p10le ffmpeg, I wonder if
yuv422p is limited by the input from HDMI capture/AV converter?
Can possibly yuv422p10le possibly be achieved by adding -pix_fmt 10 og
similar syntax to the ffmpeg line?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250505/18ce01ba/attachment.htm>
More information about the Cin
mailing list