ubuntu18.04编译zlmediakit支持webrtc

author author     2023-02-19     794

关键词:

背景

最近在做流媒体相关的一些东西, 比较了一些开源的流媒体服务, 目前 ​​srs​​ 和 ​​ZlmediaKit​​ 项目是评价比较高的, 今天主要在 Ubuntu18.04 上编译 ZlmediaKit, 并支持 webrtc 协议.

准备

源码准备

下载 zlmediakit 源码及其依赖组件源码.

git clone --depth 1 https://github.com/ZLMediaKit/ZLMediaKit.git

# 下载依赖组件源码
git submodule update --init
安装或编译依赖

查询是否已经安装 openssl 1.1.1 及以上版本, 一般 ubuntu18.04 应该已经有了.

openssl version -a

下载 libsrtp 源码, 用于编译 webrtc 时所依赖.

wget https://codeload.github.com/cisco/libsrtp/tar.gz/refs/tags/v2.3.0
tar -xvzf libsrtp-2.3.0.tar.gz
cd libsrtp-2.3.0
./configure --enable-openssl
make -j8
sudo make install

使用 apt-get 安装其它相关依赖.

sudo apt-get install libssl-dev
sudo apt-get install libsdl-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavutil-dev
sudo apt-get install ffmpeg

编译

cd ./ZLMediaKit
mkdir build
cd build
cmake .. -DENABLE_WEBRTC=true
cmake --build . --target MediaServer

编译路径在项目 release 目录.

[master][~/Downloads/zlmediakit-checkout/ZLMediaKit/release/linux/Debug]$ pwd

# output
/Users/guoxiangxun/Downloads/zlmediakit-checkout/ZLMediaKit/release/linux/Debug

运行

进入到编译结果目录, 直接使用 ​​sh​​ 或 ​​./​​ 运行. 如果需要后台运行, 可以加上 ​​-d​​ 参数.

./MediaServer -d &

但按以上命令执行, 还会时不时在终端上打印日志, 我最终优化了下, 写了两个脚本用于启动和停止.

启动脚本 ​​start_mediakit.sh​

#!/usr/bin/env bash

# 把输出丢弃
./MediaServer -d > /dev/null 2>&1 &

停止脚本 ​​kill_mediakit.sh​

#!/usr/bin/env bash

# kill 掉所有进程 (可能有 fork 进程)
ps -eaf | grep MediaServer | tr -s " " | cut -d " " -f2 | xargs kill

运行成功后, 使用 chrome 浏览器访问: ​​http://192.168.1.113:8080/webrtc/​​ 进行测试.

FAQ

  • 启动 MediaServer 时提示端口创建失败, 没有权限.
    需要使用 root 用户或者 sudo 运行.
  • 如果通过 nginx 反向代理访问 mediakit, 开启 hook 无效.
    有可能需要在 config.ini 配置forwarded_ip_header 参数为服务器 ip.
#可以把http代理前真实客户端ip放在http头中:https://github.com/ZLMediaKit/ZLMediaKit/issues/1388
#切勿暴露此key,否则可能导致伪造客户端ip
forwarded_ip_header=xxx.xxx.xxx.xxx

支持向量回归 (SVR) 在 Ubuntu 18.04 LTS 中不绘制图形

】支持向量回归(SVR)在Ubuntu18.04LTS中不绘制图形【英文标题】:SupportVectorRegression(SVR)plotsnographinUbuntu18.04LTS【发布时间】:2018-11-2522:33:11【问题描述】:我在Ubuntu18.04LTS中使用Python2.7.15rc1。我试图绘制支持向量回归图,但我没有得... 查看详情

在 Ubuntu 18.04 中对 PHP 7.2 启用 GD 支持

】在Ubuntu18.04中对PHP7.2启用GD支持【英文标题】:EnableGDsupportonPHP7.2inaUbuntu18.04【发布时间】:2021-09-1315:16:42【问题描述】:我需要在Ubuntu18.04安装中启用PHP7.2上的GD支持,我在网上找到了这个解决方案:sudoapt-getinstallphp7.2-gd由于我... 查看详情

[ubuntu]ubuntu18.04上源码编译protobuf

安装依赖sudoaptupdatesudoaptinstalllibprotobuf-devprotobuf-compilercmakegit -y下载源码:wgethttps://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz tar-zxvfproto 查看详情

在 Xubuntu 19.04 中编译 c++ 是不是应该与在 Ubuntu 18.04 中编译 c++ 不同

】在Xubuntu19.04中编译c++是不是应该与在Ubuntu18.04中编译c++不同【英文标题】:Shouldcompilingc++inXubuntu19.04bedifferentthencompilingc++inUbuntu18.04在Xubuntu19.04中编译c++是否应该与在Ubuntu18.04中编译c++不同【发布时间】:2019-09-1322:13:42【问题描... 查看详情

ubuntu18.04编译使用caffecpu使用工具示例训练示例(代码片段)

测试使用dockerubuntu18.04docker使用参考远程工具为MobaXterm_20.0汉化版本,工具链接ubuntu18.04镜像获取基本软件安装基本设置QT安装推荐远程链接软件1.安装caffecpu1.1安装依赖apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibhdf5... 查看详情

ubuntu18.04编译使用caffecpu使用工具示例训练示例(代码片段)

测试使用dockerubuntu18.04docker使用参考远程工具为MobaXterm_20.0汉化版本,工具链接ubuntu18.04镜像获取基本软件安装基本设置QT安装推荐远程链接软件1.安装caffecpu1.1安装依赖apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibhdf5... 查看详情

ubuntu18.04手动编译安装ffmpeg(代码片段)

...的音频和视频的录影、转换和流处理等场合。这里记录在Ubuntu18.04平台下安装ffmpeg的过程。(注:ffmpeg目前已经可以通过apt直接进行安装,见最后) 安装过程  a.在ffmpeg官网上下载对应的安装压缩包,笔者使用的是ffmpeg-4. 查看详情

ns2基于ubuntu18.04(代码片段)

...、编写terminal环境下的变量参数步骤四、运行样例Ref环境Ubuntu18.04(VMware)安装流程步骤一、安装gcc编译器sudoapt-getinstallg++-4.8(注安装最新版g++会出现一些代码错误。Bing到参考[1],使用4.8版本不会有任何报错)步骤二、解压并编译文... 查看详情

国标视频平台搭建zmlmediakit部署(代码片段)

...使用github下载zip包的方式下载源码,务必使用git克隆ZLMediaKit的代码,因为ZLMediaKit依赖于第三方代码,zip包不会下载第三方依赖源码,你可以这样操作:#国内用户推荐从同步镜像网站gitee下载gitclone--depth1https://... 查看详情

ubuntu18.04编译fortran出现‘没有f951这个文件’处理

...了f951,然后把他复制到某个位置就可以用了。我在自己的ubuntu里搜,没有f951这个文件。然后,我去安装包里找,也没有这个文件,我就去我另一个电脑(ubuntu16.04)里面找到了f951.把它复制到/usr/bin下面 查看详情

[c++][ubuntu]mnn在ubuntu18.04源码编译流程

1、先编译protobuf安装依赖sudoaptupdatesudoaptinstalllibprotobuf-devprotobuf-compilercmakegit -y下载源码:wgethttps://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz tar-zxvfprotobuf-all-3.19.4.tar.gz你也可以下载其他版本源码或... 查看详情

ubuntu18.04编译安装指定版本bison(gnu词法分析器)(代码片段)

一、问题描述Ubuntu18.04,腾讯源,无法直接使用apt-get安装bison。换源到官方源:Ubuntu恢复官方默认源。安装m4:sudoapt-getinstallm4安装bison:sudoapt-getinstallbison检查版本:bison-v出错,GLIBC_2.32未找到&#x 查看详情

技术分享|wvp+zlmediakit实现摄像头gb28181推流播放(代码片段)

...国标平台。支持rtsp/rtmp等推流转发到国标平台。服务部署ZLMediaKit部署##准备环境[root@localhostartc]#yuminstall-yepel-release##gcc和yasm需要高版本小编用的是gcc4.8.5yasm1.2.0[roo 查看详情

ubuntu18.04安装opencv和opencv_contrib(代码片段)

Ubuntu18.04安装opencv和opencv_contrib目录Ubuntu18.04安装opencv和opencv_contrib1.版本2.源码编译和安装opencv和opencv_contrib(1)下载opencv和opencv_contrib源码(2) 安装OpenCV相关依赖库(3)源码编译3.一些异常处理1.undefinedreferenceto`TIFFReadD 查看详情

ubuntu18.04azurekinectrosdriver配置(代码片段)

Ubuntu18.04AzureKinectROSDriver配置文章目录Ubuntu18.04AzureKinectROSDriver配置1.创建工作空间2.下载ROS驱动3.收集库文件4.修改k4a_ros_device.h5.编译6.测试1.创建工作空间mkdir-p~/KinectDK_ws/srccd~/KinectDK_ws/srccatkin_init_workspacecd..ca 查看详情

ubuntu18.04seetaface6人脸识别部署(代码片段)

Seetaface6人脸识别部署文章目录Seetaface6人脸识别部署一、下载源码二、编译工具三、编译3.1编译OpenRoleZoo3.2编译SeetaAuthorize3.3编译TenniS3.2编译剩余模块四、运行demo4.1修改lib路径4.2buildproject4.2运行Run!一、下载源码使用git命令git... 查看详情

ubuntu18.04编译使用caffecpu使用工具示例训练示例(代码片段)

测试使用dockerubuntu18.04docker使用参考远程工具为MobaXterm_20.0汉化版本,工具链接ubuntu18.04镜像获取基本软件安装基本设置QT安装推荐远程链接软件1.安装caffecpu1.1安装依赖apt-getinstalllibprotobuf-devlibleveldb-devlibsnappy-devlibopencv-devlibhdf5... 查看详情

在ubuntu18.04下搭建kvm

 前一段时间一直在尝试Ubuntu上搭建xen,一直出现各种问题,各种坑首先先感谢下面这个公司对我的耐心解答,非常感谢。特别是后面来的电话对我进行了详细的解答,所以选择搭建kvm。1.需要检查一下CPU是否支持虚拟化,执... 查看详情