http://openmcu.ru/eng.htm

openmcu:   http://h323plus.cvs.sourceforge.net/viewvc/h323plus/applications/openmcu/

Debian官方提供了openmcu包,但是已经更新为2.1版本的,从版本2.0开始,据说不再支持视频传输,因此,如果我们想提供视频功能,就需要自己编译安装。

  1. 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是依赖于这两个有点老的包的)。
  2. 在Debian下准备编译所需的库文件,可以用apt-get build-dep openmcu指令,也可以先apt-get install openmcu然后再卸载openmcu包,都可以得到所需的库文件。
  3. 把三个包用tar zvxf解压,并且把pwlib解出来的目录改名为pwlib,openh323包解出来的目录命名为openh323,这样openmcu编译时可以找到这两个库。
  4. 分别在pwlib目录下和openh323目录下执行./configure
  5. 进入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
  1. 用chmod +x给start脚本以可执行权限
  2. 用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的更多相关文章

  1. 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 ...

  2. 期刊(Journal)、会议(Conference)及其影响因子(Impact Factor)

    CNCC:China National Computer Congress,中国计算机大会 0. 会议 计算机视觉(CV)三大顶级会议: ICCV: IEEE International Confer ...

  3. LeetCode 5272. 5272. 统计参与通信的服务器 Count Servers that Communicate

    地址 https://leetcode-cn.com/problems/count-servers-that-communicate/ 题目描述这里有一幅服务器分布图,服务器的位置标识在 m * n  ...

  4. javascript跨域传递消息 / 服务器实时推送总结

    参考文档,下面有转载[非常好的两篇文章]: http://www.cnblogs.com/loveis715/p/4592246.html [跨源的各种方法总结] http://kb.cnblogs. ...

  5. VoIP系统大盘点

    一.VoIP拓扑 PBX是程控交换机,程控交换机有实体交换机和软件模拟的交换机. 软件模拟的交换机,即交换机服务器,常用开源的sip服务器有asterisk,freepbx, opensip, fre ...

  6. [翻译]——SQL Server使用链接服务器的5个性能杀手

    前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-server ...

  7. tomcat服务器使用简介

    tomcat服务器的应用与部署:1:下载tomcat服务器可以到http://tomcat.apache.org/下载apache服务器,左侧有各种版本的服务器,可以根据自己的需要下载,如果是是Lin ...

  8. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  9. 关于试用jquery的jsonp实现ajax跨域请求数据的问题

    我们在开发过程中遇到要获取另一个系统数据时,就造成跨域问题,这就是下文要说的解决办法: 先我们熟悉下json和jsonp的区别: 使用AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交 ...

随机推荐

  1. 【c】time.h

    表示时间的三种类型 日历时间:从一个时间点到现在的秒数,用time_t表示 始终滴答时间:从进程启动到现在时钟的滴答数(每秒一般包含1000个).用clock_t表示 分解时间:分解的数据结构如下.用 ...

  2. Struts2+JSON+JQUERY DEMO

    看到别人用了Struts2和JSON,自己也想练练手.记录下练习过程中遇到的问题,以便参考. 使用Maven新建项目: 先挂上pom.xml <project xmlns="http: ...

  3. 车牌识别LPR(一)-- 研究背景

    在年尾用了几天的时间将2014年的所有工作都总结了一遍,将之前的文档综合了下. 以下是LPR系统,车牌识别的一些总结资料. 第一篇:LPR研究背景 汽车的出现改变了以往出行徒步和以马代步的时代,极大地 ...

  4. 04-语言入门-04-Fibonacci数

    地址: http://acm.nyist.net/JudgeOnline/problem.php?pid=13    描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibona ...

  5. Null-conditional Operators

    https://msdn.microsoft.com/en-us/library/dn986595.aspx x?.y – null conditional member access. Return ...

  6. 将SQLServer2005中的数据同步到Oracle中

    有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据.不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现. ...

  7. trackr: An AngularJS app with a Java 8 backend – Part II

    该系列文章来自techdev The Frontend 在本系列的第一部分我们已经描述RESTful端建立在Java 8和Spring.这一部分将介绍我们的第一个用 AngularJS建造的客户端应用 ...

  8. 转:表单中Readonly和Disabled的区别(HTML中使用javascript解除禁止input输入框代)

    转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...

  9. C# 实现对接电信交费易自动缴费

    他有这样一个JS PassGuardCtrl.js 部分代码    1 defaults:{  2             obj:null,  3             random:null,/ ...

  10. span元素定义宽高度

    由于span是行内元素,不可能有高度和宽度的,在span标签里添加内容,可以撑出来宽高,想要定义宽高必须转话成块级元素. span{ display:block; } 或者使用 span{ displ ...