Почему ffmpeg сообщает неправильную или отсутствующую информацию о размере при демультиплексировании некоторых EXR?

Я конвертирую последовательности изображений EXR в mp4. Некоторые последовательности преобразуются без ошибок, но другие сообщают о «неправильной или отсутствующей информации о размере» и генерируют файлы . Трудно определить, что отличается в этих последовательностях. Пока кажется, что:

  • Однослойные EXR всегда работают, многослойные EXR обычно работают
  • EXR без прозрачности работают всегда, EXR с прозрачностью обычно работают
  • ExifTool сообщает о размере «составного» изображения 1920x1082 при сбое EXR.
  • Увеличивается analyzedurationи probesizeне имеет значения
  • Явная настройка video_size 1920x1080неудачных последовательностей изображений не имеет значения (неполадки с кадрами, немного другое сообщение об ошибке)

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!
Обратите внимание, что 2.8.4это считается старым, и пользователям рекомендуется использовать сборку из текущей ветки git master, которую предоставляет Zeranoe . Обновление ffmpegпосле обнаружения проблемы всегда является первым шагом, который нужно попробовать.

Ответы (1)

ExifTool сообщает о размере «составного» изображения 1920x1082 при сбое EXR.

В этом была проблема. Некоторые многослойные EXR состояли из нескольких слоев 1920x1080, но слои не были выровнены, поэтому окончательный размер был неправильным (как сообщает ExifTool), и ffmpeg не мог его обработать.

После исправления генерации EXR новая последовательность изображений заработала.