Как закодировать плитку HEVC в JPEG?

Я пытаюсь преобразовать файл HEIF в файл JPEG, я извлекаю плитки изображений HEIC с помощью MP4Box, но при преобразовании этих плиток в JPEG с помощью FFMPEG я получаю следующее:

SAKATA-INX: звездный рабочий стол $ MP4Box -dump-item 1: path = item1.hevc still_rear.HEIC

Цветовой профиль ICC не поддерживается Цветовой профиль ICC не поддерживается

SAKATA-INX: звездный рабочий стол $ ffmpeg -i item1.hevc -frames: v 1 -vsync vfr -q: v 1 -an test.jpg

ffmpeg версии 4.0 Авторские права (c) 2000-2018 разработчики FFmpeg создали с Apple LLVM версии 9.1.0 (clang-902.0.39.1)

конфигурация: --prefix = / usr / local / Cellar / ffmpeg / 4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc = clang - host-cflags = --host-ldflags = --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma

libavutil 56. 14.100 / 56. 14.100

libavcodec 58. 18.100 / 58. 18.100

libavformat 58. 12.100 / 58. 12.100

libavdevice 58. 3.100 / 58. 3.100

libavfilter 7. 16.100 / 7. 16.100

libavresample 4. 0. 0 / 4. 0. 0

libswscale 5. 1.100 / 5. 1.100

libswresample 3. 1.100 / 3. 1.100

libpostproc 55. 1.100 / 55. 1.100

[hevc @ 0x7fc56e808e00] Формат hevc обнаружен только с низкой оценкой 1, неправильное определение возможно!

[hevc @ 0x7fc56f800000] Начальный код не найден.

[hevc @ 0x7fc56f800000] отсутствует изображение в блоке доступа

[AVBSFContext @ 0x7fc56e505e00] Начальный код не найден.

item1.hevc: не удалось найти параметры кодека

Ввод # 0, hevc, из 'item1.hevc':

Длительность: N / A, битрейт: N / A

Stream #0:0: Video: hevc, none, 1200k tbn

Вывод # 0, изображение2, в test.jpg:

Выходной файл # 0 не содержит потока

Может ли кто-нибудь сказать мне, как я могу это сделать?


person Ketan Chauhan    schedule 22.06.2018    source источник
comment
Какая версия mp4box?   -  person Gyan    schedule 22.06.2018
comment
MP4Box - версия GPAC 0.7.1-revrelease   -  person Ketan Chauhan    schedule 22.06.2018
comment
хорошо, в декабре 2017 года были некоторые ошибки, связанные с извлечением файлов HEIF. Ваша сборка выглядит старше. Получите ночную сборку или скомпилируйте из последних исходных кодов.   -  person Gyan    schedule 22.06.2018
comment
Не могли бы вы рассказать мне команды для ffmpeg, которые конвертируют плитки hevc в jpeg.   -  person Ketan Chauhan    schedule 22.06.2018
comment
Ваша команда ffmpeg в порядке.   -  person Gyan    schedule 22.06.2018
comment
Работает хорошо, подскажите, пожалуйста, как склеить эти 48 плиток в один файл jpg с помощью ffmpeg? @Gyan   -  person Ketan Chauhan    schedule 02.07.2018
comment
Вы хотите сетку, то есть изображения, расположенные в макете 8x6?   -  person Gyan    schedule 02.07.2018
comment
@Gyan Да, мне нужна сетка из 48 плиток, которые я извлек в макете 8x6.   -  person Ketan Chauhan    schedule 03.07.2018


Ответы (1)


После извлечения всех файлов HEVC создайте текстовый файл.

file file1.hevc
file file2.hevc
file file3.hevc
...
file file48.hevc

а затем запустить

ffmpeg -f concat -i list.txt -vf tile=8x6 -vframes 1 -q:v 1 grid.jpg
person Gyan    schedule 03.07.2018
comment
Я использую эту команду для ((i = 1; i ‹= 51; i ++)); do ffmpeg -i item $ 1.hevc -frames: v 1 -vsync vfr -q: v 1 -an test $ 1.jpg; готово, и теперь у меня 48 плиток в формате jpg, я хочу создать одно изображение из этих 48 плиток. Как я могу это сделать ? - person Ketan Chauhan; 03.07.2018
comment
Готово, спасибо @Gyan - person Ketan Chauhan; 03.07.2018
comment
Может ли кто-нибудь сказать мне, как удалить черную часть внутри изображения jpeg справа и снизу после использования указанной выше команды? - person Ketan Chauhan; 10.12.2018