On Monday, December 27, 2021, Terje J. Hanssen via Cin < [email protected]> wrote:
> > > Den 26.12.2021 21:13, skrev Andrew Randrianasulu via Cin: > > > > On Sunday, December 26, 2021, Phyllis Smith via Cin < > [email protected]> wrote: > >> for now it seems only ffv1.avi defaults to v.0 and mkv defaults to 3.4 >>> >> For now, how about if I just add a comment to ffv1.mkv about level >> numbers? That way the user will see this if they look and can decide for >> themselves. Otherwise if we make every possible setting available we will >> end up with millions of choices and then if we have new ones labeled _3, >> when level 4 comes along we would need even more as _4. >> > > ok, add comment please} > > > Ok, maybe I'm thinking aload quite "outside the box" here with my > questions * below: > > I seems for me Cin-GG supports ffv1.mkv in two instances (did't find other > mentioned in the manual either): > > 1) File > Save as: ffv1.mkv (that is save current edited video from > Cin-GG) > > and > > 2) File > Record > using Video compression according to > > Settings > Preferences > Record > File format: FFMPEG mkv > Video wrench: Compression: ffv1.mkv or user_ffv1.mkv > > * Could i.e the empty <Format box> here be used to input levels and/or > other user options? > > Further down on this window > > Video IN > Record driver: i.e Video4Linux > > * Or possibly get BM Intensity/declink SDK card working/integrated > with ffmpeg/Cin-GG? > if you find programmer familiar with both ends.. Cin-gg uses her own code for dealing with v4l2, not ffmpeg's. https://gist.github.com/afriza/879fed4ede539a5a6501e0f046f71463 (sdk 12 should be compatible with ffmpeg 4.4?) note --extra-cflags="-I$HOME/ffmpeg_build/include -I$HOME/ffmpeg_sources/BMD_SDK/include -I/usr/lib/cuda/include" \ and --enable-nonfree \ --enable-decklink \ addditional confugure switches for ffmpeg (you can drop cuda includes if you do not have proprietary nvidia driver/card installed, if course) --- List devices: ffmpeg -f decklink -list_devices 1 -i dummy List supported formats: ffmpeg -f decklink -list_formats 1 -i 'DeckLink Quad HDMI Recorder (1)' Capture Camera at 23.976fps to h264: ffmpeg -y -thread_queue_size 90 -hwaccel cuda \ -channels 2 -raw_format yuv422p10 -format_code 23ps -f decklink -i 'DeckLink Quad HDMI Recorder (1)' \ -c:a pcm_s16le -c:v libx264 -preset ultrafast -crf 10 ~/camera264.mov --- obviously you can try to just copy frames into mov for 'as uncompressed as possible' and hope your disk(s) will keep up! (I've heard stories some ssd dislike being full - their write speed drop down dramatically.. so try to write to not very full ssd. Not sure abount newer nvme.. or raids from them!) from https://github.com/wonderunit/storyboarder/wiki/Recording-Live-Camera-and-Desktop-on-Linux-using-Blackmagic-Decklink > > * Get the option to preserve/archive transcoded ffv1.mkv directly to a > storage device? > probably not? (no support for arbitrary compressed frames and their metadata in internal representation.. not impossible, but no one did it yet) > > > * And/or get the option to load /pipe (uncompressed) video files > recorded on one storage (SSD) device, > compress it with the right preset ffv1.mkv and save it to another > storage device. > should be default mode of operation for files (not sure about purely raw video w/o any container, apart from dvvideo, but some types of raw rgb/yuv in avi/mov should work.. test a bit?) , for piping... try video loopback? https://github.com/umlaeute/v4l2loopback it may even work for declink input, if your ffmpeg can input frames from declink and output to v4l2.. https://superuser.com/questions/1330959/what-is-the-right-ffmpeg-output-format-for-a-v4l2-loopback-device some variation of ffmpeg examples Grab desktop: ffmpeg -f x11grab -framerate 25 -video_size 1280x720 -i :0.0+0,0 -f v4l2 /dev/video0 Send file: ffmpeg -re -i input.mp4 -f v4l2 /dev/video0 or (in answers) ffmpeg -f x11grab -r 60 -s 1920x1080 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0 guess you can try variation of such cmdline with declink input after compiling non-free ffmpeg with Blackmagick sdk... we also probably can use such line for testing non-trivial v4l2 formats in Cinelerra-gg .. > >> >> On Sat, Dec 25, 2021 at 9:29 PM Andrew Randrianasulu via Cin < >> [email protected]> wrote: >> >>> >>> >>> On Sunday, December 26, 2021, Terje J. Hanssen via Cin < >>> [email protected]> wrote: >>> >>>> >>>> >>>> Den 25.12.2021 17:35, skrev Andrew Randrianasulu via Cin: >>>> >>>>> seems to miss level=3 setting >>>>> >>>>> $ cat bin/ffmpeg/video/ffv1.avi >>>>> avi ffv1 >>>>> $ cat bin/ffmpeg/video/ffv1.mkv >>>>> matroska ffv1 >>>>> threads=8 >>>>> context=1 >>>>> slices=30 >>>>> $ cat bin/ffmpeg/video/ffv1.mov >>>>> mov ffv1 >>>>> #coder=0 >>>>> context=1 >>>>> g=1 >>>>> level=3 >>>>> threads=16 >>>>> slices=16 >>>>> slicecrc=1 >>>>> #pass=2 >>>>> $ >>>>> >>>>> not sure if we should modify our avi/mkv profikes or add new (may be >>>>> with _v3 name) ones? >>>>> >>>>> >>>> Without own experience yet, I would ask if there any reason to not use >>>> the latest and more feature rich FFV1 level=version 3? Backward >>>> compitibility, typical can v. 3 uncompress v. 1 compressed archives? >>> >>> >>> good question... I have older avplay (~2012) here and will test. >>> >>> for now it seems only ffv1.avi defaults to v.0 and mkv defaults to 3.4 >>> due to crc protection per slice, i think (looked into ffmpeg encoder >>> source) >>> >>> {filenames were just that I had in inputbox, not indicative of content} >>> >>> >>> $ mediainfo ~/h265-p2.avi >>> General >>> Complete name : /data/data/com.termux/files/home/h265-p2.avi >>> Format : AVI >>> Format/Info : Audio Video Interleave >>> File size : 8.82 MiB >>> Duration : 3 s 720 ms >>> Overall bit rate mode : Variable >>> Overall bit rate : 19.9 Mb/s >>> Writing application : Lavf58.76.100 >>> >>> Video >>> ID : 0 >>> Format : FFV1 >>> Format version : Version 0 >>> Codec ID : FFV1 >>> Duration : 3 s 720 ms >>> Bit rate mode : Variable >>> Bit rate : 19.9 Mb/s >>> Width : 720 pixels >>> Height : 576 pixels >>> Display aspect ratio : 5:4 >>> Frame rate : 25.000 FPS >>> Standard : PAL >>> Color space : YUV >>> Chroma subsampling : 4:2:0 >>> Bit depth : 8 bits >>> Compression mode : Lossless >>> Bits/(Pixel*Frame) : 1.916 >>> Stream size : 8.81 MiB (100%) >>> coder_type : Golomb Rice >>> >>> >>> $ mediainfo ~/h265-p2.mkv >>> General >>> Unique ID : 3614689160526176147752985704114819283 ( >>> 0x2B829EF6988D4EEDCB446A8612210D3) >>> Complete name : /data/data/com.termux/files/home/h265-p2.mkv >>> Format : Matroska >>> Format version : Version 4 >>> File size : 7.48 MiB >>> Duration : 3 s 80 ms >>> Overall bit rate mode : Variable >>> Overall bit rate : 20.4 Mb/s >>> Writing application : Lavf58.76.100 >>> Writing library : Lavf58.76.100 >>> ErrorDetectionType : Per level 1 >>> >>> Video >>> ID : 1 >>> Format : FFV1 >>> Format version : Version 3.4 >>> Codec ID : V_MS/VFW/FOURCC / FFV1 >>> Duration : 3 s 80 ms >>> Bit rate mode : Variable >>> Bit rate : 20.0 Mb/s >>> Width : 720 pixels >>> Height : 576 pixels >>> Display aspect ratio : 5:4 >>> Frame rate mode : Constant >>> Frame rate : 25.000 FPS >>> Standard : PAL >>> Color space : YUV >>> Chroma subsampling : 4:2:0 >>> Bit depth : 8 bits >>> Scan type : Progressive >>> Compression mode : Lossless >>> Bits/(Pixel*Frame) : 1.927 >>> Stream size : 7.34 MiB (98%) >>> Default : Yes >>> Forced : No >>> Color range : Full >>> Matrix coefficients : BT.470 System B/G >>> coder_type : Golomb Rice >>> MaxSlicesCount : 30 >>> ErrorDetectionType : Per slice >>> >>> >>> >>>> I conclude that a couple of referense papers on the web say and use >>>> level 3 in their profile/presets: >>>> >>>> 1) Video into Matroska/FFV1 >>>> https://avpres.net/FFmpeg/im_FFV1.html >>>> >>>> We advise to use only the version 3 of FFV1 in production, because the >>>> version 1 is deprecated, the version 2 has never really existed, and the >>>> version 4 is currently under development. >>>> >>>> >>>> Transcode a video file using the FFV1 codec into the Matroska container >>>> for preservation purposes. >>>> Solution >>>> >>>> ffmpeg \ >>>> -i input_file \ >>>> -c:v ffv1 \ >>>> -level 3 \ >>>> -coder 1 \ >>>> -context 1 \ >>>> -g 1 \ >>>> -slices 24 \ >>>> -slicecrc 1 \ >>>> -c:a copy \ >>>> output_file.mkv >>>> >>>> 2) Presets for FFV1 and MKV: Choosing the right parameters for the job >>>> (ffv1_params.pdf) >>>> https://docs.google.com/viewer?url=https%3A%2F%2Fmediaarea. >>>> net%2FEvents%2F2019-12-05_NoTimeToWait4%2F03.%2520Peter% >>>> 2520B.%2520-%2520Presets%2520for%2520FFV1%2520and% >>>> 2520MKV%2C%2520Choosing%2520the%2520right%2520parameters%2520for% >>>> 2520the%2520job%2Fffv1_params.pdf&pdf=true >>>> >>>> Level = FFV1 version >>>> page 9 (of 30) >>>> >>>> 0 >>>> 1 (Default) >>>> 3 (Recommended) >>>> >>>> >>>> FFmpeg recipe (PAL) >>>> page 27 (of 30) >>>> >>>> ffmpeg -i VIDEO_IN \ >>>> -c:v ffv1 -level 3 -coder 1 -context 0 -slices 24 -slicecrc 1 \ >>>> -color_primaries bt470bg \ >>>> -color_trc bt709 \ >>>> -colorspace bt470bg \ >>>> -color_range mpeg \ >>>> -map 0 \ >>>> -top 1 \ >>>> -c:a copy \ >>>> -g 1 -pix_fmt + \ >>>> VIDEO_OUT.mkv >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> Cin mailing list >>>> [email protected] >>>> https://lists.cinelerra-gg.org/mailman/listinfo/cin >>>> >>> -- >>> Cin mailing list >>> [email protected] >>> https://lists.cinelerra-gg.org/mailman/listinfo/cin >>> >> > >
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

