iPhone、Samsung、およびいくつかの他のデバイスは常にビデオを横向きで録画します。ビデオが回転を必要とする場合、iPhoneのビデオは再生中にビデオプレーヤーにビデオを通常の向きに回転させるよう指示します。
残念ながら、現代のビデオフォーマットはビデオを再生するためにハードウェアアクセラレーションを必要とし、そのハードウェア、主にテレビでは、この回転を尊重することができません。ハードウェアがビデオを正しく回転させることができないため、横向きのビデオは回転が間違っているため、誤って再生されます!
私の経験では、2023年半ばの時点でGoogle TVとChromecastドングルはすべてのiPhoneビデオを正しく再生します。Amazon Fire TV StickやSony Bravia TVは、必要な場合にこれらのビデオを回転させません。将来的には変わる可能性がありますが、現時点ではこれらのデバイスはハードウェアアクセラレーションを使用して回転が必要なiPhoneビデオを再生することができません。私のアプリでハードウェアアクセラレーションをオフにしてビデオを正しく回転させる必要があります。
残念ながら、ハードウェアアクセラレーションをオフにすると、ビデオが遅すぎて再生できなくなる可能性があります。現代のHEVCビデオは再生するためにハードウェアアクセラレーションを必要とします。
どうすればいいですか?
ビデオが1080p以下である場合、デバイスのデコーダをバイパスするためにハードウェアアクセラレーションをオフにしてみてください。これは、アプリの設定 > 一般 > で「ハードウェアでビデオを加速」をオフにすることで行うことができます。これは4Kビデオにも機能しますが、通常はHEVC / h.265のハードウェアアクセラレーションを必要とし、アクセラレーションをオフにすると再生が不安定になります。
FlickrやGoogle Photosなど、ビデオを幅広く互換性のあるフォーマットに自動的にトランスコードするサービスにファイルをアップロードできます。これらのサービスは、変換プロセスの一部としてビデオを正しく回転させます。
Handbrakeを使用してビデオを手動で再エンコードし、回転の要件を取り除くことができます。これにより互換性が向上し、通常、再エンコードはより効率的なエンコーディングをもたらし、サイズが小さくなり、ストリーミングに役立ちます。多くのクラウドドライブサービスがビデオストリーミングサービスではなく、それらからの生の4Kビデオを再生すると最大8 MB/sを消費する可能性があることを認識することが重要です。これは、あなたとサービスの間のすべてのハードウェアに対して高い要求です。