Beiträge von Vouk

    Thanks for letting me know.

    It really sounds like there is a QT specific issue. I don't set the Track-ID / Stream-ID manually. But the order shouldn't matter at all. Can you send me a small sample file so that I can investigate this as well?

    I'd like to, but it's difficult to find information about it. As far as i know FFmpeg contains an IMF demuxer, but not a muxer. The images themselves seem to be JPEG2000 encoded. Do you know if it is possible to create an IMF file with FFmpeg?

    These are the options I have available:

    ffmpeg version 549430e Copyright (c) 2000-2023 the FFmpeg developers
     built with Microsoft (R) C/C++ Optimizing Compiler Version 19.36.32532 for x64
     configuration: --toolchain=msvc --extra-cflags='-MDd -I../build/include' --extra-ldflags='-LIBPATH:../build/lib' --prefix=../build --extra-libs=Ole32.lib --extra-libs=Advapi32.lib --disable-doc --pkg-config-flags=--static --disable-shared --enable-static --enable-runtime-cpudetect --enable-w32threads --enable-gpl --enable-libvpl --enable-libsvtav1 --enable-libsnappy --enable-libmp3lame --enable-libzimg --enable-libvorbis --enable-libopus --enable-libx264 --enable-libx265 --enable-libfdk-aac
     libavutil      58.  2.100 / 58.  2.100
     libavcodec     60.  3.100 / 60.  3.100
     libavformat    60.  3.100 / 60.  3.100
     libavdevice    60.  1.100 / 60.  1.100
     libavfilter     9.  3.100 /  9.  3.100
     libswscale      7.  1.100 /  7.  1.100
     libswresample   4. 10.100 /  4. 10.100
     libpostproc    57.  1.100 / 57.  1.100
    Encoder libfdk_aac [Fraunhofer FDK AAC]:
       General capabilities: dr1 delay small
       Threading capabilities: none
       Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000
       Supported sample formats: s16
       Supported channel layouts: mono stereo 3.0 4.0 5.0 5.1 6.1(back) 7.1(wide) 7.1 7.1(top)
    libfdk_aac AVOptions:
     -afterburner       <int>        E...A...... Afterburner (improved quality) (from 0 to 1) (default 1)
     -eld_sbr           <int>        E...A...... Enable SBR for ELD (for SBR in other configurations, use the -profile parameter) (from 0 to 1) (default 0)
     -eld_v2            <int>        E...A...... Enable ELDv2 (LD-MPS extension for ELD stereo signals) (from 0 to 1) (default 0)
     -signaling         <int>        E...A...... SBR/PS signaling style (from -1 to 2) (default default)
        default         -1           E...A...... Choose signaling implicitly (explicit hierarchical by default, implicit if global header is disabled)
        implicit        0            E...A...... Implicit backwards compatible signaling
        explicit_sbr    1            E...A...... Explicit SBR, implicit PS signaling
        explicit_hierarchical 2            E...A...... Explicit hierarchical signaling
     -latm              <int>        E...A...... Output LATM/LOAS encapsulated data (from 0 to 1) (default 0)
     -header_period     <int>        E...A...... StreamMuxConfig and PCE repetition period (in frames) (from 0 to 65535) (default 0)
     -vbr               <int>        E...A...... VBR mode (1-5) (from 0 to 5) (default 0)

    I don't see this profile here:

    ffmpeg version 549430e Copyright (c) 2000-2023 the FFmpeg developers
     built with Microsoft (R) C/C++ Optimizing Compiler Version 19.36.32532 for x64
     configuration: --toolchain=msvc --extra-cflags='-MDd -I../build/include' --extra-ldflags='-LIBPATH:../build/lib' --prefix=../build --extra-libs=Ole32.lib --extra-libs=Advapi32.lib --disable-doc --pkg-config-flags=--static --disable-shared --enable-static --enable-runtime-cpudetect --enable-w32threads --enable-gpl --enable-libvpl --enable-libsvtav1 --enable-libsnappy --enable-libmp3lame --enable-libzimg --enable-libvorbis --enable-libopus --enable-libx264 --enable-libx265 --enable-libfdk-aac
     libavutil      58.  2.100 / 58.  2.100
     libavcodec     60.  3.100 / 60.  3.100
     libavformat    60.  3.100 / 60.  3.100
     libavdevice    60.  1.100 / 60.  1.100
     libavfilter     9.  3.100 /  9.  3.100
     libswscale      7.  1.100 /  7.  1.100
     libswresample   4. 10.100 /  4. 10.100
     libpostproc    57.  1.100 / 57.  1.100
    Encoder hevc_amf [AMD AMF HEVC encoder]:
       General capabilities: dr1 delay hardware
       Threading capabilities: none
       Supported hardware devices: d3d11va d3d11va dxva2 dxva2
       Supported pixel formats: nv12 yuv420p d3d11 dxva2_vld
    hevc_amf AVOptions:
     -usage             <int>        E..V....... Set the encoding usage (from 0 to 3) (default transcoding)
        transcoding     0            E..V.......
        ultralowlatency 1            E..V.......
        lowlatency      2            E..V.......
        webcam          3            E..V.......
     -profile           <int>        E..V....... Set the profile (default main) (from 1 to 1) (default main)
        main            1            E..V.......
     -profile_tier      <int>        E..V....... Set the profile tier (default main) (from 0 to 1) (default main)
        main            0            E..V.......
        high            1            E..V.......
     -level             <int>        E..V....... Set the encoding level (default auto) (from 0 to 186) (default auto)
        auto            0            E..V.......
        1.0             30           E..V.......
        2.0             60           E..V.......
        2.1             63           E..V.......
        3.0             90           E..V.......
        3.1             93           E..V.......
        4.0             120          E..V.......
        4.1             123          E..V.......
        5.0             150          E..V.......
        5.1             153          E..V.......
        5.2             156          E..V.......
        6.0             180          E..V.......
        6.1             183          E..V.......
        6.2             186          E..V.......
     -quality           <int>        E..V....... Set the encoding quality (from 0 to 10) (default speed)
        balanced        5            E..V.......
        speed           10           E..V.......
        quality         0            E..V.......
     -rc                <int>        E..V....... Set the rate control mode (from -1 to 3) (default -1)
        cqp             0            E..V....... Constant Quantization Parameter
        cbr             3            E..V....... Constant Bitrate
        vbr_peak        2            E..V....... Peak Contrained Variable Bitrate
        vbr_latency     1            E..V....... Latency Constrained Variable Bitrate
     -header_insertion_mode <int>        E..V....... Set header insertion mode (from 0 to 2) (default none)
        none            0            E..V.......
        gop             1            E..V.......
        idr             2            E..V.......
     -gops_per_idr      <int>        E..V....... GOPs per IDR 0-no IDR will be inserted (from 0 to INT_MAX) (default 1)
     -preanalysis       <boolean>    E..V....... Enable preanalysis (default false)
     -vbaq              <boolean>    E..V....... Enable VBAQ (default false)
     -enforce_hrd       <boolean>    E..V....... Enforce HRD (default false)
     -filler_data       <boolean>    E..V....... Filler Data Enable (default false)
     -max_au_size       <int>        E..V....... Maximum Access Unit Size for rate control (in bits) (from 0 to INT_MAX) (default 0)
     -min_qp_i          <int>        E..V....... min quantization parameter for I-frame (from -1 to 51) (default -1)
     -max_qp_i          <int>        E..V....... max quantization parameter for I-frame (from -1 to 51) (default -1)
     -min_qp_p          <int>        E..V....... min quantization parameter for P-frame (from -1 to 51) (default -1)
     -max_qp_p          <int>        E..V....... max quantization parameter for P-frame (from -1 to 51) (default -1)
     -qp_p              <int>        E..V....... quantization parameter for P-frame (from -1 to 51) (default -1)
     -qp_i              <int>        E..V....... quantization parameter for I-frame (from -1 to 51) (default -1)
     -skip_frame        <boolean>    E..V....... Rate Control Based Frame Skip (default false)
     -me_half_pel       <boolean>    E..V....... Enable ME Half Pixel (default true)
     -me_quarter_pel    <boolean>    E..V....... Enable ME Quarter Pixel  (default true)
     -aud               <boolean>    E..V....... Inserts AU Delimiter NAL unit (default false)
     -log_to_dbg        <boolean>    E..V....... Enable AMF logging to debug output (default false)

    vRender with 8.4 ms is quite high. Looks like either a complex video or a slow CPU.

    vProcess is 0 ms. I guess you're inputting yuv420 and passing it directly to the encoder

    vEncoding with 160 ms is also high. Either slow cpu or slow gpu (depends on what encoder you're using)

    aRenderEncode with 0.44 ms is okay.

    All in all, if all frames are like this it'd an encoding speed of 5.92 fps.