使用PJSIP编译Openh264

时间:2015-10-06 14:45:10

标签: android pjsip openh264

我正在尝试使用openh264 lib构建pjsip项目。一切正常,除了pjsip ./configure-android

没有检测到openh264

这是我的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

我正在关注日志

Using OpenH264 prefix... /home/user_name/PJSIPTOOLS/openh264-1.0.0/openlib/
checking OpenH264 usability... no

由于./configure-android没有检测到我的应用程序在运行时崩溃,说找不到openh264的lib。

我在ubuntu 14.04 32位。

任何建议。

3 个答案:

答案 0 :(得分:4)

我刚遇到类似的问题。在下面,我将我下载并提取OpenH264的目录称为path-to-openh264。我在该文件夹中创建了一个子目录android,并通过设置PREFIX=android修改了OpenH264的Makefile。然后运行以下命令来构建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

生成的libopenh264.so文件最终应该在目录path-to-openh264/android/lib/中。为了配置pjsip,我使用了以下命令:

APP_PLATFORM=android-14 ./configure-android --with-openh264=<path-to-openh264>/android

以下StackOverflow线程引导我走向正确的方向:

building openh264 for android platform in x86

这个问题的原因是,我首先运行了没有命令行参数的make install命令。这导致为错误的ABI(默认值为armeabi-v7a)创建本机库文件。为armeabi ABI构建pjsip时,它无法识别库,因为它是为不同的ABI构建的。至少这是我想的。

答案 1 :(得分:2)

http://trac.pjsip.org/repos/ticket/1758

  • 修改&#34;前缀&#34;在Makefile
  • 运行&#34; make install ARCH = armeabi&#34;
  • run&#34; ./ configure-android --with_openh264 = / path / to / prefix / folder&#34;

答案 2 :(得分:2)

实际上我也遇到了这个问题。

解决方案:

步骤1:转到openh264目录并创建名为“android”的文件夹

第2步:打开makefile并设置前缀

PREFIX=/your_path/openh264-1.0.0/android

步骤3:然后使用此命令构建openh264

make OS=android NDKROOT=/your_path/android-ndk-r10d TARGET=android-17 APP_ABI=armeabi

步骤4:现在使用此命令构建pjsip

TARGET_ABI=armeabi APP_PLATFORM=android-12 ./configure-android --use-ndk-cflags --with-openh264=/your_path/openh264-1.0.0/android

希望这次你会看到

Using OpenH264 prefix... 
/home/user_name/PJSIPTOOLS/openh264-1.0.0/openlib/
checking OpenH264 usability... ok