Man*_*noj 1 android pjsip openh264
我正在尝试使用openh264 lib构建pjsip项目。一切正常,除非pjsip未检测到openh264./configure-android
这是我的config_site.h
/* Activate Android specific settings in the 'config_site_sample.h' */
#define PJ_CONFIG_ANDROID 1
#include <pj/config_site_sample.h>
#define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_HAS_OPENH264_CODEC 1
Run Code Online (Sandbox Code Playgroud)
我正在关注日志
Using OpenH264 prefix... /home/user_name/PJSIPTOOLS/openh264-1.0.0/openlib/
checking OpenH264 usability... no
Run Code Online (Sandbox Code Playgroud)
由于./configure-android我的应用程序未检测到它,因此在运行时崩溃,提示找不到openh264的lib。
我在Ubuntu 14.04 32位上。
有什么建议么。
我刚遇到类似的问题。在下文中,我指的是我下载并解压缩了OpenH264的目录path-to-openh264。我android在该文件夹中创建了一个子目录,并通过设置修改了OpenH264的Makefile PREFIX=android。之后运行以下命令来构建OpenH264为我解决了这个问题:
make OS=android NDKROOT=<path-to-ndk> TARGET=android-14 APP_ABI=armeabi ARCH=arm
make OS=android NDKROOT=<path-to-ndk> TARGET=android-14 APP_ABI=armeabi ARCH=arm clean
make install OS=android NDKROOT=<path-to-ndk> TARGET=android-14 APP_ABI=armeabi ARCH=arm
Run Code Online (Sandbox Code Playgroud)
生成的libopenh264.so文件应最终位于目录中path-to-openh264/android/lib/。为了配置pjsip,我使用了以下命令:
APP_PLATFORM=android-14 ./configure-android --with-openh264=<path-to-openh264>/android
Run Code Online (Sandbox Code Playgroud)
以下StackOverflow线程将我引向正确的方向:
出现此问题的原因是,我最初运行的make install命令没有命令行参数。这导致为错误的ABI创建了本机库文件(默认文件是armeabi-v7a)。在为armeabi ABI构建pjsip时,它无法识别该库,因为它是为其他ABI构建的。至少我是这样想的。
| 归档时间: |
|
| 查看次数: |
1755 次 |
| 最近记录: |