Вопрос или проблема
Главная ветка ffmpeg уже поддерживает формат heic. Как мне передать параметры с помощью команды ffmpeg для конвертации изображений heic в изображения jpeg других разрешений?
ffmpeg -i test.heic output.jpg
, эта команда только транскодирует часть изображения heic;
ffmpeg -i test.heic -map 0 %d.jpeg
, эта команда создаст 49 изображений jpeg.
Но я не знаю, как синтезировать целое изображение jpeg сразу, и у него есть черные границы (кратные 8, например, разрешение 8-го изображения неправильное).
Чтобы конвертировать изображение heic для его обычного просмотра,
sudo apt-get install libheif-examples
затем конвертируйте изображение в jpg:
heif-convert input.heic output.jpg
после чего просмотрите изображение с помощью любого просмотрщика изображений – вот пример:
ristretto output.jpg
это работает на системах, производных от debian, включая ubuntu.
Ответ или решение
Чтобы конвертировать изображения формата HEIC в JPEG с помощью FFmpeg, вам нужно учитывать, что HEIC может содержать несколько изображений (или кадров) в одном файле. Чтобы получить одно целое изображение без черных границ, вам нужно использовать правильные параметры в команде FFmpeg. Приведенные ниже шаги объясняют процесс конверсии:
-
Убедитесь, что у вас установлен FFmpeg. Если он не установлен, вы можете установить его с помощью следующей команды (для Debian и Ubuntu):
sudo apt-get update sudo apt-get install ffmpeg
-
Команда для конверсии. Чтобы конвертировать HEIC в JPEG без увеличения размера изображения (избегая черных границ), используйте следующую команду:
ffmpeg -i input.heic -vf "scale=iw:ih" -q:v 2 output.jpg
Здесь:
-i input.heic
— это ваш входной HEIC файл.-vf "scale=iw:ih"
— фильтр, который сохраняет исходное разрешение (iw
иih
обозначают ширину и высоту входного изображения).-q:v 2
— настройка качества вывода (где 2 — это высокое качество; чем ниже значение, тем выше качество).output.jpg
— имя выходного JPEG файла.
-
Проверка результата. После выполнения команды вы получите файл
output.jpg
, который должен быть корректным JPEG изображением, без черных границ.
Если вы столкнетесь с сложностями при работе с FFmpeg или ваши образы все еще будут отображаться неправильно, вы также можете использовать специальный инструмент libheif
для конверсии HEIC в JPEG. Для этого выполните следующие шаги:
-
Установите libheif:
sudo apt-get install libheif-examples
-
Конвертируйте изображение с помощью heif-convert:
heif-convert input.heic output.jpg
-
Просмотр результата. Вы можете просмотреть созданное изображение любым просмотрщиком изображений, например с помощью Ristretto:
ristretto output.jpg
Эти методы должны помочь вам успешно конвертировать изображения из формата HEIC в JPEG, сохраняя их качество и устраняя проблемы с черными границами. Если у вас есть другие вопросы или проблемы, не стесняйтесь задавать их!