TRTC Web SDKはWebRTCをベースに実現しており、現在デスクトップおよびモバイル端末の主流ブラウザをサポートしています。サポートの程度の詳細については下の表をご参照ください。
サポート対象の表内にユースケースが見当たらない場合は、TRTC Web SDK機能テスト画面を開き、現在の環境がWebRTCのすべての機能をサポートしているかどうかチェックすることができます(例:WebViewなどの環境)。
OS | ブラウザタイプ | ブラウザの最小 バージョン要件 |
SDKのバージョン要件 | 受信(再生) | 送信(マイク・オン) | 画面共有 |
---|---|---|---|---|---|---|
Windows | デスクトップ版Chromeブラウザ | 56+ | - | サポートしています | サポートしています | Chrome72以降のバージョンをサポート |
デスクトップ版QQブラウザ(クイックコア) | 10.4+ | - | サポートしています | サポートしています | サポートしていません | |
デスクトップ版Firefoxブラウザ | 56+ | v4.7.0+ | サポートしています | サポートしています | Firefox66以降のバージョンをサポート | |
デスクトップ版Edgeブラウザ | 80+ | v4.7.0+ | サポートしています | サポートしています | サポートしています | |
デスクトップ版Sogouブラウザ(高速モード) | 11+ | v4.7.0+ | サポートしています | サポートしています | サポートしています | |
デスクトップ版Sogouブラウザ(互換モード) | - | - | サポートしていません | サポートしていません | サポートしていません | |
デスクトップ版Operaブラウザ | 46+ | v4.7.0+ | サポートしています | サポートしています | Opera60以降のバージョンをサポート | |
デスクトップ版360SEブラウザ(超高速モード) | 13+ | v4.7.0+ | サポートしています | サポートしています | サポートしています | |
デスクトップ版360SEブラウザ(互換モード) | - | - | サポートしていません | サポートしていません | サポートしていません | |
デスクトップ版WeChat Embeddedブラウザ | - | - | サポートしています | サポートしていません | サポートしていません | |
デスクトップ版WeCom Embeddedブラウザ | - | - | サポートしています | サポートしていません | サポートしていません | |
Mac OS | デスクトップ版Safariブラウザ | 11+ | - | サポートしています | サポートしています | Safari13以降のバージョンをサポート |
デスクトップ版Chromeブラウザ | 56+ | - | サポートしています | サポートしています | Chrome72以降のバージョンをサポート | |
デスクトップ版Firefoxブラウザ | 56+ | v4.7.0+ | サポートしています | サポートしています | Firefox66以降のバージョンをサポート(注意[3]) | |
デスクトップ版Edgeブラウザ | 80+ | v4.7.0+ | サポートしています | サポートしています | サポートしています | |
デスクトップ版Operaブラウザ | 46+ | v4.7.0+ | サポートしています | サポートしています | Opera60以降のバージョンをサポート | |
デスクトップ版WeChat Embeddedブラウザ | - | - | サポートしています | サポートしていません | サポートしていません | |
デスクトップ版WeCom Embeddedブラウザ | - | - | サポートしています | サポートしていません | サポートしていません | |
Android | WeChat Embeddedブラウザ(TBSコア) | - | - | サポートしています | サポートしています | サポートしていません |
WeChat Embeddedブラウザ(XWEBコア) | - | - | サポートしています | サポートしています | サポートしていません | |
WeCom Embeddedブラウザ | - | - | サポートしています | サポートしています | サポートしていません | |
モバイル版Chromeブラウザ | - | - | サポートしています | サポートしています | サポートしていません | |
モバイル版QQブラウザ | - | - | サポートしていません | サポートしていません | サポートしていません | |
モバイル版UCブラウザ | - | - | サポートしていません | サポートしていません | サポートしていません | |
iOS 12.1.4+ | WeChat Embeddedブラウザ | - | - | サポートしています | サポートしていません | サポートしていません |
iOS 14.3+ | WeChat Embeddedブラウザ | 6.5+(WeChatバージョン) | - | サポートしています | サポートしています | サポートしていません |
iOS | WeCom Embeddedブラウザ | - | - | サポートしています | サポートしていません | サポートしていません |
iOS 11.1.2+ | モバイル版Safariブラウザ | 11+ | - | サポートしています | サポートしています | サポートしていません |
iOS 12.1.4+ | モバイル版Chromeブラウザ | - | - | サポートしています | サポートしていません | サポートしていません |
iOS 14.3+ | モバイル版Chromeブラウザ | - | - | サポートしています | サポートしています | サポートしていません |
注意:
- H.264の著作権上の制限により、Huawei Chrome 88以前のバージョンではH264コーデックを使用できません(プッシュできません)。HuaweiデバイスのChromeブラウザでTRTC Web SDKプッシュをご利用になりたい場合は、チケットを提出し、VP8コーデックの有効化を申請してください。
- Mac OSでのFirefoxの画面共有機能はあまり効果的ではなく、現時点では対処方法もありません。そのため、画面共有にはChromeまたはSafariの使用をお勧めします。
- Web端末でのプッシュ時のダブルサウンドチャンネルコーデックのサポートを希望される場合は、チケットを提出し、WebRTCダブルサウンドチャンネルコーデックを申請してください。
- より良い製品安定性とオンラインサポートを得るために、TRTC Web SDKは適時に最新バージョンに更新することをお勧めします。バージョンアップに関する注意事項については、アップグレードガイドラインをご参照ください。
ブラウザのセキュリティポリシー上の制限により、WebRTC機能を使用したページへのアクセスプロトコルには厳格な要件があります。 以下の表を参照し、アプリケーションの開発とデプロイを行ってください。
ユースケース | プロトコル | 受信(再生) | 送信(マイク・オン) | 画面共有 | 備考 |
---|---|---|---|---|---|
本番環境 | HTTPSプロトコル | サポートあり | サポートあり | サポートあり | 推奨 |
本番環境 | HTTPプロトコル | サポートあり | サポートなし | サポートなし | |
ローカル開発環境 | http://localhost | サポートあり | サポートあり | サポートあり | 推奨 |
ローカル開発環境 | http://127.0.0.1 | サポートあり | サポートあり | サポートあり | |
ローカル開発環境 | http://[ローカルマシンIP] | サポートあり | サポートなし | サポートなし | |
ローカル開発環境 | file:/// | サポートあり | サポートあり | サポートあり |
初期化フローおよびAPIの使用法の詳細については、以下のガイドをご参照ください。
機能 | Sample Codeガイド |
---|---|
基本的なオーディオビデオ通話 | ガイドリンク |
インタラクティブライブストリーミングマイク接続の実装 | ガイドリンク |
カメラおよびマイクの切り替え | ガイドリンク |
ローカルビデオのプロパティの設定 | ガイドリンク |
ローカルオーディオまたはビデオの動的な停止と開始 | ガイドリンク |
画面共有 | ガイドリンク |
音量計測 | ガイドリンク |
ユーザー定義キャプチャとカスタマイズ再生レンダリング | ガイドリンク |
ルーム内アップリンクユーザー数の制限 | ガイドリンク |
バックグラウンドミュージックと効果音の実装ソリューション | ガイドリンク |
通話前の環境およびデバイステスト | ガイドリンク |
通話前のネットワーク品質テスト | ガイドリンク |
デバイス挿抜動作チェック | ガイドリンク |
CDNへのプッシュの実現 | - |
デュアルストリームの伝送を有効にする | ガイドリンク |
美顔を有効にする | ガイドリンク |
ウォーターマークを有効にする | ガイドリンク |
ルーム間マイク接続の実現 | ガイドリンク |
クラウドミクスストリーミングの実装 | ガイドリンク |
クラウドレコーディングの実装 | ガイドリンク |
説明:
注意:このドキュメントは4.x.xバージョンのTRTC Web SDKに適用されます。
TRTCはTRTC Web SDKのメインエントリで、TRTCメソッドによってTRTCのクライアントオブジェクト(Client)とローカルオーディオビデオストリーミングオブジェクト(Stream)を作成することができます。また、TRTCメソッドはブラウザの互換性や、画面共有をサポートするかをチェックしたり、ログレベルやログのアップロードを設定したりすることもできます。
API | 説明 |
---|---|
VERSION | TRTC Web SDKバージョン番号。 |
checkSystemRequirements | ブラウザがTRTC Web SDKと互換性があるかチェックします。現在のブラウザとTRTC Web SDKとの互換性がない場合は、Chromeブラウザの最新バージョンをダウンロードするようユーザーに促すことをお勧めします。 |
isScreenShareSupported | ブラウザが画面共有をサポートしているかをチェックします。画面共有ストリームを作成する前に、このメソッドを呼び出して、現在のブラウザが画面共有をサポートしているか確認してください。 |
isSmallStreamSupported | ブラウザがデュアルストリームモードの有効化をサポートしているかをチェックします。デュアルストリームモードを有効化する前に、このメソッドを呼び出して、現在のブラウザがデュアルストリームの有効化をサポートしているか確認してください。 |
getDevices | メディアの入出力デバイスリストを返します。 |
getCameras | カメラのデバイスリストを返します。 |
getMicrophones | マイクのデバイスリストを返します。 |
getSpeakers | スピーカーのデバイスリストを返します。 |
createClient | TRTC通話のクライアントオブジェクトを作成します。入退室、オーディオビデオストリーミングの公開、サブスクリプションなどの機能の実装に使用します。 |
createStream | ローカルストリームStreamオブジェクトを作成します。ローカルストリームStreamオブジェクトはpublish()メソッドによってオーディオビデオストリーミングをリリースします。 |
ログ出力レベルの設定を含め、ログの設定方法を提供します。ログのアップロードを起動または停止します。
API | 説明 |
---|---|
setLogLevel | ログ出力レベルを設定します。 |
enableUploadLog | ログのアップロードを起動します。 |
disableUploadLog | ログのアップロードを停止します。 |
オーディオビデオ通話のクライアントオブジェクトClientはcreateClient()によって作成し、1回のオーディオビデオセッションを表します。
API | 説明 |
---|---|
setProxyServer | プロキシサーバーを設定します。このメソッドは、nginx+coturn方式など、企業が自らプロキシサーバーをデプロイする場合に適用されます。 |
setTurnServer | TURNサーバーを設定します。このメソッドはsetProxyServer()と合わせて使用し、企業が自らプロキシサーバーおよびTURN中継をデプロイする場合に適用されます。 |
join | オーディオビデオ通話ルームに参加し、入室によってオーディオビデオ通話セッションが始まります。ルームが存在しない場合、システムが自動的に新しいルームを作成します。 |
leave | 現在のオーディオビデオ通話ルームを退出し、オーディオビデオ通話セッションを終了します。 |
publish | ローカルのオーディオビデオストリーミングを公開します。このメソッドはjoin()で入室後に呼び出す必要があり、1回のオーディオビデオセッションで1度だけローカルストリーミングを公開することができます。 |
unpublish | ローカルストリーミングの公開を取り消します。 |
subscribe | リモートストリーミングを閲覧します。 |
unsubscribe | リモートストリーミングの閲覧を取り消します。 |
switchRole | ユーザーロールを切り替えます。‘live’でインタラクティブライブストリーミングモードの時のみ有効になります。 |
sendSEIMessage | SEIメッセージを送信します。 |
on | クライアントオブジェクトイベントを監視します。 |
off | クライアントオブジェクトイベントの監視を取り消します。 |
getRemoteMutedState | 現在のルーム内にいるリモートユーザーのオーディオビデオのmute状態リストを取得します。 |
getTransportStats | 現在のネットワーク伝送状況の統計データテーブルを取得します。 |
getLocalAudioStats | 現在公開済みのローカルストリーミングのオーディオ統計データを取得します。このメソッドはpublish()後に呼び出す必要があります。 |
getLocalVideoStats | 現在公開済みのローカルストリーミングのビデオ統計データを取得します。このメソッドはpublish()後に呼び出す必要があります。 |
getRemoteAudioStats | 現在のすべてのリモートストリーミングのオーディオ統計データを取得します。 |
getRemoteVideoStats | 現在のすべてのリモートストリーミングのビデオ統計データを取得します。 |
startPublishCDNStream | 現在のクライアントのオーディオビデオストリームのCDNへの公開を開始します。 |
stopPublishCDNStream | 現在のクライアントのオーディオビデオストリームのCDNへの公開を停止します。 |
startMixTranscode | ミクスストリーミングトランスコードを開始します。このインターフェースは入室し、プッシュしてから呼び出してください。 |
stopMixTranscode | ミクスストリーミングトランスコードを停止します。このインターフェースはローカルストリームの公開(publish)成功後およびミクスストリーミングトランスコードの開始startMixTranscode成功後に呼び出してください。 |
enableAudioVolumeEvaluation | 音量コールバックを有効化または無効化します。 |
enableSmallStream | プッシュ側のデュアルストリームモードを有効化します。 |
disableSmallStream | プッシュ側のデュアルストリームモードを無効化します。 |
setSmallStreamProfile | スモールストリームのパラメータを設定します。 |
setRemoteVideoStreamType | 視聴側でデュアルストリームの属性を切り替えます。リモートでスモールストリームを有効化していなければ切り替えは成功しません。 |
LocalStreamローカルオーディオビデオストリーミングは、createStreamで作成します。Streamのサブカテゴリーになります。
API | 説明 |
---|---|
initialize | ローカルのオーディオビデオストリーミングオブジェクトを初期化します。 |
setAudioProfile | オーディオProfileを設定します。このメソッドはinitialize()を呼び出す前に呼び出す必要があります。 |
setVideoProfile | ビデオProfileを設定します。このメソッドはinitialize()を呼び出す前に呼び出す必要があります。 |
setScreenProfile | 画面共有Profileを設定します。このメソッドはinitialize()を呼び出す前に呼び出す必要があります。 |
setVideoContentHint | ビデオコンテンツのヒントを設定します。主に、さまざまなシーンにおけるビデオコーデック品質の向上に用いられます。このメソッドはinitialize()の呼び出し完了後に呼び出す必要があります。 |
switchDevice | メディアの入力デバイスを切り替えます。 |
addTrack | オーディオまたはビデオのトラックを追加します。 |
removeTrack | ビデオトラックを削除します。 |
replaceTrack | オーディオまたはビデオのトラックを変更します。 |
play | このオーディオビデオストリーミングを再生します。 |
stop | オーディオビデオストリーミングの再生を停止します。 |
resume | オーディオビデオの再生を再開します。 |
close | オーディオビデオストリーミングを終了します。 |
muteAudio | オーディオトラックを無効にします。 |
muteVideo | ビデオトラックを無効にします。 |
unmuteAudio | オーディオトラックを有効にします。 |
unmuteVideo | ビデオトラックを有効にします。 |
getId | Streamの固有識別IDを取得します。 |
getUserId | このストリームが属するユーザーIDを取得します。 |
setAudioOutput | 音声出力デバイスを設定します。 |
getAudioLevel | 現在の音量を取得します。ローカルストリーミングまたはリモートストリーミングにオーディオデータがある場合のみ有効となります。 |
setAudioCaptureVolume | マイクキャプチャ音量を設定します。 |
hasAudio | オーディオトラックが含まれているかどうか。 |
hasVideo | ビデオトラックが含まれているかどうか。 |
getAudioTrack | オーディオトラックを取得します。 |
getVideoTrack | ビデオトラックを取得します。 |
getVideoFrame | 現在のビデオフレームを取得します。 |
on | Streamイベントを監視します。 |
off | Streamイベントの監視を取り消します。 |
リモートオーディオビデオストリーミングは、Client.on('stream-added')イベントの監視によって取得します。これはStreamのサブカテゴリーになります。
API | 説明 |
---|---|
getType | リモートストリーミングのタイプを取得します。主に1つのリモートストリーミングがメインオーディオビデオストリーミングかサブビデオストリームかを判断することに用いられます。サブビデオストリームは通常、画面共有ストリームです。 |
play | このオーディオビデオストリーミングを再生します。 |
stop | オーディオビデオストリーミングの再生を停止します。 |
resume | オーディオビデオの再生を再開します。 |
close | オーディオビデオストリーミングを終了します。 |
muteAudio | オーディオトラックを無効にします。 |
muteVideo | ビデオトラックを無効にします。 |
unmuteAudio | オーディオトラックを有効にします。 |
unmuteVideo | ビデオトラックを有効にします。 |
getId | Streamの固有識別IDを取得します。 |
getUserId | このストリームが属するユーザーIDを取得します。 |
setAudioOutput | 音声出力デバイスを設定します。 |
setAudioVolume | 再生音量を設定します。 |
getAudioLevel | 現在の音量を取得します。ローカルストリーミングまたはリモートストリーミングにオーディオデータがある場合のみ有効となります。 |
hasAudio | オーディオトラックが含まれているかどうか。 |
hasVideo | ビデオトラックが含まれているかどうか。 |
getAudioTrack | オーディオトラックを取得します。 |
getVideoTrack | ビデオトラックを取得します。 |
getVideoFrame | 現在のビデオフレームを取得します。 |
on | Streamイベントを監視します。 |
off | Streamイベントの監視を取り消します。 |
RtcErrorエラーオブジェクト。
API | 説明 |
---|---|
getCode | エラーコードを取得します。 |
Clientがトリガーするイベントのリスト、すなわちclient.on('eventName')
イベント監視中のイベント名eventName
です。
API | 説明 |
---|---|
stream-added | リモートストリーム追加イベントです。リモートユーザーがストリームを公開した場合にこの通知を受信します。 |
stream-removed | リモートストリーム削除イベントです。リモートユーザーがストリームの公開を取り消した場合にこの通知を受信します。 |
stream-updated | リモートストリーム更新イベントです。リモートユーザーがオーディオビデオトラックを追加、削除または変更した場合にこの通知を受信します。 |
stream-subscribed | リモートストリームサブスクリプション成功イベントです。subscribe()を呼び出して成功した場合にこのイベントがトリガーされます。 |
connection-state-changed | ローカルclientとTencent Cloudの接続ステータス変更イベントです。 |
peer-join | リモートユーザー入室イベントです。 |
peer-leave | リモートユーザー退室イベントです。 |
mute-audio | リモートストリームのオーディオ無効化イベントです。リモートユーザーがオーディオを無効にした場合にこのイベントがトリガーされます。 |
mute-video | リモートストリームのビデオ無効化イベントです。リモートユーザーがビデオを無効にした場合にこのイベントがトリガーされます。 |
unmute-audio | リモートストリームのオーディオ有効化イベントです。リモートユーザーがオーディオを有効にした場合にこのイベントがトリガーされます。 |
unmute-video | リモートストリームのビデオ有効化イベントです。リモートユーザーがビデオを有効にした場合にこのイベントがトリガーされます。 |
client-banned | ユーザーの強制退室イベントです。強制退室の原因には次のものがあります。
|
network-quality | ネットワーク品質統計データイベントです。入室後に統計を開始し、2秒に1回トリガーします。アップおよびダウンストリームネットワーク品質データが含まれます。 |
audio-volume | 音量イベントです。 enableAudioVolumeEvaluationインターフェースを呼び出して音量コールバックを有効化すると、SDKは決まった時間にこのイベントをスローし、各userIdの音量を通知します。 |
sei-message | seiメッセージを受信します。 |
error | エラーイベントです。復旧できないエラーが発生すると、このイベントがスローされます。エラーコードをご参照ください。 |
Streamによってトリガーされるイベントのリストです。
API | 説明 |
---|---|
player-state-changed | Audio/Video Playerのステータス変更イベントです。 |
screen-sharing-stopped | ローカル画面共有停止イベントです。ローカル画面共有ストリームに対してのみ有効です。 |
connection-state-changed | Stream接続ステータス変更イベントです。stream-added イベントコールバックでこのイベントを監視し、stream-removed イベントコールバックでこのイベントの監視を取り消してください。 |
error | エラーイベントです。復旧できないエラーが発生すると、このイベントがスローされます。エラーコードをご参照ください。 |
ご不明な点がございましたら、colleenyu@tencent.comにご連絡ください。
この記事はお役に立ちましたか?