Den 19.12.2021 01:00, skrev Andrew Randrianasulu:


On Sunday, December 19, 2021, Terje J. Hanssen <[email protected] <mailto:[email protected]>> wrote:



    Den 18.12.2021 04:35, skrev Andrew Randrianasulu:



        On Saturday, December 18, 2021, Terje J. Hanssen
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected]
        <mailto:[email protected]>>> wrote:



            Den 17.12.2021 22:49, skrev Andrew Randrianasulu:



                On Saturday, December 18, 2021, Terje J. Hanssen via Cin
                <[email protected]
        <mailto:[email protected]>
                <mailto:[email protected]
        <mailto:[email protected]>>
                <mailto:[email protected]
        <mailto:[email protected]>
                <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:



                    Den 17.12.2021 15:00, skrev Terje J. Hanssen:


                        Den 17.12.2021 04:58, skrev Andrew Randrianasulu:



                            On Friday, December 17, 2021, Terje J. Hanssen
                            <[email protected]
        <mailto:[email protected]>
                <mailto:[email protected]
        <mailto:[email protected]>>
                <mailto:[email protected]
        <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>
                            <mailto:[email protected]
        <mailto:[email protected]>
                <mailto:[email protected]
        <mailto:[email protected]>>
                            <mailto:[email protected]
        <mailto:[email protected]>
                <mailto:[email protected]
        <mailto:[email protected]>>>>> wrote:

                        [......]

                                ===============

                                I-frame-only 50 Megabit MPEG-2 or
        comparable
                DV50 in
                            4:2:2 as
                                high-end, "visually lossless" intermediate
                format for
                            archival and
                                suited for editing?

                                -----------------

                                Regarding DV50, FFMpeg has a friendly
        "target
                dv50"
                            support
                                (similar as "target DVD"). So to get a
        first
                look on a
                            DV50 test
                                file, I simply transcoded 422/10bit
        Video and PCM
                            audio from a MOV
                                file (ProRes 422HQ) to a raw DV50
        (422/8bit) file:

                                    ffmpeg -i SD-MOV.mov -target pal-dv50
                SD-DV50.dv

                                [......]


                                205M SD-DV50.dv (ffmpeg
        re-encoded/remuxed)
                AV-info:

                                avprobe SD-DV50.dv
                                avprobe version 12.3, Copyright (c)
        2007-2018 the
                            Libav developers
                                  built on Mar 26 2018 12:39 with gcc
        11 (SUSE
                Linux)
                                [dv @ 0x55cdddb96440] Estimating
        duration from
                            bitrate, this may
                                be inaccurate
                                Input #0, dv, from 'SD-DV50.dv':
                                  Metadata:
                                    timecode        : 00:00:00:00
                                  Duration: 00:00:29.80, start:
        0.000000, bitrate:
                            57600 kb/s
                                  Stream #0:0: Video: dvvideo, yuv422p,
                720x576 [SAR
                            16:15 DAR
                                4:3], 25000 kb/s, 25 fps, 25 tbr, 25
        tbn, 25 tbc
                                  Stream #0:1: Audio: pcm_s16le, 48000
        Hz, stereo,
                            s16, 1536 kb/s
                                  Stream #0:2: Audio: pcm_s16le, 48000
        Hz, stereo,
                            s16, 1536 kb/s
                                # avprobe output

                                ===================

                                As seen above, it looks like ffmpeg
        produced wrong
                            meta data for
                                the DV50 video bitrate (25 Mb/s=DV25),
        while
                the total
                            bitrate
                                57.6 Mb/s is correct. (Also similar
        was seen with
                            ffprobe and
                                Mediainfo).

                                My VLC player or Gnome movieplayer did not
                playback
                            the DV50 file,
                                while ffplay did (as usual without
        audio?).

                                Cin-GG miss a DV50 preset among format
        setting.
                            However DV50 else
                                loades preliminary OK in Cin-GG (via
        ffmpeg).


                            I'll look at dv50 output preset..

                        Fine

                    ===============

                    I tried also to transcode and remux 422 Video and PCM
                Audio to a
                    50 Mbps MPEG-2 I-frame only program stream.

                    1) MPG From MOV (ProRes 422HQ)
                    ------------------------------

                    ffmpeg -i SD-MOV.mov -c:v mpeg2video -bf 2 -b:v 50M
                -maxrate 50M
                    -minrate 50M -c:a pcm_s16be -f vob SD-MP2I-50.mpg
                    [....]
                    Stream mapping:
                      Stream #0:0 -> #0:0 (prores (native) ->
        mpeg2video (native))
                      Stream #0:1 -> #0:1 (pcm_s24le (native) -> pcm_s16be
                (native))
                    Press [q] to stop, [?] for help
                    [mpeg2video @ 0x560ffd164ec0] Automatically
        choosing VBV
                buffer
                    size of 746 kbyte
                    [vob @ 0x560ffd14d180] At most 8 channels allowed
        for LPCM
                streams.
                    Could not write header for output file #0
        (incorrect codec
                    parameters ?): Invalid argument
                    Error initializing output stream 0:1 --

                    ***This failed because PreRes Audio uses 16
        channels:***


                yeah... interesting limitation.. and interesting number of
                channels..


                    ffprobe SD-MOV.mov 2>&1 >/dev/null | grep
        Stream.*Audio
                      Stream #0:1(eng): Audio: pcm_s24le (lpcm /
        0x6D63706C),
                48000
                    Hz, 16 channels, s32 (24 bit), 18432 kb/s (default)


                    2) MPG from DV50
                    ----------------
                    ffmpeg -i SD-DV50.dv -c:v mpeg2video -bf 2 -b:v 50M
                -maxrate 50M
                    -minrate 50M -c:a pcm_s16be -f vob SD-MP2I-50.mpg

                    du -sh *
                    205M    SD-DV50.dv
                    284M    SD-MOV.mov
                    186M    SD-MP2I-50.mpg

                    avprobe SD-MP2I-50.mpg
                    Input #0, mpeg, from 'SD-MP2I-50.mpg':
                      Duration: 00:00:29.77, start: 0.540000, bitrate:
        52167 kb/s
                        Stream #0:0[0x1e0]: Video: mpeg2video (4:2:2),
        yuv422p(tv,
                    progressive), 720x576 [SAR 16:15 DAR 4:3], 50000
        kb/s, 25
                fps, 25
                    tbr, 90k tbn, 50 tbc
                        Stream #0:1[0xa0]: Audio: pcm_dvd, 48000 Hz, 2
                channels, s16,
                    1536 kb/s

                    ***** The SD-MP2I-50.mpg file size is here 90% of DV50
                ********

                    The SD-MP2I-50.mpg playback ok with VLC, Gnome
        movieplayer,
                    ffplay, and loads and playback in Cin-GG
                    The audio volume seems low (weak), but can probably be
                adjusted
                    higher with ffmpeg


                well, but I missed keyframe parameter? bitrate is big
        but I
                think without special param ffmpeg still will not make
        all-I
                mpeg2 stream..?



            The first Video part of my ffmpeg script was based on this
            standard FFmpeg Howto for
            "MPEG-2 I-frame only Highest Quality Encoding", which didn't
            include a keyframe parameter !?
        
https://brunosan.eu/images/ffmpeg_howto.html#Encoding_MPEG-2_I-frame_only_in_Highest_Quality
        
<https://brunosan.eu/images/ffmpeg_howto.html#Encoding_MPEG-2_I-frame_only_in_Highest_Quality>
           
        
<https://brunosan.eu/images/ffmpeg_howto.html#Encoding_MPEG-2_I-frame_only_in_Highest_Quality
        
<https://brunosan.eu/images/ffmpeg_howto.html#Encoding_MPEG-2_I-frame_only_in_Highest_Quality>>

            ffmpeg -i <input_file> -vcodec mpeg2video -pix_fmt yuv422p
        -qscale
            1 -qmin 1 -intra -an output.m2v


        you missed

        -intra?


    Thanks for reviewing. "-intra" should definitely be there, and I
    know I used it before editing and troubleshooting the audiopart,
    removing -an. Cleaned up and added also some other parameters
    -q:v 1 -qmin 1 -intra


    3) MP2I50 from DV50:
    ---------------------
    ffmpeg -i SD-DV50.dv -c:v mpeg2video -q:v 1 -qmin 1 -intra -bf 2
    -b:v 50M -maxrate 50M -minrate 50M -c:a pcm_s16be -f vob SD-MP2I50.mpg
    [...]
    Input #0, dv, from 'SD-DV50.dv':
      Metadata:
        timecode        : 00:00:00:00
      Duration: 00:00:29.80, start: 0.000000, bitrate: 57600 kb/s
      Stream #0:0: Video: dvvideo, yuv422p, 720x576 [SAR 16:15 DAR
    4:3], 25000 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
      Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
      Stream #0:2: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    [... a lot of vob buffer messages scrolling ....]
    [vob @ 0x564dbf6a0680] packet too large, ignoring buffer limits to
    mux it
    [vob @ 0x564dbf6a0680] buffer underflow st=1 bufi=7204 size=7680
    frame=  745 fps=460 q=1.0 Lsize=  189584kB time=00:00:29.76
    bitrate=52186.6kbits/s speed=18.4x
    video:181698kB audio:5588kB subtitle:0kB other streams:0kB global
    headers:0kB muxing overhead: 1.227127%

    avprobe SD-MP2I50.mpg
    avprobe version 12.3, Copyright (c) 2007-2018 the Libav developers
      built on Mar 26 2018 12:39 with gcc 7 (SUSE Linux)
    Input #0, mpeg, from 'SD-MP2I50.mpg':
      Duration: 00:00:29.80, start: 0.540000, bitrate: 52116 kb/s
        Stream #0:0[0x1e0]: Video: mpeg2video (4:2:2), yuv422p(tv,
    progressive), 720x576 [SAR 16:15 DAR 4:3], 50000 kb/s, 25 fps, 25
    tbr, 90k tbn, 50 tbc
        Stream #0:1[0xa0]: Audio: pcm_dvd, 48000 Hz, 2 channels, s16,
    1536 kb/s

    ================

    (Re)tested also with

    4) No intra (-intra)
    ffmpeg -i SD-DV50.dv -c:v mpeg2video -bf 2 -b:v 50M -maxrate 50M
    -minrate 50M -c:a pcm_s16be -f vob SD-MP2-50.mpg

    5) Without specified Video bitrate (-b:v)
    ffmpeg -i SD-DV50.dv -c:v mpeg2video -q:v 1 -qmin 1 -intra -bf 2
    -c:a pcm_s16be -f vob SD-MP2I-.mpg

    6) Video only - no Audio (-an):
    ffmpeg -i SD-DV50.dv -vcodec mpeg2video -q:v 1 -qmin 1 -intra -an
    SD-MP2I50-an.m2v

    -----------------

    du -sh *
    284M    SD-MOV.mov
    205M    SD-DV50.dv
    186M    SD-MP2I50.mpg    (3)
    186M    SD-MP2-50.mpg    (4)
    153M    SD-MP2I-.mpg     (5)
    146M    SD-MP2I50-an.m2v (6)

    As seen, no size difference between -intra (3) and without intra
    flag specified (4) above:
    186/205 = 90% size of the input SD-DV50.dv

    I would expect this due to high bitrate and some more effectiv
    video compression for MPEG-2 over DV50.
    While the consumer DV25/4:2:0 pal uses 5:1 intra compression, the
    pro(sumer) DV50/4:2:2 uses lower 3.3:1.

    -------------

    7) Another, equivalent SD MPEG-2/ 422P@ML option to setup for
    Cin-GG/ FFMpeg preset could be:

    D10 aka Sony IMX50 Encoding - a standard definition professional
    video recording format. Uses intraframe
    compression, 4:2:2 color subsampling and user-selectable constant
    video data rate of 30, 40 or 50 Mbit/s.

    422P@ML  720 × 576 25 FPS 4:2:2 Sampling 50 Mbits/s
    Sony IMX50 (I only), Broadcast Contribution (I&P only)

    The Howto contains both a short and a long script version.

    ----------------


        ffmpeg changes cmd line and API quickly.. (

        try "-g 1" and check keyframes with some linevlike those?

        
https://snippets.bentasker.co.uk/page-1707191206-Get-Video-Keyframe-Interval-(ffprobe)-BASH.html
        
<https://snippets.bentasker.co.uk/page-1707191206-Get-Video-Keyframe-Interval-(ffprobe)-BASH.html>
        
<https://snippets.bentasker.co.uk/page-1707191206-Get-Video-Keyframe-Interval-(ffprobe)-BASH.html
        
<https://snippets.bentasker.co.uk/page-1707191206-Get-Video-Keyframe-Interval-(ffprobe)-BASH.html>>


    I tried to copy and paste some line from the manual url, but
    If you possibly can setup an exact FF syntax to run here, I can do
    it ;)


attached copy of script Phyllis send to me back in 2019


Sorry I'm not skilled with sed scripts. "Somewhere" I would expect my encoded file name "SD-MP2I50.mpg" should be put in to be read and analyzed with ffprobe? And what about the first mentioned "-g 1" ?

What are we really searching for or verify in this I-frame only encoded MPEG-2 video file ?

And isn't keyframes another (previous?) name for Intra-frames?












            I dropped -pix_fmt yuv422p when I saw it was detected and
            automatic from the input file.


            So I added the second PCM Audio part (similar I did for SD-DV)
            according to 1. Answer at
        
https://stackoverflow.com/questions/48265448/mpeg-2-program-stream-w-pcm-audio
        
<https://stackoverflow.com/questions/48265448/mpeg-2-program-stream-w-pcm-audio>
           
        
<https://stackoverflow.com/questions/48265448/mpeg-2-program-stream-w-pcm-audio
        
<https://stackoverflow.com/questions/48265448/mpeg-2-program-stream-w-pcm-audio>>

            FFmpeg only supports muxing 16 bit PCM in a MPEG2 PS. Use

            ffmpeg -i "input.mov" \
              -c:v mpeg2video -pix_fmt yuv422p -bf 2 -b:v 50M -maxrate 50M
            -minrate 50M \
              -s 1920x1080 -aspect 16:9 \
              -c:a pcm_s16be -f vob "output.mpg"

            The -f vob is needed to force a MPEG-2 PS, else ffmpeg
        will select
            MPEG-1 Systems muxer.







-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to