オーディオおよびビデオ業界の開発者に向けて：Youkuの再生システムの構築について

**Youku**再生センターのテクニカルディレクターであるレイ・マン氏が、**Youkuの再生システム構築**の5つの側面を語ります。

アプサラカンファレンス2020のリプレイを[こちらのリンク](https://www.alibabacloud.com/apsara-conference-2020/live-streaming?spm=a2c65.11461447.0.0.364fb5d0Jp65Z7)からご覧いただけます！

By AliENT

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/572e4dc4-5f58-aa06-6d3f-fb5f1ac066d3.png)

2020年アプサラカンファレンスのスマートエンターテインメント産業の実践に関するサブフォーラムでは、Youku再生センターのテクニカルディレクターであるレイマン氏が、Youkuの再生システムの構築について5つの側面から語りました。適応ビットレート再生、データ駆動型最適化、伝送プロトコル最適化、デバイス能力管理、動画再生強化についてです。講演を通じて、オーディオ・ビデオ業界の開発者の方々に啓蒙活動を行っていただきました。

以下の内容は、講演の概要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/8a9743f1-2a25-3172-a26b-7dc4e71ce2bb.png)

ユーザーがインターネット上で動画を視聴すると、以下のような問題が発生することが多くあります。

- 動画が再生できない、または再生中に動画が停止する：動画のフリーズは、時間、場所、機器、ネットワークシステムが関係しており、誰もが遭遇したことがあるものです。
- 画面がちらついたり黒くなったり、再生中に音声信号とビデオ信号が同期しない：再生中に画面がちらついたり、現在のクリップをスキップした後に画面が正常になったりすることがあります。

上記の問題は、主に次のような技術的な課題に起因しています：ユーザーネットワークの変更、サービスリソースの不足、市場に出回っているデバイスとの大きな違い。これらの問題はいずれも、高精細・高ビットレート動画の追求とネットワークの低帯域化とのバランスの悪さに起因しています。

Youku再生センターでは、上記の課題を克服するために、体系的な技術的なソリューションと製品を設計しました。データ駆動型の最適化により、大量のインターネット利用者をもとにリアルタイムでビジネストラフィックをスケジュールし、最適化することができます。適応ビットレート再生により、高ビットレートと帯域幅ジッターの対立を解決しました。同時に、ネットワーク伝送プロトコルの一部の弱いネットワークを改善することができます。

機器の能力に応じて異なる再生ポリシーを開発するための機器能力管理システムを設計しました。例えば、ビットレートがH265かH264かを判断し、ソフトデコードかハードデコードかを選択します。また、動画デコード後の後処理段階では、音声・映像の性能を向上させ、"画面がちらついたり、音声と映像の信号が同期しない "といったケースをなくすための動画再生強化システムを設計しました。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/4504df3d-102b-8e4b-84f0-b51b37b5041c.png)


アダプティブビットレート再生とは？ Youkuを利用する際に、ユーザーは「スマート再生モード」を選択することができます。これはアダプティブビットレート再生をベースに開発された機能です。ご存知の通り、Blu-rayや1080pの動画のビットレートは2Mbps以上、SD動画のビットレートは300Kbps程度です。家庭用Wi-Fiが500Kbpsしかない場合、SD動画のみスムーズに再生できます。ブルーレイ動画は失速します。通常の場合、4Gや一般的な家庭用Wi-Fiであれば、Blu-ray動画のスムーズな再生に必要な帯域を実現できますが、一度電波が乱れて複数のユーザーが帯域のコントロールを競うようになると、再生のスムーズさに影響が出てきます。

そこで、ネットワーク状態検査モジュールとダウンロード要求を処理するダウンローダを用いて、リアルタイムのダウンロード速度、タイムアウト情報、ビットレート情報、再生状況をスマート再生コントローラに報告します。そうすることで、決定エンジンに解像度を下げるか高めるかの判断を指示することができ、短期的な滑らかな再生と長期的なHD体験を実現することができます。

リアルタイム処理の後、クライアントプレーヤーは、様々なシナリオでの映像定義のアップグレードやダウングレードの結果をサーバーにフィードバックすることができます。その後、サーバーはデータレポートをソートして分析し、最適化ポリシーを更新し、その結果をクライアントに配信することで、スマートな処理を容易にします。

例えば、ダブル11グローバルショッピングフェスティバルのライブストリーミングなど、特殊なケースがあります。この間、ネットワーク全体のリソースが過剰に占有されます。スマート再生モードは、リアルタイムトラフィックを制御し、災害復旧をダウングレードすることもできます。1年以上の研究開発と実装を経て、スマート再生モードの利用率は全再生モードの中で1位に上昇しました。また大規模ライブストリーミングにおけるスマート再生モードの使用率は70％を超えました。スマート再生モードでは、90％以上の時間、最高画質で再生され、失速率は全再生モードの中で最も低くなっています。これらの特性は、「HD動画をスムーズに見たい」というユーザーのニーズに応えています。インターネット上での動画再生は、動画リソースのストレージと近くに分散しているかどうかに依存します。Youkuでは、Alibaba Cloud CDNやPCDNのエッジノードなどを利用して、リソースへのアクセスやダウンロードを行っています。動画ファイルは、制作センターでエンコード・制作された後、プッシュ＆プル技術によりOSSやCDNにアップロードされ、その後、動画をダウンロードして近くのユーザーが視聴することができます。



Youku上の動画リソースには大きく分けて2つのカテゴリーがあります。一つは、人気のある動画で、動画の数は少ないが、訪問数が多い動画で構成されています。もう一つのカテゴリは「不人気動画」で、これは他のすべての動画で構成されていて、アクセス数は少ないです。「不人気動画」の数は、一般的に人気動画の数よりも大幅に多くあります。アリババクラウドを含むCDNサービスプロバイダはすべて、プレミアムリソースと共通リソースの2種類のリソースを用意しています。高品質なリソースを持つデバイスは、高いパフォーマンス、高い帯域幅、エンドツーエンドでの安定性が高く、価格も高いです。これらはネットワーク全体では希少なリソースであり、埋蔵量も限られています。したがって、高品質リソースを使用して人気のある動画を保存し、一般的なリソースを使用してトラフィックの少ない人気のない動画を保存するのが最適なスケジューリング方法です。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/2770b08d-2300-5455-66e9-16df0bb254ea.png)


ダウンロード応答時間を短くし、ダウンロード速度を速くするために、人気のある動画とそうでない動画では異なるスケジューリング方法を設計しています。人気のある動画では、ローカルスケジューリングのため、できるだけ高品質なCDNリソースを使用することで、帯域が安定し、ユーザーまでの距離が短くなります。不人気動画は全国でスケジューリングすることで、動画ファイルのヒット率が向上し、バックトゥオリジン時間や帯域消費量が削減されます。不人気動画と人気動画を区別するために、再生リクエストから過去のYouku動画の人気度をリアルタイムで判断するリアルタイム計算モジュールを開発しました。同時に、運用システムと連携することで、まだオンラインになっていない動画の人気度をモジュールで予測し、その予測に基づいて事前にスケジュールを組むことができます。

ダウンロードの安定性を確保するとともに、人気動画と不人気動画の適切な配分は、低価格で低性能のCDNリソースを利用することで、コストを効果的にコントロールしています。



人気のある動画とそうでない動画のスマート再生モードとリアルタイムスケジューリングシステムを開発する過程で、独自のサービス品質測定システムではリアルタイムでの対応ができず、十分なデータに対応できないことがわかりました。再生ポリシーの実装は、サービス品質の正確でリアルタイムな測定を伴います。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/81575aa2-61b2-4555-32af-21c8fb561fdf.png)


そこで、3種類の再生データを収集しました。1つ目のタイプは、1バイト目までの時間や低速の割合などを含む「基本指標」、第２のタイプは、ノードの品質を含む「因子指標」、第３のタイプは、会員のアイデンティティや再生シナリオを含む「次元指標」です。リアルタイムのデータ処理により、バックエンドサーバの検出と復旧を数秒で行うことができ、ローカルネットワークの障害を正確に把握し、エンドツーエンドの手動対応を24時間365日可能にします。

正確でタイムリーなスケジューリングに加えて、クライアントプレーヤーとCDN間の接続成功率と伝送速度が向上します。これは、パケットロス率やレイテンシーが高い弱小ネットワークでは特に重要です。一般的に、データ接続のダウンロードはTCP上のHTTPを使用します。我々は、特に弱いネットワークを最適化するためにUDPをベースにしたQUICプロトコルを導入しました。

まず、ビジネス層で弱小ネットワーク予測モジュールを設計し、QUICの最適なエントリ時間を見つけます。次に、プロトコル層で遅延検出とパケットロス推定を追加します。パケットロスを補うために、より多くのパケットをより高い周波数で送り出すことで、非常に弱いネットワークを高いコストで改善します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/37910109-06ef-b478-ce0f-ecb31a093342.png)


QUIC-BBRは、オンラインビジネスと最新の再生テスト結果をもとに、弱ネットワーク下での伝送速度を大幅に向上させます。強ネットワークでも10％以上の稼ぎがあり、今後の高ビットレートの動画再生の導入に備えています。

iPhoneやiPadなどのiOSデバイスの場合、規格は比較的統一されています。しかし、Androidスマホや各種PC端末、OTTボックス、テレビなど、より一般的に使われている動画再生機器では、機種やブランド、チップ、処理能力などが大きく異なります。Youkuの動画はかなり充実しています。彼らの解像度は4K、120フレームまで可能です。ソースの数のため、数万の解像度を生成することができます。非標準解像度（4KとH265）のビデオの場合、3840*1888は携帯電話で再生することができます。しかし、数年前に発売されたOTTボックスで再生すると、ハードデコードができず、ソフトデコードが低性能なため、画面がちらついたり、動画が失速したりすることがあります。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/c10e184f-f093-0739-b2e2-0a9a6e4f0df4.png)


装備品能力の管理システムを構築しました。機器の能力特性と限界を記録し、コンテンツ特性と機器を関連付け、再生能力の組み合わせを多様化するシステムです。このシステムにより、ロングテール機器で特殊な映像を再生することができます。管理システムが特殊な解像度の動画を再生できないことを検知した場合、通常の再生では「動画の高さを64で割って数字を四捨五入する」ように指示されます。

次項では、動画のデコード後の後処理段階での再生強化について紹介します。

オーディオ/ビデオエンハンスメントや特殊効果などの開発に求められる性能や互換性を満たすために、OpenRenderシステムを開発しました。箇条書きコメントや字幕、透かしなどの特殊効果や、音声・映像コンテンツの後処理の強化ニーズを実装しています。また、異なるプラットフォームのハードコーディングされた動画の後処理やレンダリングにも対応しています。OpenRenderをベースに、HDR、サラウンドサウンド、弱色、アイプロテクション、スピードコントロールなどの機能をデバイス上で提供することができます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/4270db82-b7d7-5cd1-ceaf-3cdf488bcc6f.png)

ディスプレイのハードウェアによって表示効果が大きく左右されるため、主要なメーカーの画面をテストして集め、対応する後処理アルゴリズムを用いて統一的な補正を行いました。これで、フィルムはモバイルプラットフォーム上の異なるデバイスでも同じ明るさ、コントラスト、色を持つようになり、写真は、監督の意図を完全に表現するために可能な限り復元することができます。機器の能力の限界から、テレビは十分に改善されていないため次の計画としては、チップメーカーや完成機メーカーの後処理能力とYoukuのコンテンツを組み合わせて、理想的な性能を実現したいと考えています。


*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/how-does-youku-build-a-system-for-the-smooth-playback-of-hd-videos_596799)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*


*アリババクラウドは日本に２つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
[アリババクラウドジャパン公式ページ](https://us.alibabacloud.com/)*