FFV1 RGB Support?

  • Hallo allerseits,


    bin auf Voukoder gestoßen, da ich mit Premiere DPX-Sequenzen als FFV1 ausspielen möchte und das von Haus aus ja nicht geht.

    Hab getestet und dabei ist mir aufgefallen, das man in den Optionen das Pixelformat ändern kann. Meine DPX sind z.B. RGB 16-bit.

    Leider geht nur YUV auszuwählen.


    In FFMPEG macht das z.B. dieser Code:

    Code
    ffmpeg -nostdin -framerate 25.000000 -f image2 -c:v dpx -start_number 000000 -i "sequencefolder/test_%06d.dpx" -c:a copy -c:v ffv1 -coder 1 -context 1 -f matroska -g 1 -level 3 -slicecrc 1 -slices 16 -f matroska "output.mkv" -f framemd5 "output.framemd5"

    Mit Voukoder werden die Files nun leider codiert, somit sind die Original-DPX nicht mehr dieselben in der MKV. Kann man anhand der Framemd5 prüfen.

    Könnte man bei den Optionen auch RGB aufführen oder noch besser nur ein Copy? Bei FFV1 sollen ja die Source-Dateien unverändert in die MKV geschoben werden, so dass man sie auch bei Bedarf wieder aus der MKV in den Ursprungszustand extrahieren kann.

  • Ein "copy" geht an der Stelle nicht. Premiere dekodiert jedes Frame und gibt den Framebuffer unkomprimiert an Plugins (=Voukoder) weiter. Voukoder muss das dann mit FFmpeg / libav abgleichen. In diesem Falle wäre es wohl:

    • PrPixelFormat_BGRA_4444_8u => bgra (Keine Konvertierung notwendig)
    • PrPixelFormat_BGRA_4444_16u => bgra64le (mal sehen ob FFV1 das akzeptiert)

    Ist ein bisschen Arbeit, sollte aber gehen.

  • Vouk

    Set the Label from Feature Request to Planned
  • Vouk

    Removed the Label Adobe Premiere / MediaEncoder
  • Ich habe mal diverse Tests durchgeführt. Das sieht soweit ganz gut aus. Der Adobe 16 bit Modus enthält allerdings nur 15 bit Farbinformation und muss in FFmpeg kompatible 16 bit skaliert werden. (SIMD SSE2).

    8 Bit

    Encoding

    Code
    [09:56:46] FFmpeg: Stream #0:0
    [09:56:46] FFmpeg: , 0, 1001/60000
    [09:56:46] FFmpeg: : Video: ffv1, 1 reference frame, bgra(progressive), 3840x2160 (0x0) [SAR 1:1 DAR 16:9], 0/1, q=2-31, 200 kb/s
    [09:56:46] FFmpeg: ,
    [09:56:46] FFmpeg: 59.94 fps,
    [09:56:46] FFmpeg: 59.94 tbn
    [09:56:46] FFmpeg:

    MediaInfo

    16 Bit

    Encoding

    Code
    [10:10:43] FFmpeg: Stream #0:0
    [10:10:43] FFmpeg: , 0, 1001/60000
    [10:10:43] FFmpeg: : Video: ffv1, 1 reference frame, rgba64le(progressive), 3840x2160 (0x0) [SAR 1:1 DAR 16:9], 0/1, q=2-31, 200 kb/s
    [10:10:43] FFmpeg: ,
    [10:10:43] FFmpeg: 59.94 fps,
    [10:10:43] FFmpeg: 59.94 tbn

    MediaInfo

  • Vouk

    Set the Label from Planned to Implementing
  • Vouk

    Added the Label Adobe Premiere / MediaEncoder
  • Wird im nächsten Release enthalten sein. Benötigt dann zusätzlich den angepassten Premiere Connector 1.7.0.


    Die Daten in rgb48le und bgra64le sind identisch. bgra64le hat nur eine andere Kanalsortierung und zusätzlich einen Alpha Kanal für Transparenz.

  • Vouk

    Set the Label from Implementing to Done