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等实现。

  1. 生成start脚本内容如下:
    #!/bin/sh

    PROCESS_NUM=`ps -ef | grep "openmcu" | grep -v "grep" | wc -l`
    if [ $PROCESS_NUM -lt 1 ];
    then
      exec nohup /opt/openmcu/openmcu -n -v --disable-menu > /opt/openmcu/mcu.log &
    fi
  2. 用chmod +x给start脚本以可执行权限
  3. 用crontab -u 执行openmcu的用户名 -e进入cron任务编辑模式(是一个类似vi的编辑环境),输入:
    */1 * * * * /opt/start
    表示每一分钟运行一次start脚本。

这样实现的其实不仅仅是开机自动运行了,还保证了每1分钟检查一次是否openmcu在运行,如果没在运行,则启动之。

GlossyBlue theme adapted by David Gilbert
Powered by PmWiki