UserSigとは、悪意ある攻撃者によるクラウドサービスの使用権の盗用を防ぐために、Tencent Cloudによって設計されたセキュリティ保護された署名です。
現在、TRTC、IMおよびMLVBなどのサービスには、すべてこの一連のセキュリティ保護メカニズムが採用されています。これらのサービスを使用する場合、対応するSDKの初期化またはログイン関数において、SDKAppID、UserIDおよびUserSigという3つの重要情報を提供する必要があります。
このうちSDKAppIDはお客様のアプリケーションの識別に、UserIDはユーザーの識別に使用されます。UserSigは、** HMAC SHA256 **暗号化アルゴリズムによって算出される最初の2つをもとに計算されたセキュリティ署名です。攻撃者がUserSigを偽造できない限り、クラウドサービスのトラフィックを盗用することはできません。
UserSigの計算原理を次の図に示します。SDKAppID、UserID、ExpireTimeなどの重要情報をハッシュ化・暗号化することがUserSigの本質です。
//UserSigの計算式。このうちsecretkeyは、usersigを算出するための暗号化鍵です。
usersig = hmacsha256(secretkey, (userid + sdkappid + currtime + expire +
base64(userid + sdkappid + currtime + expire)))
説明:
currtime
は現在のシステムの時間で、expire
は署名の期限切れの時間です。- UserSigの具体的な計算取得方法を知りたい場合は、 UserSigの詳細な説明をご参照ください。
4,294,967,294室のルームの同時併存をサポートします。ルームの累計数は無制限です。
グローバルなエンドツーエンドの平均遅延は300ms未満です。
サポートしています。次のドキュメントをご参照ください。
画面共有インターフェースの詳細についてはWindows(C++)APIをご参照ください。また、Electronインターフェースもご利用いただけます。
サポートしているプラットフォームは、iOS、Android、Windows(C++)、Windows(C#)、Mac、Web、Electronです。詳細については、プラットフォームのサポートをご参照ください。
TRTCは、特にオンラインライブストリーミングのシーン向けに、10万人向けの低遅延ライブストリーミングソリューションをリリースしました。これにより、キャスターとマイク接続したキャスター間の最小遅延が200ms、通常の視聴者の遅延が1秒以内になるだけでなく、脆弱なネットワークに極めて高い耐性を持つこととなり、モバイル端末の複雑なネットワーク環境に対応します。
操作ガイドの詳細はライブストリーミングクイックスタートモードをご参照ください。
ライブストリーミングのシーン(TRTCAppSceneLIVEとTRTCAppSceneVoiceChatRoom)は、TRTCRoleAnchor(キャスター)とTRTCRoleAudience(視聴者)という2つのロールをサポートしています。違いとしては、キャスターのロールはオーディオ・ビデオデータのアップロードとダウンロードを同時に行うことができますが、視聴者のロールは他人のデータのダウンロードと再生のみをサポートしていることです。switchRole()を呼び出すことにより、ロールを切り替えることができます。
サポートしています。
サポートしています。
サポートしています。サードパーティライブラリのフローにそのまま従ってSDKを統合すればOKです。また、Demoクイックスタート(iOS&Mac)も参照することができます。
現在、デスクトップ版Chromeブラウザ、デスクトップ版Safariブラウザおよびモバイル版Safariブラウザのサポート状態は比較的万全です。その他のプラットフォーム(Androidプラットフォームのブラウザなど)のサポート状態はまだ不十分です。詳細については、サポートするプラットフォームをご参照ください。
ブラウザでWebRTC能力テストを開き、WebRTC機能を完全にサポートしているかテストすることができます。
エラー名 | 説明 | 推奨する対処方法 |
---|---|---|
NotFoundError | リクエストを満たすパラメータのメディアタイプ(オーディオ、ビデオ、画面共有を含む)が見つかりません。 例えば、PCにカメラがないのに、ブラウザにビデオストリームを取得するようリクエストがあった場合、このエラーが発生します。 |
ユーザーが通話を開始する前に、通話に必要なカメラやマイクなどのデバイスを確認することをお勧めします。カメラがなく、音声通話を行う必要がある場合は、TRTC.createStream({ audio: true, video: false })で、マイクのみをキャプチャするように指定できます。 |
NotAllowedError | ユーザーが、現在のブラウザ・インスタンスのオーディオ、ビデオおよび画面共有へのアクセスのリクエストを拒否しました。 | ユーザーに対し、カメラ/マイクへのアクセス権限を承認しないと、オーディオビデオ通話を行うことができません、というプロンプトが表示されます。 |
NotReadableError | 権限が付与されたユーザーが対応するデバイスを使用していますが、OS上のいずれかのハードウェア、ブラウザまたはWebページの階層に発生したエラーのため、デバイスにアクセスできません。 | ブラウザのエラーメッセージに従って処理すると、ユーザーに対し、「現在カメラ/マイクにアクセスできません。他のアプリケーションがカメラ/マイクへのアクセスをリクエストしていないことを確認してから、もう一度お試しください」というプロンプトが表示されます。 |
OverConstrainedError | cameraId/microphoneIdのパラメータの値が無効です。 | cameraId/microphoneIdの渡された値が正しく有効であることを確認してください。 |
AbortError | 何らかの理由により、デバイスを使用できません。 | - |
詳細については、initializeをご参照ください。
navigator.mediaDevices.enumerateDevices()
と入力して、デバイスリストを取得できるかどうか確認します。navigator.mediaDevices.getUserMedia({ audio: true, video: true })
と入力して、MediaStreamオブジェクトが正常に返されるかどうか確認します。正常に返されない場合、ブラウザがデータを取得していないことを示しているので、ブラウザの設定をチェックする必要があります。TRTCコンソールの【使用量の統計】ページで確認することができます。
通話品質は、対応するRoomIDとUserIDを用いて、TRTCコンソールの【監視ダッシュボード】ページで確認することができます。
latest.release
により最新バージョンとマッチングされて自動ロードが実行されるため、バージョン番号を変更する必要はありません。具体的な統合方法についてはSDKクイックインテグレーションをご参照ください。
この記事はお役に立ちましたか?