Ubuntu安装ZLMediaKit

方式一

1、安装vcpkg

在Ubuntu上安装vcpkg的步骤如下:

  1. 安装必要的依赖:

    • 首先,你可能需要安装cmakeninja-build。你可以使用apt包管理器来安装它们:

      bash复制代码
      
      sudo apt install cmake ninja-build
      
  2. 下载vcpkg源码:

    • 使用git克隆vcpkg的源代码仓库到你的本地目录。例如,你可以将其克隆到你的主目录下:

      bash复制代码
      
      git clone https://github.com/Microsoft/vcpkg.git(访问不到换git clone https://gitee.com/jackboosy/vcpkg)
      

      这将把vcpkg的源代码下载到名为vcpkg的目录中。

  3. 进入源码目录:

    • 使用cd命令进入你刚刚克隆的vcpkg目录:

      bash复制代码
      
      cd vcpkg
      
  4. 运行bootstrap脚本:

    • 在vcpkg目录中,运行bootstrap脚本来构建vcpkg:

      bash复制代码
      
      ./bootstrap-vcpkg.sh
      

      这个脚本将下载并构建vcpkg所需的工具链和依赖。

  5. (可选)修改默认构建类型:

    • 如果你不希望vcpkg默认构建库的debug版本,你可以修改triplets目录下的x64-linux.cmake文件。在该文件的末尾添加:

      cmake复制代码
      
      set(VCPKG_BUILD_TYPE release)
      

      这将使vcpkg默认构建库的release版本。

  6. 使用vcpkg:

    • 现在你可以使用vcpkg来安装和管理C++库了。例如,要安装一个库(比如zlib),你可以运行:

      bash复制代码
      
      ./vcpkg install zlib
      
  7. (可选)添加环境变量:

    • 如果你想在系统的任何地方都能使用vcpkg,你可以将其添加到你的环境变量中。这通常是通过修改你的shell配置文件(如~/.bashrc~/.bash_profile)来实现的。添加类似于以下内容的行:

      bash复制代码
      
      export PATH="$HOME/vcpkg/scripts/buildsystems:$PATH"
      

      这假设你已经将vcpkg克隆到了你的主目录下的vcpkg文件夹中。然后,运行source ~/.bashrc(或你的shell配置文件)来使更改生效。

现在你应该已经成功在Ubuntu上安装了vcpkg,并可以使用它来安装和管理C++库了。

Vcpkg是由Microsoft开发的开源包管理器,用于在不同平台上安装和管理C和C++库。它极大地简化了Windows、Linux和macOS上第三方库的购置与安装过程。Vcpkg维护着一系列常用的C和C++库,这些库可以使用Vcpkg获取和编译。一旦安装了Vcpkg,您可以使用它来搜索库、安装库并管理它们的版本,所有这些操作都可以通过命令行界面执行。此外,Vcpkg支持多个平台,包括Windows、macOS和Linux,可在不同操作系统上一致地管理库。

Vcpkg拥有大量开放源代码库和企业就绪功能,旨在通过支持任何构建和项目系统来促进开发过程。它是一个核心的C++工具,使用CMake中的脚本以C++语言编写,从头开始设计,以解决C/C++开发人员体验的独特难点。Vcpkg是开源的,目前有很多的贡献者,通过vcpkg团队及贡献者共同的努力,vcpkg得以快速发展。

2、安装ZLMediaKit

https://github.com/ZLMediaKit/ZLMediaKit/wiki/vcpkg%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85zlmediakit

方式二

1、获取代码

git clone https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
git submodule update --init

2、下载第三方库

  • 安装gcc、gcc-c++
sudo apt install build-essential

sudo apt install gcc(版本大于等于4.8)

sudo apt  install gcc-c++
  • 安装cmake,要求版本在3.1.7以上

方法1:使用apt命令安装

这是最简单直接的方法,但需要注意的是,通过这种方式安装的CMake版本可能不是最新的。

  1. 打开终端。

  2. 更新你的包列表,确保你安装的是可用的最新版本:

    bash复制代码
    
    sudo apt update
    
  3. 安装CMake:

    bash复制代码
    
    sudo apt install cmake
    

方法2:从CMake官网下载预编译的二进制文件安装

如果你需要安装的CMake版本比APT源中提供的版本新,你可以从CMake官网下载预编译的二进制文件进行安装。

  1. 访问CMake官网,下载适合你的系统版本的二进制文件(.sh文件或.tar.gz文件)。
  2. 如果是.sh文件,你可以直接运行它来安装。
  3. 如果是.tar.gz文件,解压该文件到一个目录,然后将其bin目录添加到你的PATH环境变量中,并更新环境变量。

方法3:源码编译安装

如果你需要安装最新版本的CMake,或者想要自定义编译选项,可以选择源码编译安装。

  1. 从CMake官方网站下载源码包,例如cmake-3.xx.x.tar.gz

  2. 解压源码包:

    bash复制代码
    
    tar -zxvf cmake-3.xx.x.tar.gz
    
  3. 进入解压后的文件夹,并执行bootstrap脚本进行检查:

    cd cmake-3.xx.x  
    ./bootstrap
    

    如果出现错误,可能需要先安装

    g++
    

    等依赖:

    bash复制代码
    
    sudo apt-get install g++
    

    然后重新运行

    ./bootstrap
    
  4. 执行

    make
    

    命令进行编译,可以使用

    -j
    

    选项指定并行编译的线程数,如

    -j4
    

    表示使用4个核心进行编译:

    bash复制代码
    
    make -j4
    
  5. 安装编译好的CMake:

    bash复制代码
    
    sudo make install
    

完成以上步骤后,你就可以在Ubuntu上使用CMake了。你可以通过运行cmake --version来检查CMake的版本。

  • 安装依赖
sudo apt install openssl-devel

sudo apt install SDL2-devel
  • 安装ffmpeg,要求版本4.2以上

方法1:使用apt安装FFmpeg

  1. 更新软件包列表
    首先,你需要确保你的软件包列表是最新的。打开终端并输入以下命令:

    bash复制代码
    
    sudo apt update
    
  2. 安装FFmpeg
    接下来,你可以使用apt来安装FFmpeg。在大多数情况下,你只需要安装ffmpeg包,但如果你也需要其他工具或库(如ffprobe,一个多媒体流分析器),你可能还需要安装libav-tools包。

    sudo apt install ffmpeg  
    # 或者,如果你还需要ffprobe和其他工具  
    sudo apt install ffmpeg libav-tools
    
  3. 验证安装
    安装完成后,你可以通过运行以下命令来验证FFmpeg是否已成功安装并检查其版本:

    bash复制代码
    
    ffmpeg -version
    

方法2:从源代码编译FFmpeg(可选)

如果你需要FFmpeg的特定版本或定制编译选项,你可以从源代码编译它。但请注意,这通常比使用apt包管理器更复杂。以下是从源代码编译FFmpeg的基本步骤:

  1. 获取源代码
    首先,你需要从FFmpeg官方网站或Git存储库获取源代码。
  2. 解压源代码
    如果你下载了压缩的源代码包(如tar.gz),你需要解压它。
  3. 配置编译选项
    使用./configure脚本配置编译选项。你可以通过传递不同的参数来定制你的安装。
  4. 编译
    运行make命令来编译源代码。
  5. 安装
    运行sudo make install来安装FFmpeg。
  • 安装ZLMediaKit
cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j4
make install
  • 启动
cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &
#以自定义配置文件启动
./MediaServer -c 配置文件具体地址
(nohup ./MediaServer -c 配置文件具体地址 &)

参考文档:https://blog.csdn.net/jinhuding/article/details/132189291

问题

1、CMakeLists.txt:410 (message): openssl 未找到, rtmp 将不支持 flash 播放器, https/wss/rtsps/rtmps/webrtc 也将失效

这个CMakeLists.txt文件中的消息指出,在编译过程中没有找到openssl库,因此rtmp将不支持使用Flash播放器,以及httpswssrtspsrtmpswebrtc等协议也会失效。

为了解决这个问题,你需要确保你的系统上安装了openssl开发库,并且CMake能够找到它。以下是几个步骤来解决这个问题:

  1. 安装OpenSSL开发库
    根据你使用的操作系统,你需要安装OpenSSL的开发版本。以下是一些示例命令:

    • 对于基于Debian的系统(如Ubuntu):

      sudo apt-get update  
      sudo apt-get install libssl-dev
      
    • 对于基于RPM的系统(如Fedora或CentOS):

      bash复制代码
      
      sudo yum install openssl-devel
      

      或者使用dnf(在较新的版本上):

      bash复制代码
      
      sudo dnf install openssl-devel
      
    • 对于macOS,你可以使用Homebrew:

      bash复制代码
      
      brew install openssl
      

      但请注意,macOS的CMake可能默认使用系统的OpenSSL,而不是通过Homebrew安装的。

  2. 确保CMake能找到OpenSSL
    如果OpenSSL已经安装在你的系统上,但CMake仍然找不到它,你可能需要设置一些环境变量来告诉CMake在哪里可以找到OpenSSL。例如,你可以设置OPENSSL_ROOT_DIROPENSSL_LIBRARIES环境变量。

  3. 重新运行CMake
    一旦你安装了OpenSSL开发库并且确保CMake可以找到它,你需要重新运行CMake来配置你的项目。

  4. 检查输出
    重新运行CMake后,检查输出以确保没有关于openssl的错误或警告消息。

  5. 编译和安装
    最后,你可以编译和安装你的项目。如果一切顺利,你的项目现在应该支持rtmp以及与OpenSSL相关的协议了。

2、CMake Warning at webrtc/CMakeLists.txt:28 (message): srtp 未找到, WebRTC 相关功能打开失败

这个CMake警告信息表明在构建WebRTC相关的项目时,CMake在尝试配置或编译过程中没有找到srtp(Secure Real-time Transport Protocol,安全实时传输协议)库。SRTP库用于在实时传输协议(RTP)流中提供加密、消息认证和重放保护。

为了解决这个问题,你需要确保srtp库已经安装在你的系统上,并且CMake可以找到它。以下是一些可能的解决方案:

  1. 安装SRTP库
    根据你的操作系统和包管理器,安装SRTP库。例如,在基于Debian的系统(如Ubuntu)上,你可以使用以下命令:

    sudo apt-get update  
    sudo apt-get install libsrtp2-dev
    

    在基于RPM的系统(如Fedora或CentOS)上,可以使用:

    bash复制代码
    
    sudo yum install libsrtp2-devel
    

    或者在新版本的Fedora/CentOS上使用dnf

    bash复制代码
    
    sudo dnf install libsrtp2-devel
    

    在macOS上,你可能需要使用Homebrew或其他方式从源代码编译安装。

  2. 指定SRTP库的位置
    如果CMake仍然找不到SRTP库,你可以通过CMake的环境变量或命令行参数来指定库的路径。例如,你可以设置SRTP_LIBRARYSRTP_INCLUDE_DIR变量来指向SRTP库文件和头文件的位置。

  3. 检查CMakeLists.txt
    打开webrtc/CMakeLists.txt文件,并查找与SRTP相关的配置部分。确保CMake正确设置了查找SRTP库的路径和条件。

  4. 清理并重新运行CMake
    在进行了上述更改后,你可能需要清理现有的CMake构建文件(例如删除CMakeCache.txtCMakeFiles目录),然后重新运行CMake来生成新的构建系统。

  5. 检查依赖项文档
    查阅你正在构建的WebRTC项目的依赖项文档,以了解有关SRTP库和其他依赖项的更多详细信息。

相关推荐

  1. Ubuntu安装ZLMediaKit

    2024-05-16 11:34:18       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-16 11:34:18       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-16 11:34:18       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-16 11:34:18       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-16 11:34:18       18 阅读

热门阅读

  1. C++之lambda【匿名函数】

    2024-05-16 11:34:18       11 阅读
  2. MHA 高可用部署

    2024-05-16 11:34:18       9 阅读
  3. react + antd:新建项目问题汇总

    2024-05-16 11:34:18       10 阅读
  4. 引导前端学习

    2024-05-16 11:34:18       11 阅读
  5. C++并发:构建线程安全的队列

    2024-05-16 11:34:18       10 阅读
  6. 由读写arrow引发的对时间时区的思考

    2024-05-16 11:34:18       6 阅读
  7. 17.定浮点数与有符号数

    2024-05-16 11:34:18       10 阅读
  8. 代码随想录算法训练营第七天|

    2024-05-16 11:34:18       9 阅读