Den 05.05.2025 16:05, skrev Andrew Randrianasulu:


пн, 5 мая 2025 г., 17:00 Andrew Randrianasulu <randrianas...@gmail.com>:



    пн, 5 мая 2025 г., 16:26 Terje J. Hanssen via Cin
    <cin@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?


https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavdevice/v4l2-common.c

I can't see 10bit yuy2 format listed here, so probably even if hw/driver support it ffmpeg will not ...

Yes, It seems this also is the case.
Even I got a few 10-bits "-input_format" y210 and p210 accepted by ffmpeg, in both cases the output format "defaulted" to the same 'yuv422p'. What also surprised me, the filesizes at the same time also was reduced to 77%

du -sh *
45M    720x576_50fps_p210+alsa_ms2130_ffv1-3+pcm.mkv
45M    720x576_50fps_y210+alsa_ms2130_ffv1-3+pcm.mkv
58M    720x576_50fps_yuyv422+alsa_ms2130_ffv1-3+pcm.mkv




    But of course you better to doublecheck what v4l2 tools says ...


So far no other  pixel formats found:

v4l2-ctl -V
Format Video Capture:
    Width/Height      : 720/576
    Pixel Format      : 'YUYV' (YUYV 4:2:2)
    Field             : None
    Bytes per Line    : 1440
    Size Image        : 829440
    Colorspace        : sRGB
    Transfer Function : Rec. 709
    YCbCr/HSV Encoding: ITU-R 601
    Quantization      : Default (maps to Limited Range)
    Flags             :




    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.


Similar I bought and captured a few ProRes422 HQ few files in 2016 with Blackmagic Design's HyperDeck Shuttle+AD miniconverter+SSD recorder. But some years later, BMD's fw support became EOL, and the devices became non-working :(











-- Cin mailing list
        Cin@lists.cinelerra-gg.org
        https://lists.cinelerra-gg.org/mailman/listinfo/cin

-- 
Cin mailing list
Cin@lists.cinelerra-gg.org
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to