そこで、HTML5のセルフホストビデオを使用して、非常にビデオを多用するプロジェクトをまとめています。ビデオはH.264/AAC MP4とWebMの両方の形式でエンコードされており、Chrome、Firefox、Safari、MobileSafariなどで美しく機能します。すべて問題ありません。
これは私のコードの最も基本的なバージョンです(本番サイトでは VideoJS を上にして実行していますが、存在するかどうかに関係なく、この問題が発生するため、コードを削除しましたこの例から):
<video preload="true" width="720" height="406" controls="true">
<source src="/55.mp4" type="video/mp4">
<source src="/55.webm" type="video/webm">
</video>
しかし、InternetExplorerはボールをプレーすることを拒否します。 IE 11でページをロードすると、ビデオのデコードエラーが発生します。
Internet Explorerの開発者ツールでは、コンテンツタイプのvideo/mp4を取得していることがわかります。サーバーの問題を完全に排除するために、ローカルのApacheインストールとWebホスティングの両方で試しました。コンソールを使用して 再生エラー を取得すると、MEDIA_ERR_DECODE : 3
が取得されます。これは、リンクしたばかりのサイトによると、
リソースが使用可能であることが確立された後、メディアリソースのデコードでエラーが発生しました。
これは、ビデオエンコーディングに問題があることを示しています...しかし、私はそれを見ることができません。
ビデオファイルは元々、AdobePremierまたはFinalCut ProからQuickTimeビデオとしてエクスポートされ(ビデオ担当者がどちらを使用しているかはわかりません)、 Miro Video Converter を実行してMP4およびWebM形式を出力しました。 MP4ファイルをVLCで開くと、使用中のコーデックに関する次の情報が表示されます。
そこには何も悪いところは見当たりません。私がオンラインで見つけたすべての参考文献が、MP4ビデオは最大の互換性のためにあるべきだと言っているように見えます-H.264/AVCビデオとAACオーディオ。
誰かが私がしていることに何か問題があるのを見ることができますか?サンプル動画を投稿できるようにしたいと思いますが、プライバシー上の理由から投稿できません。それでも、どんな助けでも大歓迎です。
ですから、これは少し恥ずかしいことですが、私は最終的にそれを理解しました。
問題は、Internet Explorerではそれほど問題ではありませんでした。それは、Windowsを実行してテストインするために使用していたVM ) インターネットエクスプローラ。
基本的に、私はVirtualBoxVM内でWindows7を実行していました。私が(必死になって)Windowsを実行している実際の物理マシンを探したとき...見よ、それが再生されたのを見てください!
VirtualBoxが提供するビデオドライバーはMP4などのデコードが好きではなかったと思います。ビデオは他のブラウザでも正常に再生されましたが、IEとは異なる方法で、ビデオのデコード/レンダリングが行われていると思います。
最近、MacOSでWindows7を実行しているVirtualBoxで同じ問題が発生しました。問題のあるVMの「表示」設定で3Dアクセラレーションを有効にすることで解決しました。