Warum meldet ffmpeg beim Demuxen einiger EXRs falsche oder fehlende Größeninformationen?

Ich konvertiere EXR-Bildsequenzen in mp4. Einige Sequenzen werden ohne Fehler konvertiert, andere melden "falsche oder fehlende Größeninformationen" und generieren . Es ist schwierig zu erkennen, was in diesen Sequenzen anders ist. Bisher sieht es so aus:

  • Single-Layer-EXRs funktionieren immer, Multilayer-EXRs funktionieren normalerweise
  • EXRs ohne Transparenz funktionieren immer, EXRs mit Transparenz funktionieren normalerweise
  • ExifTool meldet eine "Composite" -Bildgröße von 1920 x 1082 bei fehlgeschlagenen EXRs
  • Erhöhen analyzedurationund probesizemacht keinen Unterschied
  • Explizites Setzen video_size 1920x1080auf fehlgeschlagene Bildsequenzen macht keinen Unterschied (Standbilder schlagen fehl, etwas andere Fehlermeldung)

C:\Users\username\Documents\exr_bad1>ffmpeg -y -start_number 101 -i F1_255_020.%04d.exr test.mp4
ffmpeg version 2.8.4 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[exr @ 04e48880] Wrong or missing size information.
[image2 @ 04e536a0] decoding for stream 0 failed
[image2 @ 04e536a0] Could not find codec parameters for stream 0 (Video: exr, rgba64le): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
F1_255_020.%04d.exr: could not find codec parameters
Input #0, image2, from 'F1_255_020.%04d.exr':
  Duration: 00:00:01.20, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: exr, rgba64le, 25 tbr, 25 tbn, 25 tbc
[buffer @ 04e4cdc0] Unable to parse option value "0x0" as image size
    Last message repeated 1 times
[buffer @ 04e4cdc0] Error setting option video_size to value 0x0.
[graph 0 input from stream 0:0 @ 04e81c60] Error applying options to the filter.
Error opening filters!
Beachten Sie, dass 2.8.4dies als alt gilt und Benutzer aufgefordert werden, einen Build aus dem aktuellen Git-Master-Zweig zu verwenden, den Zeranoe bereitstellt . Das Aktualisieren Ihres ffmpegnach dem Auftreten eines Problems ist immer der erste Schritt, den Sie versuchen sollten.

Antworten (1)

ExifTool meldet eine "Composite"-Bildgröße von 1920 x 1082 bei fehlgeschlagenen EXRs

Das war das Problem. Einige mehrschichtige EXRs bestanden aus mehreren 1920 x 1080-Ebenen, aber die Ebenen waren nicht ausgerichtet, sodass die endgültige Größe falsch war (wie von ExifTool gemeldet) und ffmpeg damit nicht umgehen konnte.

Nach Korrektur der EXR-Generierung funktionierte die neue Bildfolge.