树莓派下编译及使用linphone客户端
linphone是一款开源的SIP客户端工具,支持Linux、MacOS、Windows、iOS、Android以及树莓派,非常强大,本文将为大家展现如何在树莓派下编译及使用linphone客户端
编译并安装
sudo apt-get install gcc
sudo apt-get install openjdk-8-jre
sudo apt-get install doxygen
sudo apt-get install cmake graphviz
sudo apt-get install python-setuptools
sudo apt-get install python-pip
sudo pip install pystache
sudo apt-get install intltool
sudo apt-get install nasm
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get install gettext
sudo apt-get install libx11-dev
tar xzvf linphone-desktop.tar.gz
cd linphone-desktop
./prepare.py -DENABLE_VPX=OFF -DENABLE_WEBRTC_AEC=OFF -DENABLE_OPENH264=ON -DENABLE_NON_FREE_CODECS=ON no-ui
make
# 成功后,执行如下命令即可完成安装
sudo cp -rf OUTPUT/no-ui/* /
使用
linphone提供了命令行工具linphonec,通知此命令,可以完成账号注册、呼叫、接听、声卡选择等操作.
- 启动
# 只支持音频
linphonec
# 若需要开启视频
linphonec -C
# 开启自动接听
linphonec -a -C
- 账号注册
# 查看当前账号
proxy list
# 添加账号
proxy add
- 接听
answer
- 呼叫
call 101
- 挂掉
terminate
- 声卡
# 所有声卡
soundcard list
# 当前使用
soundcard show
# 设置声卡
soundcard use xx
#设置响铃声卡
soundcard ring xx
# 设置播放声卡
soundcard playback xx
# 设置录音声卡
soundcard capture xx
- 摄像头
# 显示所有声卡
webcam list
# 设置摄像头
webcam use xx
- 音视频编码
# 音频编码
codec list
# 视频编码
vcodec list
遇到问题
- answer会导致崩溃
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -3731,7 +3731,7 @@ static LinphoneCall * get_unique_call(LinphoneCore *lc) {
}
LinphoneStatus linphone_core_accept_call(LinphoneCore *lc, LinphoneCall *call) {
- return linphone_call_accept_with_params(call, NULL);
+ return linphone_core_accept_call_with_params(lc, call, NULL);
}
PS: 是由于官网源码BUG导致,可以按照此diff修复,再编译安装
- 声卡选择
# 设置播放声卡
soundcard playback xx
# 设置录音声卡
soundcard capture xx
PS: 如果你的声卡录音和播放是分开,可以通过playback和record分别设置,这个在帮助文档中是找不到,但确实是有效
- 支持摄像头
首先必须加载v4l2
sudo modprobe bcm2835-v4l2
如果提示’No Devices’,则请在/boot/config.txt添加如下配置,并重启树莓派
start_x=1
gpu_mem=128
PS: 加载成功后,会在产生/dev/videox的文件,x可能是0 …
完成以上配置后,进入linphonec,使用webcam list
就可以看到相应的选项,并进行设置
webcam use 1
PS: 当然要开启视频支持,必须以 -C启动linphonec