openmcu-ru编译安装(docker)

      openmcu-ru在高版本的Linux下(我的是linuxmint-19),编译能正常通过,但是sip呼叫时候出现"unsupported media type"错误信息,经测试在ubuntu14.04或12.04 LTS 64位版本下能够正常编译运行(openmcu已经不更新了),不想重装服务器,所以编译成docker镜像。

 一、安装docke
1.获取最新版本的 Docker 安装包

wget -qO- https://get.docker.com/ | sh

2.下载基础镜像(ubuntu14.04版本)

sudo docker pull ubuntu:14.04

3.运行并修改镜像

sudo docker run -it ubuntu
进入后:
sudo apt-get update
.................
exit
退出

4.制作新的镜像文件

sudo docker ps -n 1  
#列出最新的container,找到对应的CONTAINER ID ,如:bc58d3f1daf2 

sudo docker commit bc58d3f1daf2 openmcu-ru_4.2.1:ubuntu
#生成新的openmcu-ru_4.2.1:ubuntu镜像文件

sudo docker images  
#查看images是否生成

sudo docker  run --network host -it openmcu-ru_4.2.1:ubuntu
#运行新的镜像:使用host模式启动(不用端口映射)

5.镜像本地保存和载入

镜像保存/载入:docker load/docker save;将一个镜像导出为文件,再使用docker load命令将文件导入为一个镜像,会保存该镜像的的所有历史记录。
容器导入/导出:docker import/docker export;将一个容器导出为文件,再使用docker import命令将容器导入成为一个新的镜像,相当于虚拟机快照。

#保存镜像到本地:
sudo docker save –o openmcu-ru.tar openmcu-ru:ubuntu

#从本地载入镜像:
sudo docker load —input openmcu-ru.tar

6.停止容器和删除镜像

#首先需要停止所有的容器
sudo docker stop $(sudo docker ps -a -q)

#删除所有的容器
sudo docker rm $(sudo docker ps -a -q)

#删除指定id的镜像
docker rmi id

二、安装openmcu基础依赖库

1.安装基础库

sudo apt-get update
sudo apt-get install nasm yasm
sudo apt-get install build-essential gcc g++ make flex bison autoconf automake pkg-config libtool libssl-dev libvpx-dev libfreetype6-dev libjpeg62-dev libopus-dev libx264-dev

2.源码安装ffmpeg(也可以直接apt-get安装)

1.下载ffmpeg
wget http://ffmpeg.org/releases/ffmpeg-3.4.6.tar.gz

2.解压后进入ffmpeg目录下:
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-libx264 --disable-debug --disable-opencl --disable-thumb --disable-pic --disable-stripping --disable-everything --enable-encoder=libx264 --enable-decoder=h264 --enable-encoder=aac --enable-decoder=aac --enable-encoder=ac3 --enable-decoder=ac3 --enable-encoder=rawvideo --enable-decoder=rawvideo --enable-muxer=flv --enable-demuxer=flv --enable-muxer=mp4 --enable-demuxer=mpegvideo --enable-muxer=matroska --enable-demuxer=matroska --enable-muxer=wav --enable-demuxer=wav --enable-muxer='pcm*' --enable-demuxer='pcm*' --enable-muxer=rawvideo --enable-demuxer=rawvideo --enable-muxer=rtsp --enable-demuxer=rtsp --enable-demuxer=sdp --enable-parser=h264 --enable-parser=aac --enable-protocol=file --enable-protocol=tcp --enable-protocol=rtmp --enable-protocol=cache --enable-protocol=pipe --enable-filter=aresample --enable-filter=allyuv --enable-filter=scale --enable-muxer=rtsp --enable-demuxer=rtsp --enable-encoder=mjpeg --enable-decoder=mjpeg --enable-pic

3.编译安装
  make
  sudo make install

三、安装编译openmcu-ru

git clone https://github.com/muggot/openmcu.git #4.2.1版本
./autogen.sh
./configure
make              #注意不要用 make -j4等多线程
sudo make install

在/opt/openmcu-ru/bin目录下运行
sudo ./openmcu -x   或 sudo ./openmcu -d

 

上一篇:RU/RUR的安装


下一篇:Nginx geo模块