WebRTC オーディオおよびビデオ通話 - WebRTC ローカル ビデオ通話は ossrs サービスを使用して構築されます

iOS開発 -ossrsサービス WebRTCローカルビデオ通話サービス構築

前回の開発ではossrsを利用しましたが、ossrsを利用したWebRTCローカルサービス構築の記録です。

1.ossrsとは何ですか?

オッサーとは何ですか
SRS (Simple Realtime Server) は、RTMP、WebRTC、HLS、HTTP-FLV、SRT などの複数のリアルタイム ストリーミング メディア プロトコルをサポートする、シンプルで効率的なリアルタイム ビデオ サーバーです。

公式サイトアドレス:https://ossrs.net/lts/zh-cn/

2. コンピューターに cmake をインストールします

cmake がコンピューターにインストールされていないため、後で cmake を使用するため、最初にこの cmake をインストールします。

brew 経由でインストールする

brew install cmake

コマンドを実行するとエラーが見つかりました

実行中brew update --auto-update
致命的: git ディレクトリにありません

ここで brew update --auto-update を使用すると、依然として「fatal: not in a git directory」エラー メッセージが報告されます。

解決

brew -v

次の 2 つのエラー メッセージが表示されました。
ここに画像の説明を挿入

実装する必要があります

git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core

そして

git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

コマンド実行後、brew -v を実行してもエラーは報告されず、ソフトウェアは正常にインストールできます。

ここに画像の説明を挿入

次のステップでは cmake のインストールを続けます

brew install cmake

インストール結果が表示されるまで気長に待ちます

結果を図に示します
ここに画像の説明を挿入

cmake のインストール後、引き続き SRS の WebRTC サービスの設定を行っていきます。

2. SRSのWebRTC設定

SRS は WebRTC をサポートしており、会議やビデオチャットを行うことができます。

ソースコードをダウンロードします。Ubuntu20 を推奨します。

git clone -b develop https://gitee.com/ossrs/srs.git

ここに画像の説明を挿入

コンパイルします。srs/trunk ディレクトリに切り替える必要があることに注意してください。

cd srs/trunk

./configure
make

ここに画像の説明を挿入

プロンプトでは
、trunk/objs、OS_IS_OSX: YES、OS_IS_X86_64: YESをインストールする必要もあります
。automake をインストールしてください。

埋め込む

 brew install automake

結果

このバージョンをリンクするには、
brew link automakeを実行します。

実行中

brew link automake

成功後も実行を続ける

./configure
make

コンパイル結果が出るまで気長に待ちます

次のステップ

ifconfig ビュー IP アドレス 192.168.10.100

ここではWebRTCでHTTPSサービスを使用します

HTTPS を使用した WebRTC
リモート サーバーで実行されている SRS やラップトップまたは携帯電話で WebRTC を使用するなど、ローカル以外のマシンで WebRTC を使用する必要がある場合は、HTTPS API を有効にする必要があります。

サーバーを起動します。

CANDIDATE="192.168.10.100"
./objs/srs -c conf/https.rtc.conf

注: IP を SRS の IP アドレスに置き換えてください。

注: CANDIDATE はサーバーの外部ネットワークアドレスとして設定してください 詳細については、WebRTC: CANDIDATE を参照してください。

結果 srs(49644,0x11bbcc600) malloc: 予約された VM スペースを事前に割り当てることができないためナノ ゾーンが放棄されました。

写真のように

ここに画像の説明を挿入

ソリューションビュー https://stackoverflow.com/a/70209891/17679565

ここでは環境変数設定を使用しています

open ~/.bash_profile

構成を有効にするには、
export MallocNanoZone='0'を追加します。

source ~/.bash_profile

実行後、サーバーを起動します

CANDIDATE="192.168.10.100"
./objs/srs -c conf/https.rtc.conf

エラーは次のとおりです
ここに画像の説明を挿入

[trunk] > [conf] > [https.rtc.conf] を見つけ、http_server のリッスン ポートを 9090 に変更します (コンピューターに nginx がインストールされているため、ポート 8080 が占有されています)。

再実行

CANDIDATE="192.168.10.100"
./objs/srs -c conf/https.rtc.conf

ここに画像の説明を挿入
ようやく無事起動しました。

SRS が正常に開始されたかどうかを確認するには、http://localhost:9090/ を開きます。
ここに画像の説明を挿入

注: IP を SRS の IP アドレスに置き換えてください。

注: CANDIDATE はサーバーの外部ネットワークアドレスとして設定してください 詳細については、WebRTC: CANDIDATE を参照してください。

注: 上記の構成では、キーと証明書の代わりに証明書ファイルを使用してください。HTTPS API、HTTPS コールバック、および HTTPS ライブ ストリーミングを参照してください。もちろん、HTTPS リバース プロキシは、SRS への Nginx プロキシなど、SRS でも適切に機能します。

http://localhost:9090/players/srs_player.html?schema=http&port=9090&api=9090

WebRTC を使用してストリームを SRS にプッシュします: WebRTC: 公開

ページを開いて WebRTC ストリームを視聴します: WebRTC: Play

https://192.168.10.100:8088/players/rtc_player.html?autostart=true&stream=livestream&api=1990&schema=https

ここに画像の説明を挿入

注: 自己署名証明書の場合は、空白に thisisunsafe と入力します (スペースがないことに注意してください)。
注: さまざまなページを開いたり、さまざまなストリームをプッシュおよびプルしたり、ビデオ チャットを実現したりできます。

その後、iOS側のGoogleWebRTCライブラリを利用してossrsを呼び出すサービスを実装します。

3. まとめ

iOS開発 -ossrsサービス WebRTCローカルビデオサービス構築と様々な問題解決。

https://blog.csdn.net/gloryFlow/article/details/132257196
学習記録、日々進歩しています。

おすすめ

転載: blog.csdn.net/gloryFlow/article/details/132257196