Преобразование изображений ffmpeg работает с файлами nokia conformation heic, но не с изображениями iphone heic

Ниже преобразование изображений ffmpeg работает с файлами nokia conformation heic, но не с изображениями iphone heic.

ffmpeg -i c001.heic -c: v mjpeg -frames: v 1 -pix_fmt rgb48outs.jpg (работает для файлов подтверждения nokia https://github.com/nokiatech/heif_conformance/tree/master/conformance_files, но не изображения iphone)

Для изображений iphone генерируется следующее исключение [mov, mp4, m4a, 3gp, 3g2, mj2 @ 0000021bcaba9980] атом moov не найден image4.heic: при обработке ввода обнаружены недопустимые данные

Что-то мне не хватает


person user12879350    schedule 12.02.2020    source источник


Ответы (1)


Не уверен, что это работает с изображениями, но попробуйте эту команду ffmpeg:

ffmpeg -i c001.heic -c:v mjpeg -frames:v 1 -pix_fmt rgb48 -movflags faststart outs.jpg

Аргумент -movflags faststart перемещает файлы атома в начало файла. У меня это сработало для файлов MOV с iPhone. Если это не сработает при перекодировании прямо в JPG, сначала скопируйте файл следующим образом:

ffmpeg -i c001.heic -c:v mjpeg -frames:v 1 -pix_fmt rgb48 -movflags faststart c001_fixed.heic

Затем попробуйте исходную команду.

person feigningfigure    schedule 02.11.2020
comment
-movflags faststart не требуется для JPG, поэтому он будет проигнорирован. Это вариант для вывода в формате MP4. mjpeg не поддерживает -pix_fmt rgb48, поэтому вы можете удалить это (использование этой опции приведет к тому, что кодировщик mjpeg выведет yuvj444p, который, возможно, не будет широко поддерживаться). При выводе JPG не нужно вручную объявлять -c:v mjpeg. - person llogan; 02.11.2020
comment
Вау, это был удобный ответ. :) Спасибо @llogan за разъяснения. - person feigningfigure; 03.11.2020