tencent cloud

フィードバック

最終更新日:2024-07-19 15:12:39
    このドキュメントでは、主に画面共有の使用方法を紹介します。現在、TRTCオーディオビデオルームで使用できる画面共有は1つだけです。
    Windowsプラットフォームでの画面共有は、ビッグストリーム共有とサブストリーム共有の2つのスキームをサポートます。
    サブストリーム共有 TRTCでは、画面共有のための「サブストリーム(substream)」という1チャネルのアップリンクのビデオストリームを個別にスタートできます。サブストリーム共有は、キャスターがカメラ画面とスクリーン画面の両方を同時にアップロードします。これはTencentMeetingの使用スキームであり、startScreenCaptureインターフェースを呼び出す場合に、TRTCVideoStreamTypeパラメータをTRTCVideoStreamTypeSub に指定して、このモードを有効にすることができます。
    ビッグストリーム共有 TRTCでは、通常、カメラが動くチャネルを「ビッグストリーム(bigstream)」といい、ビッグストリーム共有は、カメラチャネルを使用して画面を共有します。このモードでは、キャスターは、アップストリームのカメラ画面、もしくはアップストリームのスクリーン画面のいずれかのアップストリームのビデオストリームを1チャンネルのみ有し、両者は相互に排他的です。startScreenCaptureインターフェースを呼び出す場合に、TRTCVideoStreamTypeパラメータをTRTCVideoStreamTypeBigに指定し、このモードをイネーブルできます。

    依存するAPI

    API機能
    C++バージョン
    C#バージョン
    Electronバージョン
    共有ターゲットの選択
    selectScreenCaptureTarget
    画面共有を開始
    startScreenCapture
    画面共有の一時停止
    pauseScreenCapture
    画面共有のリカバー
    resumeScreenCapture
    画面共有の終了
    stopScreenCapture

    共有ターゲットの取得

    getScreenCaptureSourcesを介して 共有可能なウィンドウのリストをリストアップでき、リストは出力パラメータ sourceInfoList を介して戻されます。
    説明:
    Windowsのデスクトップ画面もウィンドウの1つであり、デスクトップウィンドウ(Desktop)と呼ばれ、モニターが2台ある場合は、各モニターに対応するデスクトップウィンドウがあります。したがって、getScreenCaptureSourcesを介して返されるウィンドウリストにもDesktopウィンドウがあります。
    取得したウィンドウ情報に基づき、ユーザーの選択のために共有できるターゲットを一覧表示するシンプルなリストページを実現できます:

    画面共有の開始

    共有ターゲットを選択した後、startScreenCaptureインターフェースを使用して画面共有を起動することができます。
    共有プロセスにおいても、selectScreenCaptureTargetを呼び出し、共有ターゲットを変更することができます。
    pauseScreenCapturestopScreenCapture の違いは、pauseはスクリーンコンテンツのキャプチャを停止し、その瞬間の画面を一時停止するため、resumeするまで最後の画面がリモート側に表示され続けます。

    画質の設定

    setSubStreamEncoderParamインターフェースを介して解像度、ビットレートとフレームレートを含む画面共有の画面品質を設定できます。推奨する参考値を以下に提示します:
    解像度レベル
    解像度
    フレームレート
    ビットレート
    超高精細(HD+)
    1920 × 1080
    10
    800kbps
    高精細(HD)
    1280 × 720
    10
    600kbps
    標準(SD)
    960 × 720
    10
    400kbps

    画面共有の確認

    ルームにいるユーザーが画面共有を起動し、サブストリームを介して共有を実行します。ルームにいるその他のユーザーは、TRTCCloudDelegate内のonUserSubStreamAvailableイベントを介してこの通知を受け取ります。 画面共有を視聴したいユーザーはstartRemoteViewインターフェースを介してリモートユーザーのサブストリーム画面のレンダリングを起動することができます。
    //サンプルコード:画面共有の画面を見る
    void CTRTCCloudSDK::onUserSubStreamAvailable(const char * userId, bool available) {
    LINFO(L"onUserSubStreamAvailable userId[%s] available[%d]\\n", UTF82Wide(userId).c_str(), available);
    liteav::ITRTCCloud* trtc_cloud_ = getTRTCShareInstance();
    if (available) {
    trtc_cloud_->startRemoteView(userId, liteav::TRTCVideoStreamTypeSub, hWnd);
    }else{
    trtc_cloud_->stopRemoteView(userId, liteav::TRTCVideoStreamTypeSub);
    }
    }

    よくあるご質問

    1つのルームで同時に複数の画面を共有できますか?

    現在、1つのTRTCオーディオ・ビデオルームで共有できる画面は1つだけです。

    ウィンドウの共有(SourceTypeWindow)を指定し、ウィンドウのサイズが変化した場合は、ビデオストリームの解像度も変化しますか?

    デフォルトでは、SDK内で共有ウィンドウのサイズに従ってエンコーディングパラメータを自動的に調整します。 解像度を固定する必要がある場合は、setSubStreamEncoderParamインターフェースを呼び出し画面共有のエンコーディングパラメータを設定するか、またはstartScreenCaptureを呼び出すときに、対応するエンコーディングパラメータを指定してください。
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)