CentOS 6 ZLMediaKit のコンパイルとインストール分析

CentOS 6 ZLMediaKit のコンパイルとインストール分析

Centos6にZLMediaKitをインストールする

ZLMediaKit の作者は Ubuntu 16 を使って開発しましたが、テストや本番で動かす場合は Centos に導入する必要があります。作者は主に Centos6 を使っています (Centos7 も以下の rpm パッケージ以外はコンパイルコンポーネントの動作は同じです)。要望があったのでインストールして共有します。

1. 基本的なコンパイル環境をインストールする

1.1 gcc-5.4のインストール

注: centos6 のデフォルトの gcc バージョンは gcc-4.4 であり、これを gcc-5.4 にアップグレードする必要があります。c11 をサポートするには gcc-4.7 以上にアップグレードする必要があると記載されているオンライン バージョンは誤りです。実際のテストでは、gcc-4.8 は関連する基本構成フレームワークを正常に cmake できません。

http://mirrors.nju.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz を取得します。
tar -zxvf gcc-5.4.0.tar.gz
gcc-5.4.0 をインストールしてください
./contrib/ダウンロードの前提条件
CD ..
gcc-build-5.4.0 をディレクトリに追加します。
gcc-build-5.4.0 をCDに追加します
../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
作成 && インストール

(私の仮想マシンはデュアルコアプロセッサと 2.5G メモリを搭載しており、1 時間かかります。もっと早く知っていたら、もっと多くのコアを構成していたでしょう... 死ぬまで待っていたでしょう)

gcc -v この時点で、システムのgccは自動的にgcc-5.4バージョンになります。

1.2 cmake-3.10 のインストール

他のバージョンの cmake3 がインストールできるかどうかはまだテストしていません。現在使用されている 3.10 は、作者のバージョンと一致しています。

tar -zxvf cmake-3.10.0-rc4.tar.gz
cmake-3.10.0 をインストールします
 ./ブートストラップ
gmake && gmake インストール
yum 削除 cmake
ln -s /usr/local/bin/cmake /usr/bin/cmake
ln -s /usr/local/bin/cpack /usr/bin/cpack
ln -s /usr/local/bin/ctest /usr/bin/ctest
#または環境変数をエクスポート PATH=$PATH:/usr/local/bin と記述します
#/etc/profileで設定した後、ソースは

確認する:

# cmake --version
cmake バージョン 3.10.0-rc4

2. ZLMediaKitをコンパイルする

2.1 コードをダウンロードする

git clone --depth=1 https://github.com/xiongziliang/ZLMediaKit.git
cd ZLメディアキット
git サブモジュールの初期化
git サブモジュールの更新

2.2 インストールの依存関係

yum インストール mysql-devel.x86_64 openssl-devel ffmpeg ffmpeg-devel

他の 3 つの rpm パッケージもインストールする必要があります。リンクは次のとおりです。

libx264-devel (https://pkgs.org/download/libx264)
http://pkgrepo.linuxtech.net/el6/release/x86_64/libx264-devel-0.130-0.20130531.1.el6.x86_64.rpm で実行します。
libfaac-devel (https://pkgs.org/download/libfaac)
http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic//libfaac-devel-1.28-alt2.x86_64.rpm で実行します。
libmp4v2-dev (https://pkgs.org/download/libmp4v2)
https://download-ib01.fedoraproject.org/pub/epel/6/x86_64/Packages/l/libmp4v2-1.5.0.1-10.el6.x86_64.rpm を実行します。

2.3 コンパイル

# linux_buildディレクトリに移動します
# ln -s linux_build/ビルド
# cd ビルド
# cmake ..
-- Cコンパイラの識別はGNU 5.4.0です
...
-- 設定完了
-- 生成完了
-- ビルドファイルは /usr/local/src/install_pack/ZLMediaKit/build に書き込まれました
# 作る

コンパイルされた実行ファイルはZLMediaKit/git/ZLMediaKit/build/binにあります。

3. コンパイルされたZLMediaKitを実行する

cd ZLMediaKit/git/ZLMediaKit/ビルド
./bin/メディアサーバー

# netstat -antlp | grep ./MediaServer
tcp 0 0 0.0.0.0:555 0.0.0.0:* LISTEN 26771/./MediaServer 
tcp 0 0 0.0.0.0:1936 0.0.0.0:* LISTEN 26771/./MediaServer 
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26771/./MediaServer 
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 26771/./MediaServer 
tcp 0 0 0.0.0.0:322 0.0.0.0:* LISTEN 26771/./MediaServer 
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 26771/./MediaServer

ポートを変更する場合は、コンパイルする前に、ZLMediaKit/git/ZLMediaKit/server/main.cppを探してください。

名前空間 mediakit の下にある各サーバーのポート番号を変更します {

要約する

以上が編集者による Centos6 コンパイルと ZLMediaKit 分析のインストールの紹介です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Centos7ソースコードのコンパイルとphp7.2本番のインストールの詳細な説明
  • Centos7.2 のコンパイルと PHP7.0.2 のインストール手順
  • CentOS 7 で Nginx 1.11.10 をコンパイルしてインストールするチュートリアル
  • Centos7 で Nginx+PHP+MySql 環境をコンパイル、インストール、構成する
  • CentOS MySQL 5.7 のコンパイルとインストールの詳細な手順

<<:  Linux で特定のプログラムを見つけるための whereis の例の詳細な説明

>>:  Vue ローカルコンポーネントデータ共有 Vue.observable() の使用

推薦する

Reactでカスタムフックを作成する方法を教えます

1. カスタムフックとは何かロジックの再利用簡単に言えば、カスタム フックを使用すると、特定のコンポ...

CSSのborder-radiusプロパティを使用して円弧を設定します

現象: divを一定の振幅で円、楕円などに変更する方法: CSSのborder-radiusプロパテ...

UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます

CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...

MySQL での replace と replace into の使い方の説明

MySQL の replace と replace into はどちらも頻繁に使用される関数です。r...

VMware Workstation Pro でサーバー仮想マシンを構築する (グラフィック チュートリアル)

私が使用している VMware Workstation Pro のバージョンは次のとおりです。 1....

Vue3.0はドロップダウンメニューのカプセル化を実装します

Vue3.0 がリリースされてからしばらく経ちましたが、勉強を始める必要があります。まず、達成したい...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

スクロールバーの美化効果を実現するための CSS3 のサンプル コード

具体的なコードは次のとおりです。 /*スクロールバーの幅*/ ::-webkit-スクロールバー{ ...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

jsネイティブ構文プロトタイプ、__proto__、コンストラクタの徹底的な理解

目次1 はじめに2 前提条件2.1 データ型2.2 それが自身のプロパティであるかどうかを判断する ...

du コマンドを使用して Linux システム ディレクトリのサイズを取得する方法

Linux システムを使用したことがある人なら、Linux システムの ls コマンドは通常、ファイ...

Vueで背景色と透明度を設定する方法

背景色と透明度の設定上記のように、最初の画像の場合は、灰色の背景と左上隅に白い「カバー」という文字を...

MySQLインデックス最適化分析に関する簡単な説明

記述した SQL クエリが遅いのはなぜですか?作成したインデックスが頻繁に失敗するのはなぜですか?こ...

mysql5.7.24 バージョンのインストール手順と解凍時に発生した問題の概要

1. ダウンロード参考: 2. D:\MySQL\mysql-5.7.24 などの固定の場所に解凍し...

Nest.js のハッシュと暗号化の例の詳細な説明

0x0 はじめにまず、ハッシュアルゴリズムとは何でしょうか?メッセージやセッション項目など、一部のデ...