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.

    Help to improve this plugin and support me on patreon or paypal. Thank you.

  • 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

    Help to improve this plugin and support me on patreon or paypal. Thank you.

  • Vouk

    Set the Label from Planned to Implementing
  • Vouk

    Added the Label Adobe Premiere / MediaEncoder
  • Vielen Dank für die schnelle Rückantwort. Das wäre wirklich toll.


    In meinem Fall (16-bit DPX) encoded FFmpeg mit pix_fmts "rgb48le".

  • 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.

    Help to improve this plugin and support me on patreon or paypal. Thank you.

  • Vouk

    Set the Label from Implementing to Done
  • 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?