ホームページ  >  記事  >  バックエンド開発  >  golang を使用してライブ ブロードキャストおよびオンデマンド機能を実装する方法を教える

golang を使用してライブ ブロードキャストおよびオンデマンド機能を実装する方法を教える

藏色散人
藏色散人転載
2020-10-08 18:20:447113ブラウズ

次のコラム golang チュートリアル では、golang がライブ ブロードキャスト機能とオンデマンド機能を実装する方法を紹介します。

golang を使用してライブ ブロードキャストおよびオンデマンド機能を実装する方法を教える

1. 概要

初めてライブ配信を始めたときは、まだ少し混乱しました。プッシュプル ストリーミング? フォーマット プロトコルはまったく理解できませんし、サードパーティのインターフェイスも無限にあります。実際、簡単に言うと、写真に示すように (Tencent Live API から盗用)

実際、いわゆるプッシュ ストリーミングでは、 アンカーのクライアントが、必要なブロードキャスト コンテンツを特定のプロセスに従ってサーバーに保存します。ここに示されているのは Tencent Cloud です。完成後、通信クラウドによってトランスコードされ、視聴者が視聴できるようになります (プル テイク)。基本がよくわからない友人には、それについて学ぶことをお勧めします。それでも理解するのは非常に便利です。Tencent クラウド ポータル

そして私たちが今日使用しているのは Tencent ではなく、golang で書かれたオープン ソース プロジェクト livego、livego portal

2.livego です。

正直に言うと、ドキュメントがかなり少ないです。著者は仕事で忙しいと思います。私もここで簡単に説明します。ただし、小さなバグについて言及しなければなりません。おそらくそれは、 go バージョンの問題です。go1.10 ではエラーが発生します。2 つの値が返されますが、そこには 1 つしか書かれていません (正確にどこにあるか思い出せません。"")

# 残りの部分から始めましょう。環境をセットアップしたら、サービスを開始します: livego バイナリ ファイルを実行して、livego サービスを開始します。これで完了です。

3.OBS

これはライブ ブロードキャストの標準構成です。プロセスについては説明しません。私が遭遇したことだけを述べておきます。ピット図に示すように:

プッシュ フローを設定したとき、フロー名が何なのか本当にわかりませんでした。そのとき初めて、接続する必要があるアドレスが rtmp://106.12.5.245:1935/live/push で、live. であることがわかりました。 livego の cfg は次のとおりです:

これは AppName の LIVE と同じです。RTMP: //106.12 の LIVE と同じです。 245: 1935/LIVE. プッシュ アドレスは rtmp://106.12.5.245:1935/livego である必要があり、ストリーム名は空でない限り任意に入力できます。ここで、プルするページは :

rtmp://106.12.5.245:1935/live/push

http:/ です。 /106.12.5.245:7001/live/push.flv

http://106.12.5.245:7002/live/push.m3u8

以上がgolang を使用してライブ ブロードキャストおよびオンデマンド機能を実装する方法を教えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。