LINUX.ORG.RU

Как корректно работать с HEIC-ом?

 , ,


0

1

Пишу Веб-приложение на JS, работающее с изображениями загруженными с камеры телефона. И столкнулся с таким прекрасным форматом как HEIC. Задумка приложения в сжатии изображений на фронте и передачи на бек уже небольшого файла. Пробовал heic2any, однако, конвертация занимает слишком много времени около 2-3 секунд на 1мб файла. Можете посоветовать, метод или либу, которая ускорит данную операцию? Также рассматриваю вариант с отправкой сжатого неформатированного хейка на бек.


Изображения практически несжимаемы. Как правило, сжатие достигается потерей качества. Для лучшего сохранения качества, требуются «более затратные» алгоритмы сжатия.

Так что ты хочешь? Что ты делаешь?

andytux ★★★★★
()
Ответ на: комментарий от andytux

Требуется передать сжатое изображение на бек, потеря качества не сильно важна. Бек на питоне в теории гораздо быстрее конвертирует его в jpeg и вернет. Планируется большой поток данных, поэтому очень важно быстродействие)

Ermak
() автор топика
Ответ на: комментарий от Ermak

конвертирует его в jpeg и вернет.

Потерянное качество не вернешь ничем. Всякое «пережатие» приведет к дополнительной потере качества.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Потеря качества не страшна! Нам нужно его сжать для отправки на сервер или конвертировать в JPEG.

Ermak
() автор топика

Так отправляй на бэк и там конвертируй/сжимай, ImageMagick всё прожуёт. Делать это на клиенте в общем случае - глупо.

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 1)

heic2any

Звучит как декодер, а не наоборот...

Веб-приложение на JS
слишком много времени около 2-3 секунд на 1мб файла

Эмм... ,а Вы, чего ожидали?!

erfea ★★★★★
()

Если вывешивать плашку типа "сорян, формат не поддерживается" не вариант, то всегда можно повесить на эти несколько секунд крутилку "подождите" с плашкой "ничего не поделаешь, это heic"

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Понятное дело, что ее можно повесить. Вопрос в том, есть ли способ используя JS конвертировать или сжать хейк быстрее?

Ermak
() автор топика

Пробовал heic2any, однако, конвертация занимает слишком много времени

Если в железе есть аппатный декодер то можно попробовать использовать его через ffmpeg или что-то похожее.

einhander ★★★★★
()
Ответ на: комментарий от einhander

В браузере из js? Кстати может быть получится использовать что-то такое в wasm.

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 1)
Ответ на: комментарий от Ermak

Разобраться в алгоритме и оптимизировать?

Ещё есть вариант написать для пользователей яблок инструкуцию как правильно загрузить изображение. Главное писать простыми и понятными словами, лучше с картинками или видео.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Ещё есть вариант написать для пользователей яблок инструкуцию как правильно загрузить изображение.

HEIC уже не только в яблоках

vasya_pupkin ★★★★★
()

HEIC это и так сжатый формат, причём гораздо более эффективный, чем JPEG. Что вы в нём сжимать хотите?

annulen ★★★★★
()
Ответ на: комментарий от Ermak

Бэк на питоне, фронт на js жмет бинари, нужна скорость. Примерно так я и представлял шизофрению ))))

Anoxemian ★★★★★
()
Ответ на: комментарий от einhander

Добрый день. Если не затруднит, можно поподробнее?

Ermak
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.