質問・問題
映像と音声が同期しません(リップシンクがずれます)。原因と対策を教えてください。
回答・解決方法
一般的な解決策については、こちらに説明がございます。
まとめますと、まず主な原因としては
- ネットワークの急な遅延(遅延時にズレる場合があります)
- デバイスのパフォーマンス不足(時間経過とともにずれていく傾向があります)
- custom video sourceなどを利用し、タイムスタンプが正しく設定されていない
- face unityなどサードパーティ製の画像処理SDKを利用している
などが挙げられます。まずはこの観点で原因切り分けをすることが解決への近道となります。
切り分け方法1:(原因の1と2に関連)
リップシンクのずれが一時的なものか、継続して発生しているものかをご確認ください。
一時的に(断続的に)ずれたり戻ったりする場合、これはネットワークや機器の性質によるものと考えられます。基本的にはSDKがズレを継続的に補正するため、正常な現象となります。
ネットワークやハードウェアが原因かどうかを切り分けるには、他のネットワークを使ったり他のハイスペックなデバイスを使った場合に同じ事象が発生するかを確認することが有用です。
切り分け方法2:(原因の3と4に関連)
サードパーティ製の画像加工SDKを利用したりする場合、Custom Video Sourceを利用しますが、この際timeStamp パラメータがビデオフレームごとに正しく設定されているかを確認する必要があります。ミリ秒を使用していることを合わせて確認してください。
また、この切り分けにおいてはサードパーティ製SDKを利用しない場合にリップシンクのずれが発生しないかどうかを確認することも有用です。ずれが治る場合、このSDKが原因と思われます。
最終的に上述の切り分け2点いずれにおいても解決しない場合、SDKログとコール情報があればAgoraエンジニアによる調査が可能となります。