вт, 6 мая 2025 г., 23:49 Terje J. Hanssen <terjejhans...@gmail.com>:
> > > 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 > I guess they 10 bit but 4:2:0 subsampling? why we can't have both ;) I mean, it all depend on hw, and now board wired ... If there was relatively popular capture board I am sure someone tried to push core linux kernel bits upstream ... but hw design is harder than it looks. > > > >> 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