Android убирает звук из видео

В моей программе он получает видео MP4, и я хочу, чтобы он выводил MP3 (без каких-либо серверных вещей). Поскольку Android (и мое приложение) должны работать на многих различных конфигурациях оборудования, это означает, что я, вероятно, не могу использовать FFMPEG. . Я знаю, что это может быть очень затратным по батарее и вычислительной мощности, особенно для мобильного телефона, но мне нужна эта опция для моих пользователей. Я не могу найти нативных библиотек для Java, которые не используют FFMPEG.

Ответов (3)

Решение

Я не вижу проблем с FFMPEG, поскольку, по всей видимости, он работает на 11 архитектурах, поддерживаемых Debian. По-видимому, только неподдерживаемая архитектура - это m68k, другие - старые версии в портах на ядро ​​FreeBSD или ядро ​​Hurd. И из того, что я знаю об Android, тот факт, что он основан на ARM, в ближайшее время не изменится.

Конечно, могут быть некоторые проблемы с оболочками Java вокруг нативного кода. Это проблема? Я не программист на Android и не на Java, но уверен, что вы сможете определить платформу и динамически загрузить соответствующую нативную оболочку.

Я не использовал его, но я скачал и просматриваю API для IBM Toolkit для MPEG-4 . Тем не менее, это немного освещает функции доступа к данным. Однако реализация - чистая java. Похоже, они запутали свои банки кодеков.

MPEG_4 Part 14 (расширение файла .mp4) - это контейнерный формат. Другими словами, это указывает, как несколько потоков мультимедиа могут быть упакованы вместе. Обработка контейнерных форматов требует гораздо меньших вычислительных затрат, чем, например, сжатие или распаковка видео. Я был бы удивлен, если бы считывание файла .mp4 и извлечение аудиопотока на процессоре ARM сотового телефона оказалось слишком затратным с точки зрения вычислений.

Сразу подходящих Java-библиотек я тоже не видел. Вероятно, было бы не так уж сложно создать свою собственную библиотеку. Разбирать форматы контейнеров намного проще, чем распаковывать видео. И у вас есть реализация libavformat в ffmpeg в качестве ссылки. Стандарты MPEG4 Part 14 можно найти здесь:

http://webstore.iec.ch/preview/info_isoiec14496-14%7Bed1.0%7Den.pdf

и тут:

http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html