Linux или Cygwin или Mac.
Android NDK (r20 для версии 1.21.0)
Исходные коды FFmpeg (можно загрузить со страницы загрузки)
1. Извлеките загруженные исходники FFmpeg
2. Откройте папку ffmpeg -> JNI
3. Измените CPU_CORE в build.sh и build-ffmpeg.sh, чтобы он соответствовал номеру ядра процессора вашей сборочной машины
4.Если вы хотите использовать собственную конфигурацию сборки FFmpeg, конфиги можно изменить, отредактировав config-ffmpeg.sh
5. Откройте Терминал
6. Измените рабочий каталог на каталог ffmpeg/JNI
7. Создайте переменную среды NDK, чтобы указать путь к NDK (например, export NDK=/usr/src/android-ndk-r20b)
8. Запустите reboot-ffmpeg.sh, чтобы создать собственный кодек для всех поддерживаемых архитектур
9. Если вы хотите создать собственный кодек для конкретной архитектуры, запустите оба build-openssl.sh и build-ffmpeg.sh с одним из следующих аргументов.
- arm64
- neon
- tegra3
- tegra2
- x86
- x86_64
10. После успешного завершения процесса файл libffmpeg.mx.so будет создан в соответствующих подкаталогах папки libs (например, ffmpeg/JNI/libs/arm64-v8a).
Начиная с версии 1.7.29, соглашение об именах файлов пользовательских кодеков изменено на следующий формат:
libffmpeg.mx.so.<код-архитектуры-процессора>.<номер-версии>
Код архитектуры ЦП является одним из следующих:
- arm64
- neon
- tegra3
- tegra2
- x86
- x86_64
Номер версии будет таким же, как у MX Player (например, 1.7.29, 1.7.30). Однако иногда MX Player обновляется без обновления кодека. Таким образом, версия пользовательского кодека может не совпадать с версией MX Player.
Если кодек сжат в контейнере .zip, его больше не требуется распаковывать вручную. MX Player сам извлекает файл кодека из файла .zip при загрузке кодека. Кроме того, несколько файлов кодеков могут быть сжаты в один файл .zip. MX Player автоматически загружает правильный кодек из файла.
MX Player автоматически распознает заархивированные файлы кодеков в корне SDCard и каталоге загрузки, если имя файла содержит код версии.
* Эта инструкция по сборке применима после версии 1.13.0
* Начиная с версии 1.7.6, имена файлов изменены на libavutil.mx.so, libavformat.mx.so.. и т. д., чтобы разрешить конфликт с файлами системной библиотеки.
* С версии 1.7.16 генерирует один файл; libffmpeg.mx.so.
* neon64 и x86_64 поддерживаются с версии 1.13.0