Вопрос или проблема
Я использую FFMPEG в приложении для Android и пытался использовать кодек VVC с помощью следующих команд:
-y -i saf:4.mp4 -c:v omx_enc_vvc -b:v 2M -preset medium saf:2.mp4
-y -i saf:4.mp4 -c:v libvvenc -crf 23 -preset medium -b:v 1M -g 48 saf:2.mp4
и получил ошибку сессии и сообщения:
Неизвестный кодировщик 'omx_enc_vvc'
Неизвестный кодировщик 'libvvenc '
Я использую пакет com.arthenica.ffmpegkit.
Есть ли способ использовать VVC в Android?
Ответ или решение
Ошибка: Неизвестные кодировщики ‘omx_enc_vvc’ и ‘libvvenc’ в FFmpeg на Android
Ваша проблема с кодировкой видео через FFmpeg в приложении для Android связана с ошибками, указывающими на неизвестные кодировщики: omx_enc_vvc
и libvvenc
. Давайте разберем детали ошибки и возможные пути её решения.
Понимание кодировщиков FFmpeg
-
omx_enc_vvc:
- Это аппаратный кодировщик, который использует возможности OpenMAX (OMX) для аппаратного ускорения. Однако, этот кодировщик может быть недоступен на некоторых устройствах Android, так как его поддержка зависит от конкретной версии аппаратного обеспечения и прошивки устройства.
-
libvvenc:
- Это программный кодировщик, который реализует VVC (Versatile Video Coding). Он также может не быть включен в сборку FFmpeg, которую вы используете.
Причины ошибок
-
Отсутствие поддержки: Если ваши команды возвращают ошибку типа «Неизвестный кодировщик», это указывает на то, что FFmpeg не скомпилирован с поддержкой этих кодировщиков. Это может быть связано с тем, что ваша версия FFmpeg, включенная в пакет
com.arthenica.ffmpegkit
, не поддерживает VVC. -
Депрецированные кодировщики: Если вы используете устаревшую или нестабильную версию FFmpeg, некоторые кодировщики могут быть удалены или не поддерживаться.
Решения
-
Проверьте версию FFmpeg:
Убедитесь, что используете последнюю версиюcom.arthenica.ffmpegkit
. Обновления могут включать новые кодировщики и исправления ошибок. -
Сборка FFmpeg с поддержкой нужных кодировщиков:
- Если вы имеете опыт работы с компиляцией программного обеспечения, вы можете собрать FFmpeg самостоятельно, включив поддержку
libvvenc
и других необходимых кодировщиков, следуя официальным инструкциям. - Это потребует наличия необходимых библиотек и инструментов для компиляции, а также может потребовать значительных усилий на настройку окружения.
- Если вы имеете опыт работы с компиляцией программного обеспечения, вы можете собрать FFmpeg самостоятельно, включив поддержку
-
Используйте альтернативные кодеки:
Если VVC не является критически важным для вашего приложения, рассмотрите возможность использования более распространенных кодеков, таких как H.264 или H.265 (HEVC), которые обычно имеют широкую поддержку. -
Обратитесь к сообществу:
Рассмотрите возможность публикации вашего запроса в тематических форумах о FFmpeg или на GitHub в репозиториях, связанных сffmpeg-kit
. Возможно, кто-то уже сталкивался с аналогичной проблемой и сможет предложить решение. -
Документация и ресурсы:
Обратитесь к официальной документации FFmpeg и материалам поffmpeg-kit
, чтобы получить более детальную информацию о поддерживаемых кодировщиках и как их использовать.
Заключение
Если вы сталкиваетесь с проблемой «Неизвестный кодировщик», убедитесь, что ваша сборка FFmpeg поддерживает необходимые кодеки, или попробуйте альтернативные варианты кодировки. Всегда полезно держать ваше программное обеспечение в актуальном состоянии и следить за сообществом для решения возникающих вопросов.