WebRTC ネットワーク リレー Coturn サービスのインストールと展開

概要

WebRTC ネットワーク伝送モジュールでは、NAT 接続できない場合、TURN プロトコルを使用して、転送方式によるエンドとエンド間の通信を実現します。Coturn は、NAT ファイアウォールやプロキシ サーバーの背後で実行できるリアルタイム通信システムを簡単に構築できるオープン ソースの STUN/TURN サーバーです。Coturn は、STUN (NAT 用セッション トラバーサル ユーティリティ)、TURN (NAT 周囲のリレーを使用したトラバーサル)、ICE (対話型接続確立) など、さまざまなプロトコルとテクノロジーをサポートしています。Coturn を使用すると、P2P 通信でトラフィックをダンプする必要がある WebRTC アプリケーションに TURN サーバーを提供できます。この記事では主に、Linux および Windows システムで Coturn を導入する手順を紹介します。

Linux システムでの展開 (CentOS8.0 を例にします)

  • Coturn はコンパイル時に libevent2 を使用するため、libevent2 をダウンロードします。
wget https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
  • libevent-2.1.10-stable.tar.gz を解凍します
tar -zxvf libevent-2.1.10-stable.tar.gz
  • libevent2 をコンパイルしてインストールします
cd libevent-2.1.10-stable
./configure && make && make install
  • wget コマンドを使用して Coturn インストール パッケージをダウンロードします (新しいバージョンでは未知のコンパイル問題が発生する可能性があるため、古いバージョン 4.5.1.1 がここでダウンロードされます)。
wget https://github.com/coturn/coturn/archive/4.5.1.1.tar.gz
  • tar -zxvf コマンドを使用して 4.5.1.1.tar.gz を解凍します。
tar -zxvf 4.5.1.1.tar.gz
  • Cturn をコンパイルしてインストールする
cd coturn-4.5.1.1
./configure --prefix=/usr/local/coturn
make && make install

コターンの構成

  • coturn の etc ディレクトリに切り替え、turnserver.conf.default のコピーをコピーして変更します。
cd /usr/local/coturn/etc
cp ./turnserver.conf.default ./turnserver.conf
vi ./turnserver.conf
  • turnserver.conf ファイルの設定内容を変更します。レルムは IP またはドメイン名を指定する必要があります。指定しないと、WebRTC ローカル ライブラリで使用できません。トリクルアイスを使用して通常にアクセスできますが、WebRTC では使用できません。地元の図書館。
// 指定侦听的端口。
listening-port=3478
// 云主机内网 IP 地址。
listening-ip=xxx.xxx.xxx.xxx
// 云主机的公网 IP 地址。
external-ip=xxx.xxx.xxx.xxx
// 这个很重要,如果没有配置这个就服务使用中转服务。
// 云主机的公网 IP 地址或域名。
realm=xxx.xxx.xxx.xxx
// 访问 STUN/TURN 服务的用户名和密码。
user=admin:123456

クラウドホストのポート構成

Alibaba CloudやTencent Cloudのクラウドホストの場合、管理下のセキュリティポリシーグループまたはファイアウォールでUDP/TCPポート3478と49152~65535の通過を許可する必要があります。

コターンを開始する

  • 環境変数を追加する
vi ~/.bashrc
export PATH=$PATH:/usr/local/coturn/bin
source ~/.bashrc
  • 設定ファイルから始める
turnserver -c /usr/local/coturn/etc/turnserver.conf

STUN/TURN サービスをテストし、Firefox ブラウザを使用して (他のブラウザでは問題が発生します)、次の接続を開きます。Trickle  ICE に はリレーが表示され、構成が成功したことを示します。

Coturn をシステムサービスとして設定する

Coturn をシステムサービスとして設定すると、起動後に自動的に起動するため、手動で起動する必要がありません。

  • 次のコマンドを実行します。
touch /usr/lib/systemd/system/coturn.service
  • 次に、coturn.service ファイルを編集します。
vi coturn.service
  • coturn.service ファイルの内容を設定する
[Unit]
Description=Coturn Server
After=network.target
 
[Install]
WantedBy=multi-user.target
 
[Service]
User=root
Group=root
ExecStart=/usr/local/coturn/bin/turnserver -c /usr/local/coturn/etc/turnserver.conf
LimitNOFILE = 5000
  • coturn をブートに設定する
systemctl enable coturn

コターンサービス開始

systemctl start coturn

Windows システムでの展開

もともと、Coturn は Linux システム上でのみ実行できました。プロジェクトを開発していたとき、まだ Linux クラウド ホストがあり、TURN サービスを使用したいと考えていました。このとき、Cygwin ツールを使用して Coturn をインストールする必要がありました。Cygwin は、Windows プラットフォーム上で実行される UNIX に似たエミュレーション環境です。

  • Cygwin をダウンロード
https://cygwin.com/install.html

  • Cygwin をインストールするには、gcc コンパイル ツールが必要であるため、インストール時に Devel をインストールするように設定する必要があります

  • libevent2 と coturn をダウンロードし、Cygwin の bin ディレクトリに解凍します。
https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
https://github.com/coturn/coturn/archive/4.5 .1.1.tar.gz
  • インストールコマンドを実行し、上部の「Linuxシステムでの展開」を参照して方法を設定します。

まとめ

上記は、Linux および Windows システムでの coturn のインストールと展開です。インストールと展開中に問題が発生した場合は、WeChat 公開アカウントを通じてプライベート メッセージを送っていただければ、1 つずつお答えします。

オリジナルの WebRTC ネットワーク リレー Coturn サービスのインストールと展開 - 知識

★記事末尾の名刺では、オーディオ・ビデオ開発学習教材(FFmpeg、webRTC、rtmp、hls、rtsp、ffplay、srs)やオーディオ・ビデオ学習ロードマップ等を無料で受け取ることができます。

以下を参照してください!

 

おすすめ

転載: blog.csdn.net/yinshipin007/article/details/132307947