Vue+webrtc (Tencent Cloud) ライブブロードキャスト機能の実装実践

Vue+webrtc (Tencent Cloud) ライブブロードキャスト機能の実装実践

1. 生放送効果

1. PC側

醜すぎる、顔がない

2. モバイル

ここに画像の説明を挿入

2. ライブストリーミングを開始する手順

2.1 Tencent Web(高速ライブ)スクリプトの紹介

スクリプトはindex.htmlの本文に導入する必要があります。

 <body style="padding:0;margin:0">
    //Tencent ライブストリーミング スクリプト<script src="https://imgcache.qq.com/open/qcloud/live/webrtc/js/TXLivePusher-1.0.2.min.js" charset="utf-8"></script>
    <スクリプトなし>
      <strong>申し訳ありませんが、JavaScript が有効になっていないと <%= htmlWebpackPlugin.options.title %> は正しく動作しません。続行するには JavaScript を有効にしてください。</strong>
    </noscript>
    <div id="アプリ"></div>
    <!-- ビルドされたファイルは自動的に挿入されます -->
  </本文>

2.2 ライブ放送が必要なインターフェースにビデオコンテナを追加します(ライブ放送を開始すると、ビデオの場所が表示されます)

.vue ファイルで直接使用できます。コンテナのスタイルを自分で調整できますが、id は破棄できません (name も使用できます)

<div id="id_local_video" style="margin:0 auto;width:80%;display:flex;align-items:center;justify-content:center;"></div>        

2.3 ライブ放送オブジェクトを作成し、ライブ放送を開始する

ライブ開始ボタンをクリックし、対応するメソッドにメソッドを記述します。注: プッシュ ストリーム アドレスのプロトコル ヘッダー rtmp を webrtc に変更する必要があり、プッシュ ストリーム アドレスに中国語が表示されてはなりません。そうしないと、プッシュ ストリームが成功してもエラーが報告されます。

      //ビデオオブジェクトの livePusher 変数を作成します。これをデータに書き込んでコピーしなくなりました。メソッド内で直接変数を宣言することもできます。this.livePusher = new TXLivePusher()
      ライブプッシャーのレンダリングビューを設定します。
      // オーディオとビデオのストリームを設定します this.livePusher.setVideoQuality('720p');
      // オーディオ品質を設定します this.livePusher.setAudioQuality('standard');
      // フレームレートをカスタマイズします this.livePusher.setProperty('setVideoFPS', 25);   
        
      // ライブ放送を開始します // カメラを開きます this.livePusher.startCamera();
      // マイクをオンにします this.livePusher.startMicrophone();    
      //ここではストリーミングを 4 秒遅延させました。ストリーミング アドレスはバックエンドから受信する必要があります。
       setTimeout(() => { this.livePusher.startPush(ストリーミングアドレス);
       }, 4000);  

ストリーミングの成功

2.4 ライブ放送を終了する

対応するメソッドで使用するだけです。ライブ ブロードキャストを終了するときは、ビデオ コンテナーを破棄する必要があることに注意してください。

      // 1. ストリームのプッシュを停止します this.livePusher.stopPush();
      // 2. カメラを閉じる this.livePusher.stopCamera();
      // 3. マイクをオフにします this.livePusher.stopMicrophone();      
      // 4. コンテナ オブジェクトを破棄します。this.livePusher.destroy(); 

これで、vue+webrtc (Tencent Cloud) によるライブ ブロードキャスト機能の実装の実践に関するこの記事は終了です。より関連性の高い vue+webrtc Tencent Cloud ライブ ブロードキャスト コンテンツについては、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueのライブ放送機能の詳しい説明
  • vue-video-player を使用してライブ放送を実現する方法
  • vue-video-player はリアルタイムのビデオ再生を実装します (監視機器 - rtmp ストリーム)
  • 2 分で Vue リアルタイム ライブ ブロードキャスト システムを実装するためのサンプル コード
  • Vueはビデオストリームを読み込み、ライブブロードキャスト機能を実装します

<<:  DIV 背景半透明テキスト非半透明スタイル

>>:  ウェブサイトのカラースキーム ウェブサイトに適した色の選択

推薦する

さまざまなMySQLインデックスの使用方法の詳細な説明

1. 遅いクエリログ1.1 MySQL ログの種類ログは、データベースの操作や、ユーザーがデータベー...

WeChatアプレットのスケルトン画面の実装例

目次スケルトンスクリーンとはアプレットでスケルトン画面を生成する方法導入方法表示と非表示ユーザーエク...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

TypeScript におけるジェネリックケースの詳細な説明

ジェネリックの定義 // 要件 1: ジェネリックは指定されていないデータ型をサポートできるため、渡...

Vueプロジェクトでスケルトンスクリーンを使用する方法

現在、アプリケーション開発は基本的にフロントエンドとバックエンドに分離されています。主流のフロントエ...

Nginx 構成検出サービスのステータスを実装する方法

1. チェックステータスモジュールがインストールされているかどうかを確認します。 [root@loc...

Vueルーティングナビゲーションガードの簡単な理解

目次1. グローバルガード1. グローバル前線警備2. グローバル解像度ガード3. グローバルポスト...

Dockerでデータディレクトリを移行する方法

目次ディスク使用量の表示ディスク クリーンアップ (軽々しく使用しないでください)データの移行ディス...

HTMLの基本構造を包括的に理解する

HTML入門ハイパーテキスト マークアップ言語: ハイパーテキスト マークアップ言語ハイパーテキスト...

MySQL 5.7.18 winx64 のインストールと設定方法のグラフィックチュートリアル

圧縮パッケージのインストールは、mysql-5.7 以降、大幅に変更されました。この記事では、mys...

泡の小さな鋭角効果を実現するCSS

効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...

Linux での NVIDIA GPU 使用状況の監視の詳細な説明

TensorFlow をディープラーニングに使うとビデオメモリ不足がよく起こるので、GPU 使用状況...

CSS フロートプロパティ図 フロートプロパティの詳細

CSS の float プロパティを正しく使用することは、カバーすべき内容が多く、ブラウザの互換性の...

MySQL に大量のデータを挿入するときに重複データを除外する方法

目次1. 問題を発見する2.重複したデータを残さずにすべて削除する3. 削除テーブルから重複データを...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...