Это сложно, но я думаю, что у меня есть решение. Проблема во время настройки заключается в том, что FFmpeg хочет определить правильную установку librtmp через систему управления pkg-config.
Я предполагаю, что вы успешно скомпилировали librtmp в каталоге, указанном в ../rtmpdump. Отредактируйте скрипт конфигурации FFmpeg и найдите строку:
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
Прокомментируйте это (поставьте «#» в начале строки). Теперь перезапустите конфигурацию, только с такими модификациями:
--extra-cflags="-I/full/path/to/rtmpdump"
Здесь может помочь абсолютный путь. Кроме того, в конце опустите / librtmp /, так как директивы #include уже ставят префикс файлов заголовка с помощью librtmp /. Далее:
--extra-ldflags="-L/full/path/to/rtmpdump -lrtmp"
Опять же, абсолютный путь и укажите библиотеку для ссылки, поскольку мы закомментировали эту логику через configure.
Теперь настройка должна завершиться успешно, и кросс-компиляция также должна быть успешной. Последний двоичный файл ffmpeg должен сообщать о семействе модулей RTMP по протоколам:
ffmpeg -protocols
[...]
rtmp
rtmpe
rtmps
rtmpt
rtmpte
Обратите внимание, что у меня нет среды разработки NDK для тестирования. Но я протестировал на своей настольной системе Ubuntu, скомпилировав librtmp (без установки пакета через pkg-config), а затем выполнив описанные выше шаги.