内容紹介
TRTRTCCloudでは、以下の方式で画質を調整できます。
ここでは、主に上述のパラメータを設定し、TRTC SDKの画質効果を項目のニーズに適合させる方法を紹介します。
以下のDemoを参照することもできます。
サポートするプラットフォーム
Web端末で画質の詳細操作を設定します。 設定ガイドをご参照ください。 TRTCAppScene
VideoCall
ビデオ通信のユースケース、すなわち、長時間二人以上のビデオ通信に対応するユースケースです。内部のエンコーダーおよびネットワークプロトコルを最適化して流暢性に特化し、通話ディレーおよび遅延率を低下させます。
LIVE
ライブストリーミングのユースケース、すなわち、長時間一人でのライブストリーミングに対応し、時々多人数でのビデオインタラクティブのユースケースに対応します。内部エンコーダーおよびネットワークプロトコルは最適化して性能及び互換性に特化し、性能及び解像度をさらに良くします。
TRTCVideoEncParam
推奨する設定
|
| | | |
ビデオミーティング(メイン画面 @ Mac Win) | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
各フィールドの詳細説明
(TRTCVideoResolution) videoResolution
エンコード解像度は、 例えば、640 x 360 はエンコードした画面の幅(画素) x 高さ(画素)を指し、TRTCVideoResolution で列挙した定義では、幅は高さ以上の長さとの横型スクリーン(Landscape)の解像度を定義しただけです。縦型スクリーン解像度を使用したい場合は、 resModeを Portraitに設定する必要があります。
ご注意:
多くのハードウェアのコーデックが 16 で割り切れる画素数の幅のみをサポートすることから、 SDKが実際にエンコードする解像度は、必ずしもパラメータに従って自ら設定したわけではなく、 16 で割って自動で修正したものです。例えば、 640 x 360 の解像度なら、 SDK 内部では 640 x 368に対応することがありえます。
(TRTCVideoResolutionMode) resMode
横スクリーンまたは縦スクリーンの解像度を指し、TRTCVideoResolution には横スクリーンの解像度しか定義していないことから、 360 x 640 のような縦スクリーン解像度を使用したい場合は、 resMode を TRTCVideoResolutionModePortraitに指定する必要があります。一般に PCおよび Macは、横スクリーン(Landscape)解像度を採用し、携帯電話は縦スクリーン(Portrait)解像度を採用しています。
(int) videoFps
フレームレート(FPS)も、毎秒どれだけのフレーム画面をエンコードするかを示すものです。15 FPSに設定することをお薦めします。そうすれば、画面が十分にスムーズに流れ、毎秒のフレーム数が多すぎることによりフレーム画面の明瞭度を下げることはありません。
スムーズさへの要求が高い場合は、20FPSまたは25FPSに設定することができます。しかし、25FPSより大きい数値には設定しないでください。映画の通常のフレームレートも24FPSしかないためです。
(int) videoBitrate
ビットレート(Bitrate)とは、毎秒エンコーダーがどれだけかのKbit のエンコードを出力した後のバイナリーデータのことです。 videoBitrate を 800kbpsに設定した場合は、エンコーダーが毎秒 800kbit のビデオデータを産生することになります。これらのデータを一つのファイルに保存すると、ファイル容量は 800kbit、つまり100KB、0.1MBになります。
ビデオビットレートは高ければ良いというものではなく、解像度との間にやや適切なマッピング関係があり、下表の示すとおりになります。
解像度ビットレート参照表
|
TRTCVideoResolution_120_120 | | | |
TRTCVideoResolution_160_160 | | | |
TRTCVideoResolution_270_270 | | | |
TRTCVideoResolution_480_480 | | | |
TRTCVideoResolution_160_120 | | | |
TRTCVideoResolution_240_180 | | | |
TRTCVideoResolution_280_210 | | | |
TRTCVideoResolution_320_240 | | | |
TRTCVideoResolution_400_300 | | | |
TRTCVideoResolution_480_360 | | | |
TRTCVideoResolution_640_480 | | | |
TRTCVideoResolution_960_720 | | | |
TRTCVideoResolution_160_90 | | | |
TRTCVideoResolution_256_144 | | | |
TRTCVideoResolution_320_180 | | | |
TRTCVideoResolution_480_270 | | | |
TRTCVideoResolution_640_360 | | | |
TRTCVideoResolution_960_540 | | | |
TRTCVideoResolution_1280_720 | | | |
TRTCVideoResolution_1920_1080 | | | |
TRTCNetworkQosParam
QosPreference
ネットワークの帯域幅に比較的余裕がある状況では、明瞭度とスムーズさは同時に対応できます。しかし、ユーザーのネットワークが満足のいく状態でない場合は、最終的に明瞭度とスムーズさのどちらを優先するかを、TRTCNetworkQosParam の preference パラメータを指定することで選択することができます。
スムーズさを優先(TRTCVideoQosPreferenceSmooth)
ユーザーのネットワーク環境が脆弱な場合は、画面がぼやけ、モザイクが多くかかることがあります。しかし、スムーズさを維持しラグを軽減することができます。
解像度を優先(TRTCVideoQosPreferenceClear)
ユーザーのネットワーク環境が脆弱な場合は、画面はできるだけ明瞭さを維持しますが、ラグが現れやすくなります。
ControlMode
controlMode パラメータでは、 TRTCQosControlModeServer を選択すればOKです。TRTCQosControlModeClient は、Tencent Cloud研究開発チームが内部テスト用としたものですので、無視してください。
よく見られるエラー箇所
1. 解像度は高いほど良いのですか?
やや高い解像度も、やや高いビットレートでのサポートが必要です。1280 x 720の解像度を選択した場合は、ビットレートを200kbpsに指定すると、画面に大量のモザイクが出てしまいます。 解像度ビットレート参照リストを参照して設定することをお薦めします。 2. フレームレートは高いほど良いですか?
カメラで撮影する画面は、露出段階ですべての現実の物体の完全なマッピングですので、フレームレートが高いほど、スムーズに感じるわけではありません。この点でゲームのFPSと異なります。正反対に、フレームレートが高すぎると、各フレームの画質を損ない、カメラの露出時間も減少させ、効果はさらに落ちることになります。
3. ビットレートは高いほど良いですか?
高いビットレートも高い解像度によって対応します。 320 x 240 の解像度に、1000kbps のビットレートは大きすぎますので、 解像度ビットレート参照リスト を参照して設定することをお薦めします。 4. Wi-Fi を使用する場合、高い解像度およびビットレートを設定可能
Wi-Fiのネット速度がいつも変わらないということはありません。無線ルーターから遠い場合、またはルーター回線が占有されている場合は、ネット速度は4Gよりも劣ることになります。
こうした状況では、TRTC SDKは速度計測機能を提供し、ビデオ通信前に速度を計測し、測定値からネットワークの良し悪しを判断します。
この記事はお役に立ちましたか?