我正在尝试使用 Python 创建软件电话。我发现这个链接描述了 pjsua2,但是没有任何明确的步骤来定义如何为 python 安装 pjsua2 包。
任何人都可以为我定义安装可在 python 中使用的 pjsua2 的明确步骤吗?
我正在尝试使用 Python 创建软件电话。我发现这个链接描述了 pjsua2,但是没有任何明确的步骤来定义如何为 python 安装 pjsua2 包。
任何人都可以为我定义安装可在 python 中使用的 pjsua2 的明确步骤吗?
这些步骤应该有效
第一步:创建目录。/PJSUA2/pjproject/src
Step2:安装所需模块
sudo apt-get install libasound2-dev libssl-dev libv4l-dev libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev libx264-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libavresample-dev libavutil-dev libavcodec-extra libopus-dev libopencore-amrwb-dev libopencore-amrnb-dev libvo-amrwbenc-dev subversion
第三步:下载源代码svn co http://svn.pjsip.org/repos/pjproject/trunk pjproject
第四步:编译主库并安装。如果您在 RPI 上尝试它,请参阅此链接。基本上,您需要设置正确的 CFLAGS 并确保为您的平台正确配置了 third_party/build/os-auto.mak.in。
$ cd pjproject
$ ./configure --enable-shared
$ make dep
$ make
$ sudo make install
第五步:编译安装python模块。再次确保您拥有正确的 user.mak,如果您正在为 RPI 编译它
$ cd pjsip-apps/src/swig/
$ make
$ make install
第 6 步:检查已安装的模块
$ python
> import pjsua2
除了 RPI 扭曲之外,这些步骤在此处已准确提及。
更新#1:
并且不要忘记设置ep_cfg.uaConfig.threadCnt = 0
,否则你会得到Segmentation fault
。所以 PJSUA2 页面中的示例代码应该有变化
def pjsua2_test():
# Create and initialize the library
ep_cfg = pj.EpConfig()
ep_cfg.uaConfig.threadCnt = 0; #Python does not like PJSUA2's thread. It will result in segment fault
ep = pj.Endpoint()
ep.libCreate()
ep.libInit(ep_cfg)
这些步骤看起来像在此处列出: https ://trac.pjsip.org/repos/wiki/Python_SIP/Build_Install
我浏览了它们,它们似乎在 Mac Os X 上没有任何问题。你遇到的确切问题是什么?