voip的会议服务器Conference Servers
http://openmcu.ru/eng.htm
openmcu: http://h323plus.cvs.sourceforge.net/viewvc/h323plus/applications/openmcu/
Debian官方提供了openmcu包,但是已经更新为2.1版本的,从版本2.0开始,据说不再支持视频传输,因此,如果我们想提供视频功能,就需要自己编译安装。
- 在http://prdownloads.sourceforge.net/openh323/ 下载最新的openmcu、pwlib、openh323包(其实也不能用最新的,openmcu要用1.x版本的,pwlib我用的是1.8.7 (Mimas patch 2)版本,openh323我用的是1.15.6 (Mimas patch 2)版本,我猜测1.x的openmcu是依赖于这两个有点老的包的)。
- 在Debian下准备编译所需的库文件,可以用apt-get build-dep openmcu指令,也可以先apt-get install openmcu然后再卸载openmcu包,都可以得到所需的库文件。
- 把三个包用tar zvxf解压,并且把pwlib解出来的目录改名为pwlib,openh323包解出来的目录命名为openh323,这样openmcu编译时可以找到这两个库。
- 分别在pwlib目录下和openh323目录下执行./configure
- 进入openmcu目录,执行make all
新生成目录中的obj_linux_x86_r目录下是可执行文件,另一个obj_linux_x86_d目录下是debug版本的文件。这样生成的是使用动态运行库的版本。如果要生成静态版本,那么需要使用make optnoshared指令来编译openmcu。
下面的任务是将openmcu设置为开机自动运行,注意必须给openmcu加--disable-menu来禁用交互模式,否则openmcu无法在后台运行。我下面的办法用的是cron来实现的,也可以用inetd等实现。
生成start脚本内容如下:
#!/bin/sh PROCESS_NUM=`ps -ef | grep "openmcu" | grep -v "grep" | wc -l`
if [ $PROCESS_NUM -lt ];
then
exec nohup /opt/openmcu/openmcu -n -v --disable-menu > /opt/openmcu/mcu.log &
fi
- 用chmod +x给start脚本以可执行权限
- 用crontab -u 执行openmcu的用户名 -e进入cron任务编辑模式(是一个类似vi的编辑环境),输入:
*/ * * * * /opt/start
表示每一分钟运行一次start脚本。
这样实现的其实不仅仅是开机自动运行了,还保证了每1分钟检查一次是否openmcu在运行,如果没在运行,则启动之。
How to build openmcu-ru on ubuntu
1. install tools
sudo apt-get install libtool autoconf flex bison automake pkg-config
2.yasm-1.3.0
sed -i 's#) ytasm.*#)#' Makefile.in &&
./configure --prefix=/opt/openmcu &&
make
make instal
3.ffmpeg-2.8.3
gedit ~/.basnrc
#add /opt/openmcu/bin to PATH env.
export PATH=$PATH:/opt/openmcu/bin
./configure --prefix=/opt/openmcu --enable-shared
make
make instal
4.x264-snapshot-20151204-2245
./configure --prefix=/opt/openmcu --enable-shared
make
make install
5.libvpx-1.5.0
./configure --prefix=/opt/openmcu
make
make install
6.openmcu-master ver4.01
./autogen.sh
./configure -prefix=/opt/openmcu --disable-openssl
configure: error: avcodec headers not found! Install FFmpeg or Libav.
Solultion: modify the configure file
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
Solution:
Modify the sub Makefile: openmcu-ru/Makefile
PROG= ==> PROG=openmcu-ru
make install
7. test
sudo ./openmcu-ru/obj/openmcu-ru -d &
voip的会议服务器Conference Servers的更多相关文章
- Open Source VOIP applications, both clients and servers (开源sip server & sip client 和开发库)
SIP Proxies SBO SIP Proxy Bypass All types of Internet Firewall JAIN-SIP Proxy Mini-SIP-Proxy A very ...
- 期刊(Journal)、会议(Conference)及其影响因子(Impact Factor)
CNCC:China National Computer Congress,中国计算机大会 0. 会议 计算机视觉(CV)三大顶级会议: ICCV: IEEE International Confer ...
- LeetCode 5272. 5272. 统计参与通信的服务器 Count Servers that Communicate
地址 https://leetcode-cn.com/problems/count-servers-that-communicate/ 题目描述这里有一幅服务器分布图,服务器的位置标识在 m * n ...
- javascript跨域传递消息 / 服务器实时推送总结
参考文档,下面有转载[非常好的两篇文章]: http://www.cnblogs.com/loveis715/p/4592246.html [跨源的各种方法总结] http://kb.cnblogs. ...
- VoIP系统大盘点
一.VoIP拓扑 PBX是程控交换机,程控交换机有实体交换机和软件模拟的交换机. 软件模拟的交换机,即交换机服务器,常用开源的sip服务器有asterisk,freepbx, opensip, fre ...
- [翻译]——SQL Server使用链接服务器的5个性能杀手
前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-server ...
- tomcat服务器使用简介
tomcat服务器的应用与部署:1:下载tomcat服务器可以到http://tomcat.apache.org/下载apache服务器,左侧有各种版本的服务器,可以根据自己的需要下载,如果是是Lin ...
- Linux服务器部署系列之二—MySQL篇
MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...
- 关于试用jquery的jsonp实现ajax跨域请求数据的问题
我们在开发过程中遇到要获取另一个系统数据时,就造成跨域问题,这就是下文要说的解决办法: 先我们熟悉下json和jsonp的区别: 使用AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交 ...
随机推荐
- JCIFS读取远程服务器文件过慢的解决方法
JCIFS读取远程服务器文件过慢的解决方法 发表于3年前(2013-07-12 11:23) 阅读(1174) | 评论(0) // 我要收藏"; var favor_del = &qu ...
- 一行很好的JS代码
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.rand ...
- 《Linux/Unix系统编程手册》读书笔记1
<Linux/Unix系统编程手册>读书笔记 目录 最近这一个月在看<Linux/Unix系统编程手册>,在学习关于Linux的系统编程.之前学习Linux的时候就打算写关于L ...
- LE33
MIC5207-3.3YM5 MIC5207-3.3BM5 LE33代码电源管理IC芯片全新原装 http://item.taobao.com/item.htm?spm=a230r.1.14.251. ...
- hibernate--关联映射(一对多)
在对象模型中,一对多的关联关系,使用集合来表示. 实例场景:班级对学生:Classes(班级)和Student(学生)之间是一对多的关系. 对象模型: 多对一.一对多的区别: 多对一关联映射:在多的一 ...
- iOSbase64
ios中使用BASE64进行加密和解密的方法也很简单,可以直接用google-toolbox-for-mac的GTMBase64.h来实现google-toolbox-for-mac的对应地址如下: ...
- junit浅学笔记
JUnit是一个回归测试框架(regression testing framework).Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(Wh ...
- 转:表单中Readonly和Disabled的区别(HTML中使用javascript解除禁止input输入框代)
转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...
- tkprof 解释
使用 tkprof 工具 tkprof orcl_ora_3048_安庆怀宁.trc 安徽安庆怀宁.txt sys=no aggregate=yes sys=no waits=yes sort=fc ...
- Java [Leetcode 118]Pascal's Triangle
题目描述: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5 ...