0

我正在开发 voip 视频客户端应用程序,女巫使用 PJSIP(PJSUA2) 作为客户端,使用 Elastics(ASTERISK) 作为代理服务器。

我已经根据 pjsip.org 的教程构建了库,并将其改进到我的项目中。

注册\来电处理\音频流工作正常。但我没有视频流。

endpoint.videoCodecEnum() 为空;

来电视频计数=0/索引=-1;

有一个合适的星号日志:Ignoring video stream offer because port number is zero

我的构建细节:

  • 操作系统:Ubuntu 16.04

  • android ndk 降级到 r13b

  • android sdk 工具降级到 r22.0.5

  • openh264 和 pjsua 的构建目标平台是 android-24

  • config_site.h:

    #define PJ_CONFIG_ANDROID 1

    #include < pj/config_site_sample.h >

    #define PJMEDIA_HAS_VIDEO 1

    #define PJMEDIA_HAS_OPENH264_CODEC 1

  • pjsua2 使用 openh264(... 可用性 ... ok)构建,默认使用 libyuv(如教程推荐)用于 armeabi、armeabi-v7a、arm64-v8a 并放置到适当的文件夹

  • 结构:.../app/src/main/

    爪哇/

      com/...
    
      org.pjsua2/...
    

    jniLibs/

      arm64-v8a/
          libopenh264.so
          libpjsua2.so
      armeabi/
          libopenh264.so
          libpjsua2.so
      armeabi-v7a
          libopenh264.so
          libpjsua2.so
    

    资源/...

有人面对吗?

4

1 回答 1

1

这是我自己的疏忽。

如果您遇到同样的问题 - 检查您的 config_site.h 文件位置。

它应该是:'你的 pjproject 路径'/pjlib/include/pj/config_site.h

文件内容应至少包含:

#define PJ_CONFIG_ANDROID 1

#define PJMEDIA_HAS_VIDEO 1

#include < pj/config_site_sample.h >

于 2017-09-18T00:30:45.723 回答