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.

    • Offizieller Beitrag

    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 12. Februar 2021 um 20:37

    Hat das Label von wcf.acp.label.label6 auf Geplant geändert.
  • Vouk 12. Februar 2021 um 20:37

    Hat das Label Adobe Premiere / MediaEncoder entfernt.
    • Offizieller Beitrag

    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 13. Februar 2021 um 10:35

    Hat das Label von Geplant auf Implementierung geändert.
  • Vouk 13. Februar 2021 um 10:35

    Hat das Label Adobe Premiere / MediaEncoder hinzugefügt.
  • Vouk 13. Februar 2021 um 10:55

    Hat das Label von Implementierung auf Fertig geändert.
  • So hab mit Voukoder 8RC1 getestet. Habe leider unterschiedliche framemd5 erhalten. Das muss an dem RGBA liegen.

    Ist es Dir möglich "rgb48le" für 16-bit RGB und "gbrp10le" für 10-bit RGB noch zu integrieren?