ZLMediaKit(webrtc)在linux上(CentOS7)部署与启动

这篇具有很好参考价值的文章主要介绍了ZLMediaKit(webrtc)在linux上(CentOS7)部署与启动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.ZLMediaKit(webrtc)在CentOS7部署与启动

# 1. 卸载旧版本
yum remove git
# 2. 安装 yum 源的 Git 版本
yum install -y git
# 3. 查看版本
git version 
# 输出 git version 1.8.3.1


配置全局环境变量
# 1. 编辑配置文件
vim /etc/profile
# 2. 在 /etc/profile 文件中末尾追加以下内容(相信你肯定已熟练掌握 Vim 使用啦)
export PATH=$PATH:/usr/local/git/bin
# 3. 回到终端, 刷新配置
source /etc/profile
# 4. 查看版本
git version 
# 输出 git version 2.35.1

步骤1:安装ffmpeg

wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
tar -zxvf ffmpeg-3.1.tar.gz

cd ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg
make && make install

vi /etc/profile
在最后PATH添加环境变量:
export PATH=$PATH:/usr/local/ffmpeg/bin
保存退出
查看是否生效
source /ect/profile  设置生效

ffmpeg -version

步骤2:gcc安装

yum remove gcc
yum -y install bzip2
yum install gcc-c++
# 如果下载慢 可以浏览器输入地址下载
curl https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2 -O
# j对应bz2编码 J对应gz编码
tar xvfj gcc-5.4.0.tar.bz2
yum install gmp-devel mpfr-devel libmpc-devel
mkdir gcc-5.4.0-build
cd gcc-5.4.0-build
../gcc-5.4.0/configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc) && make install # note: nproc is the number of threads (e.g.2or 4 or 8 )

步骤3:cmake安装

安装gcc等必备程序包(已安装则略过此步)上面已安装gc
yum install -y gcc gcc-c++ make automake 

安装wget (已安装则略过此步)
yum install -y wget

获取CMake源码包
wget https://github.com/Kitware/CMake/releases/download/v3.20.5/cmake-3.20.5.tar.gz

解压CMake源码包
tar -zxvf cmake-3.20.5.tar.gz

进入目录
cd cmake-3.20.5

 编译安装
./bootstrap && make -j4 && sudo make install

version `GLIBCXX_3.4.20‘ not found 解决方法

su root
cd /usr/local/lib64
# 下载最新版本的libstdc.so_.6.0.26
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
# 将下载的最新版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd  /usr/lib64
# 查看 /usr/lib64下libstdc++.so.6链接的版本
ls -l | grep libstdc++
libstdc++.so.6 ->libstdc++.so.6.0.19
# 删除/usr/lib64原来的软连接libstdc++.so.6,删除之前先备份一份
sudo rm libstdc++.so.6
# 链接新的版本
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
# 查看新版本,成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
...
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_DEBUG_MESSAGE_LENGTH

步骤4:openssl 安装 (openssl版本要求1.1以上)

$ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
$ tar -xvzf openssl-1.1.1k.tar.gz
$ yum install -y zlib zlib-devel perl-CPAN
$ ./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
$ make && make install
$ echo "/usr/local/lib64/" >> /etc/ld.so.conf
$ echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
$ ldconfig
$ ln -s /usr/local/openssl/bin/openssl  /usr/local/bin/openssl # 替换系统openssl,非必须
$ openssl version -a

步骤5:安装 yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install

步骤6:libsrtp安装

tar -xvzf libsrtp-2.3.0.tar.gz
cd libsrtp-2.3.0
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 && make install

步骤7:下载zlm源码

#如果没安装git 那么安装
yum install -y git
#国内用户推荐从同步镜像网站gitee下载 
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init

编译

$ mkdir build
$ cd build
$ cmake .. -DENABLE_WEBRTC=true  -DOPENSSL_ROOT_DIR=/usr/local/openssl  -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
$ cmake --build . --target MediaServer
# 最终输出
[ 96%] Built target test_rtcp_fci
[ 96%] Building CXX object tests/CMakeFiles/test_rtp.dir/test_rtp.cpp.o
[ 97%] Linking CXX executable ../../release/linux/Debug/test_rtp
[ 97%] Built target test_rtp
[ 97%] Building CXX object tests/CMakeFiles/test_wsServer.dir/test_wsServer.cpp.o
[ 97%] Linking CXX executable ../../release/linux/Debug/test_wsServer
[ 97%] Built target test_wsServer
[ 97%] Building CXX object tests/CMakeFiles/test_server.dir/test_server.cpp.o
[ 97%] Linking CXX executable ../../release/linux/Debug/test_server
[ 97%] Built target test_server
[ 98%] Built target jsoncpp
[ 98%] Linking CXX executable ../../release/linux/Debug/MediaServer
[100%] Built target MediaServer 

修改配置文件

(1)由于webrtc协议需要告知播放器服务器所在ip,如果该ip对播放器不可见,会导致webrtc无法联通。
请修改配置文件中rtc.externIP为播放器可见ip,如果不设置该配置项,zlmediakit将获取网卡ip(一般是内网ip),
那么将无法跨域nat使用webrtc。
[rtc]
#rtc播放推流、播放超时时间
timeoutSec=15
#本机对rtc客户端的可见ip,作为服务器时一般为公网ip,置空时,会自动获取网卡ip
externIP=
#rtc udp服务器监听端口号,所有rtc客户端将通过该端口传输stun/dtls/srtp/srtcp数据,
#该端口是多线程的,同时支持客户端网络切换导致的连接迁移
#需要注意的是,如果服务器在nat内,需要做端口映射时,必须确保外网映射端口跟该端口一致
port=8000
#设置remb比特率,非0时关闭twcc并开启remb。该设置在rtc推流时有效,可以控制推流画质
rembBitRate=1000000

(2)config.ini 配置文件
 注意,如果用不到hook,不要开启。开启后,所有的推拉流都会进行鉴权。
[hook]
#是否启用hook事件,启用后,推拉流都将进行鉴权
enable=0

运行

cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &
#以自定义配置文件启动
./MediaServer -c 配置文件具体地址
(nohup ./MediaServer -c 配置文件具体地址 &

测试webrtc:文章来源地址https://www.toymoban.com/news/detail-637811.html

地址为 http://192.168.41.252:8091/webrtc/ 。8091为config.ini文件中http配置的port。

到了这里,关于ZLMediaKit(webrtc)在linux上(CentOS7)部署与启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS7下离线编译ZLMediaKit

    CentOS 版本号 CentOS Linux release 7.9.2009 (Core) 内核版本 Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux    镜像下载地址 https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spm=a2c6h.25603864.0.0.196df5adF9cHsb       切换到 root 用户 如果不是 root 用户进行

    2024年02月03日
    浏览(45)
  • (Linux)Centos7.*版本安装配置Java环境、Tomcat、Nginx并打包部署SSM框架web系统

    目录 一、准备软件与安装包 (一)、必须的软件 1、点击下载Xshell 2、点击下载FileZilla (二)、准备安装包 1、点击下载JDK1.8Linux版本 2、点击下载Nginx 3、点击下载Tomcat   二、关于FileZilla软件的使用说明 (一)、FileZilla软件的打开和说明 (二)、配置服务器地址去连接服务器  三、X

    2023年04月25日
    浏览(64)
  • 39.Linux系统启动原理及故障排除(centos7)

    目录 1.centos7 系统启动过程 2.登陆系统图解 3.管理系统服务  4.运行级别  例 1:默认系统启动使用 3 级别字符界面  例 2:默认系统启动使用 5 级别图形界面  例 3: centos7 修改内核启动顺序  1.centos7 系统启动过程 加载 BIOS/UEFI 信息,进行硬件检测。按照 BIOS 设定找到第一个

    2023年04月08日
    浏览(41)
  • linux centos7部署telnet

    一、xinetd安装 telnet服务依赖于xinetd服务,所以需要首先安装xinetd服务 查看服务器是否安装有xinetd,如果已安装则进行下一步,没有则先安装xinetd服务 1、下载上传xinetd安装包 2、安装xinetd服务 3、启动xinetd服务 二、telnet安装 1、下载上传telnet安装包 第一个为telnet客户端安装包

    2024年02月10日
    浏览(31)
  • Linux系统(Centos7)部署JDK环境

    要想在将Java项目上线,则必须在Linux系统中部署Java项目,而要想Java项目在Linux系统中运行,则首先必须在LInux系统中部署JDK环境,具体步骤如下所示: 1.下载JDK8 JDK下载路径 目前官网下载jdk的时候需要登录,这边分享一个可以使用的账号,方便大家下载: 账号:913898356@qq.c

    2024年02月16日
    浏览(54)
  • linux centos7 django uwsgi 部署

    安装这里就不多说,直接配置问题及所遇到问题总结 django 项目 manage.py目录新建uwsgi.ini文件 uwsgi配置 [uwsgi] socket = 127.0.0.1:9000 # uwsgi直接访问用http,nginx访问用socket http= 127.0.0.1:9000 chdir = /usr/local/www/项目目录 wsgi-file = /usr/local/www/项目目录/项目目录/wsgi.py module = 项目目录.wsgi

    2024年01月21日
    浏览(46)
  • Linux系统【centos7】怎么手动部署网站?

    要手动部署网站在CentOS 7系统上,请按照以下步骤操作: 1. 安装Apache服务器 在终端中使用以下命令安装Apache服务器: ``` sudo yum install httpd ``` 2. 配置防火墙 设置防火墙规则以允许HTTP和HTTPS流量: ``` sudo firewall-cmd --permanent --add-service=http  sudo firewall-cmd --permanent --add-service=http

    2024年02月05日
    浏览(42)
  • Linux运维实战:Centos7.6部署wingftpserver

    Wing FTP Server是一款优秀且高速的跨平台FTP服务器软件,对比Windows中自带的 FTP 服务器,它支持可伸缩的处理器架构并采用异步IO,在速度和效率方面遥遥领先于其他同类产品,稳定可靠, 高负载的同时也能持续地正常运行,在网络运维中它契合企业和学校的文件传输,除了基

    2024年01月20日
    浏览(66)
  • [SpringCloud | Linux] CentOS7 部署 SpringCloud 微服务

    目录 一、环境准备 1、工具准备 2、虚拟机环境 3、Docker 环境 二、项目准备 1、配置各个模块(微服务)的 Dockerfile 2、配置 docker-compose.yml 文件 3、Maven 打包 4、文件整合并传输 三、微服务部署 1、部署至 Docker 2、访问微服务 四、问题汇总 1、加载、启动很慢 2、没有给 CentOS

    2024年02月06日
    浏览(46)
  • linux CentOS7 keepalived+LVS(DR)搭建部署

    1.准备5台虚拟机,2台做LVS主备调度器,2台做web服务器,1台做存储,主机机验证 2.LVS主备调度器 master(192.168.1.127)backup(192.168.1.106) 3.web1(192.168.1.121)web2(192.168.1.118) 4.存储(192.168.1.15) 5.虚拟ip(192.168.1.111) 关闭防火墙 ————————————————   开始 写入

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包