如何为 pjsipandroid 构建 g729
How to build g729 for pjsipandroid
我正在尝试为 pjsip 构建 g729 编解码器 android。
PJSIP Build link for G729Android
我遵循了 link 并且能够构建 g729project。
构建成功后,生成三个目录,分别是include、shared、lib。
因此,当尝试使用 g729codec 构建路径构建 android pjsip 项目时,pjsip 无法识别 g729build 目录。
PJSIP 说按照 belladone.But 指定的 g729 的 android 构建说明,我找不到任何。那么如何解决呢??
是的,关于用 link.If 构建 G729
非常不清楚,你想用其他方式构建 G729
(相同的 belladone 来源)你可以遵循:-
1.Download 来自 repo 的最新 PJSIP。
2.Download 来自 https://github.com/saravnandm/pjsip2.5-g729codec
的补丁
3.Put PJSIP 项目中的每个文件作为给定补丁中的目录。
4.Apply 变化如 pjproject-2.5.diff
所说。
5.Now 构建。
如果您需要更多帮助评论。
在 Belldone Communications 中没有明确说明如何使用 CMake 为每个 Target 平台构建 G729 项目。
第 1 步:
CMAKE 下载 Link=> https://cmake.org/download/
只需下载使用上述 link 适用于您平台的 Cmake 软件(Linux/Mac/Windows OS)。
对于 Linux,下载 cmake tar 文件并解压到所需路径。
转到 [Cmake 路径]/bin/ 路径。右键单击 cmake-gui 应用程序并 运行 它。
第 2 步:
下载 G729 project 的 Belldone 通信。
i) select 您下载的 g729 项目文件夹作为 源代码路径.
ii) 为 cmake 二进制文件创建空文件夹并 select 它用于 构建二进制文件 。它将生成用于为指定平台构建项目的 makefile。
注意:为最新的 PJSIP 2.7
安装 Android-ndk-r15c
iii) 在 CMAKE 中指定以下名称和值
CMAKE_C_FLAGS is important one. Use same CFLAG what you are using for building PJSIP 2.7.
CMAKE_C_FLAGS = -gcc-toolchain /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fpic -ffunction-sections -funwind-tables -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -fno-integrated-as -target armv7-none-linux-androideabi26 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -D__ANDROID_API__=26 -Wa,--noexecstack -Wformat -Werror=format-security --sysroot /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/platforms/android-26/arch-arm/ -isystem /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/sysroot/usr/include/arm-linux-androideabi -I/home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c//sources/cxx-stl/llvm-libc++/include
NOTE: compare your --sysroot path is same as above one.
CMAKE_AR, CMAKE_LINKER, CMAKE_NM, CMAKE_OBJCOPY, CMAKE_OBJDUMP,
CMAKE_RANLIB, CMAKE_STRIP which are available in following android ndk
path
/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/
CMAKE_C_COMPILER = /android-ndk-r15c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang/
CMAKE_INSTALL_PREFIX= where you want to create output library files which is later used for building pjsip. Use the same path while
building PJSIP --with-bcg729 = CMAKE_INSTALL_PREFIX path.
CMAKE_SKIP_INSTALL_RPATH = ON
ENABLE_SHARED = ON
ENABLE_STATIC = ON
ENABLE_TESTS = ON
CMAKE_BUILD_TYPE = Release
指定上述配置后,您可以配置并生成 Cmake 输出。
然后使用在您的 Cmake App.Run 中指定的终端转到二进制文件路径,执行以下命令。
make && make install
最终库文件在 CMAKE_INSTALL_PREFIX 路径上创建。
使用如下路径构建 PJSIP 库,
TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags --with-bcg729=/home/Desktop/g729_libraries/
构建时如果显示为,
Using bcg729 prefix... /home/Desktop/g729_libraries/
checking bcg729 usablitiy... ok
那么你成功地将 bcg729 集成到 PJSIP 2.7
如果不是上面的结果,请在下面评论!
该库实际上包含 Android.mk,只是有点过时,即:缺少三个(新添加的?)源文件:src/cng.c、src/dtx.c、src/vad.c.附加这些文件,它应该可以使用。
另外,仅供参考,在 link (ticket #2029) 中为 Android 构建 libbcg729 的步骤刚刚更新。
我正在尝试为 pjsip 构建 g729 编解码器 android。
PJSIP Build link for G729Android
我遵循了 link 并且能够构建 g729project。 构建成功后,生成三个目录,分别是include、shared、lib。 因此,当尝试使用 g729codec 构建路径构建 android pjsip 项目时,pjsip 无法识别 g729build 目录。
PJSIP 说按照 belladone.But 指定的 g729 的 android 构建说明,我找不到任何。那么如何解决呢??
是的,关于用 link.If 构建 G729
非常不清楚,你想用其他方式构建 G729
(相同的 belladone 来源)你可以遵循:-
1.Download 来自 repo 的最新 PJSIP。
2.Download 来自 https://github.com/saravnandm/pjsip2.5-g729codec
的补丁3.Put PJSIP 项目中的每个文件作为给定补丁中的目录。
4.Apply 变化如 pjproject-2.5.diff
所说。
5.Now 构建。
如果您需要更多帮助评论。
在 Belldone Communications 中没有明确说明如何使用 CMake 为每个 Target 平台构建 G729 项目。
第 1 步: CMAKE 下载 Link=> https://cmake.org/download/
只需下载使用上述 link 适用于您平台的 Cmake 软件(Linux/Mac/Windows OS)。
对于 Linux,下载 cmake tar 文件并解压到所需路径。 转到 [Cmake 路径]/bin/ 路径。右键单击 cmake-gui 应用程序并 运行 它。
第 2 步: 下载 G729 project 的 Belldone 通信。
i) select 您下载的 g729 项目文件夹作为 源代码路径.
ii) 为 cmake 二进制文件创建空文件夹并 select 它用于 构建二进制文件 。它将生成用于为指定平台构建项目的 makefile。
注意:为最新的 PJSIP 2.7
安装 Android-ndk-r15ciii) 在 CMAKE 中指定以下名称和值
CMAKE_C_FLAGS is important one. Use same CFLAG what you are using for building PJSIP 2.7.
CMAKE_C_FLAGS = -gcc-toolchain /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fpic -ffunction-sections -funwind-tables -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -fno-integrated-as -target armv7-none-linux-androideabi26 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -D__ANDROID_API__=26 -Wa,--noexecstack -Wformat -Werror=format-security --sysroot /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/platforms/android-26/arch-arm/ -isystem /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/sysroot/usr/include/arm-linux-androideabi -I/home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c//sources/cxx-stl/llvm-libc++/include
NOTE: compare your --sysroot path is same as above one.
CMAKE_AR, CMAKE_LINKER, CMAKE_NM, CMAKE_OBJCOPY, CMAKE_OBJDUMP, CMAKE_RANLIB, CMAKE_STRIP which are available in following android ndk path
/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/
CMAKE_C_COMPILER = /android-ndk-r15c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang/
CMAKE_INSTALL_PREFIX= where you want to create output library files which is later used for building pjsip. Use the same path while building PJSIP --with-bcg729 = CMAKE_INSTALL_PREFIX path.
CMAKE_SKIP_INSTALL_RPATH = ON
ENABLE_SHARED = ON
ENABLE_STATIC = ON
ENABLE_TESTS = ON
CMAKE_BUILD_TYPE = Release
指定上述配置后,您可以配置并生成 Cmake 输出。
然后使用在您的 Cmake App.Run 中指定的终端转到二进制文件路径,执行以下命令。
make && make install
最终库文件在 CMAKE_INSTALL_PREFIX 路径上创建。
使用如下路径构建 PJSIP 库,
TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags --with-bcg729=/home/Desktop/g729_libraries/
构建时如果显示为,
Using bcg729 prefix... /home/Desktop/g729_libraries/
checking bcg729 usablitiy... ok
那么你成功地将 bcg729 集成到 PJSIP 2.7
如果不是上面的结果,请在下面评论!
该库实际上包含 Android.mk,只是有点过时,即:缺少三个(新添加的?)源文件:src/cng.c、src/dtx.c、src/vad.c.附加这些文件,它应该可以使用。
另外,仅供参考,在 link (ticket #2029) 中为 Android 构建 libbcg729 的步骤刚刚更新。