[Cin] HDMI video streams to lossless compressed FFV1.MKV
Andrew Randrianasulu
randrianasulu at gmail.com
Mon May 5 16:00:45 CEST 2025
пн, 5 мая 2025 г., 16:26 Terje J. Hanssen via Cin <
cin at lists.cinelerra-gg.org>:
> 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?
>
you can try different -input_format, but I suspect 10bit video over v4l2
at best uncommon ... While hdmi itself supports 10bit digital signal, I
suspect non-pro capture devices usually limited to 8bit?
But of course you better to doublecheck what v4l2 tools says ...
Sorry for "too generic" answer, few years ago I/we looked into "direct RF
capture" and there getting 10bit signal was possible, with custom hardware,
slow offline processing and invasive hoockup to VCR's internals.
>
>
>
>
>
>
>
>
> --
> 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/20250505/c88bbec4/attachment-0001.htm>
More information about the Cin
mailing list