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
学習記録、日々進歩しています。