编译、安装、使用openmcu
百度找到的关于openmcu-ru的教程和论坛实在有限,找到最好的一篇链接讲如何编译使用openmcu-ru就是下面这个链接了:https://blog.csdn.net/ndhui/article/details/50190969,这篇博客给了我不少启发,幸运的话走下来可以能安装成功了,不过不同编译环境的结果也是相差甚远的,所以我下面也趁着刚刚装成功赶紧给大家分享我的经验。
一、下载open-mcu
open-mcu下载路径:https://videoswitch.ru/
点击箭头位置,下载一个较新版本的
进入github之后,点击绿色方框下载:
然后把它拉到你的linux系统下,对了,我的环境配置是ubuntu16.4,版本基本影响不大;
二、安装openmcu的依赖环境
我把我的openmcu-master文件放置在/opt路径下,改名为openmcu(为了使得待会那些opemmcu_tool的编译出来的共享依赖库放在这里),然后在系统的路径下mkdir一个文件夹openmcu-tool,这个文件待会就是放置编译openmcu要用的依赖工具软件:
在开始之前先打开/opt/openmcu/README,里面会有该版本的openmcu的基础介绍,纯英文的,考验你的阅读能力时候到了
然后打开/opt/openmcu/INSTALL,查看安装的步骤,(无论是装什么开源库都好,都要养成这个习惯看官方文档,这个习惯很重要,记得不能偷这个懒)
接下来带你们看INSTALL里面关键的内容的第一部分:
OpenMCU-ru contains the following required libraries in the repository:
* PTLib - http://www.opalvoip.org
* H323Plus - http://www.h323plus.org
* Sofia-SIP - http://www.sofia-sip.sourceforge.net
* libSRTP - http://srtp.sourceforge.net/srtp.html
* libzrtp - http://zfoneproject.com/prod_sdk.html
* libyuv - http://www.code.google.com/p/libyuv
没错就是上面的依赖库都要安装,我之前就安装过前面的两个开源库了,所以就不需要安装了,关于PTLIB和H323Plus的教程参考这个https://blog.csdn.net/carl_cheer/article/details/45502463,接下来就是去各自的官网找安装包或者有些直接可以用apt-get install下载:
举个例子,Sofia-SIP,可以直接sudo apt-get install libsofia-sip-ua0,由于apt-get会自动帮我把路径写进环境变量里面了,就比较省心;
若是下载Sofia-SIP源代码的话,
1、”tar -zvxf 压缩包 “,解压到我的/opt/openmcu_tool里面
2、$./configure --prefix=/opt/openmcu (设置安装路径)
3、$make && make install
不过这个先不管!!待会要用到的时候再来安装!!
要做的时候先安装下面的四个opemmcu_tool,去各自的官网找(这一步比较需要耐心和细心,链接我就不贴出来了,自己探索),至于为什么要装这些tool的原因可见 INSTALL 的 Requires,
yasm-1.3.0,
——./configure --prefix=/opt/openmcu && make && make instal
ffmpeg-2.8.3 (原则上只要大于0.10.4版本,课见INSTALL说明)
—— $export PATH=$PATH:/opt/openmcu/bin
$./configure --prefix=/opt/openmcu --enable-shared && make &&make install
x264-snapshot-20151204-2245
——./configure --prefix=/opt/openmcu --enable-shared
make &&make install
libvpx-1.5.0
——./configure --prefix=/opt/openmcu
make && make install
接着看到INSTALL的第二部分:
Use following lines to install build dependencies on Ubuntu:
apt-get install gcc make flex bison autoconf automake pkg-config
apt-get install libtool
apt-get install libavcodec-dev
apt-get install libavformat-dev
apt-get install libswscale-dev
apt-get install libfreetype6-dev
apt-get install libssl-dev
apt-get install libx264-dev
apt-get install libvpx-dev
这个就直接简单,就直接跟着敲就行了,前面加个sudo即可。
三、编译安装openmcu
$cd /opt/openmcu/
$./configure -prefix=/opt/openmcu --disable-openssl
于是乎:
configure: error: avcodec headers not found! Install FFmpeg or Libav.
解决方法: 修改 configure 文件,修改如下:
PRODUCT=OpenMCU-ru ==> PRODUCT=
PROG=openmcu-ru ==> PROG=
重新执行命令
make
/usr/bin/ld: cannot open output file ./obj/: Is a directory(注意这里)
collect2: error: ld returned 1 exit status
make[1]: *** [all] Error 1
这的Error后面有可能是 2,不打紧
于是乎:
修改文件 /opt/openmcu/openmcu-ru/Makefile
PROG= ==> PROG=openmcu-ru
make install
现在查看/opt/openmcu/openmcu-ru/obj/目录下是否有openmcu-ru这个可执行文件:
如果是这样的话说明安装成功了:
但如果是显示:
这个时候就是最麻烦的时候,我在这卡住了足足一天,百度什么的都没什么收获,后来上了谷歌各种论坛查找才慢慢发觉是怎么回事~
四、编译、安装的关键之处
如果是上面这种情况的话,安装libsofia-sip-ua0即可,上面有说怎么做了
然后这个解决了之后有可能会跳出来说你缺少另外一个共享库,例如libyuv.so,我们可以一次性查找那些缺少的共享库:
/opt/openmcu0/openmcu-ru/obj$ ldd openmcu-ru
查看那些依赖库是 => Not Find,那些就是没有找到路径的共享库
首先去、opt/libs/路径里面查找,之前那四个tool的configure --prefix路径设置在/opt/openmcu那里就是为了这个,
找到之后把共享库的路径添加到环境变量中去:
两种方法:
一种是:
需要更高的权限就使用sudo
1. 将绝对路径写入 /etc/ld.so.conf:
$ sudo vi /etc/ld.so.conf
像我在ld.so.conf这里添加的结果是:这是我添加的三条路径,这个要根据系统的情况而定!!
2. $sudo ldconfig
【补充】ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享!
另外一种是:
直接在命令行中敲入:(不需要获取root权限,不过是暂时的,终端一关就配置没有了,不建议使用)
$ export LD_LIBRARY_PATH=/opt/openmcu/:$LD_LIBRARY_PATH
可以用echo $LD_LIBRARY_PATH查看。
如果一切都设置好的话,则是下面这样的,没有显示NO FOUND就行了
OpenMcu的编译安装就说到这里,遇到问题暂时搞不出很失望很正常的,不过一定要相信“失望是有限的,希望是无限的”。
五、使用opoenmcu—ru
这里有两种命令:
命令«openmcu-ru(-wrapper)-x»在控制台模式下运行
命令«openmcu-ru(-wrapper)-d»以守护进程模式运行
在linux中运行成功之后显示如下:
然后,可以在打开浏览器,输入你的HostIP:1420:(我下面的图片是在win用谷歌浏览器下打开的)
如果觉得都是英文,很难受的话直接右边一键翻译:
nice~enjoyyourself!