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() の使用

推薦する

bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明

SSHPASSをインストールする最新のオペレーティング システムでは、sshpass パッケージはデ...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

簡単な手順で純粋な CSS3 で 3D 反転効果を実現

フロントエンド開発者の必須科目であるCSS3は、多くの基本的なアニメーション効果を実現するのに役立ち...

Apache、Tomcat、Nginx サーバーの詳細な理解と比較分析

質問1件会社のサーバーはApacheを使用しており、バックエンドはPHP、サーバーはLinux C/...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

CSS3 オーバーフロープロパティの説明

1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...

Nginx+SpringBoot による負荷分散の実装例

負荷分散の概要Nginx の負荷分散実装を紹介する前に、負荷分散の分類について簡単に説明します。負荷...

MySQL 完全崩壊: クエリフィルタ条件の詳細な説明

概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...

Mysql+JavaSwing に基づくスーパーマーケット商品管理システムの設計と実装

目次1. 機能紹介2. キーコード2.1 ホームページの機能2.2 製品情報を追加する2.3 データ...

JavaScript イベント委任の原則

目次1. イベント委任とは何ですか? 2. イベント委任の原則3. イベント委託の役割1. イベント...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

Web インタビュー Vue カスタム コンポーネントと呼び出しメソッド

輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...

Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策

Windows 10 で Docker コンテナのポートにアクセスできない問題を解決する (ポート ...

Win10 での MySQL 5.7 の詳細なインストールと設定のチュートリアル

1. MySQL 5.7を解凍する2. 新しい設定ファイルmy.iniを作成し、 D:\Free\m...