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