2

私は html5 ページを書きます。ソースは次のとおりです。

<!doctype html5>
....
<video id="vdemo1" controls  width="440" height="248">
  <source src='http://mysite.com/demo.webm' type='video/webm'>
  <source src='http://mysite.com/demo.mp4' type='video/mp4'>
  // fallback codes
</video>

video タグの出力は空のブラック ボックスです。HTML5 Video not working in IE9 - Some tips to debugのURL の指示に従うと、MEDIA_ERR_DECODE エラー コードが表示されます。ただし、空のビューポートを右クリックして「再生」項目を選択できますが、ビューポートには何も表示されません。右クリックして「保存」を選択し、mp4 ファイルをローカル hd に保存すると、OS で正常に再生できます。ビデオ src をローカル ファイルに変更することもできますが、役に立ちません。

IE9 は mp4 コーデック機能を失いますか (mp4 は H.264 でエンコードされているはずです)? どうすれば能力を回復できますか?

=======編集 @ 2012/10/9

奇妙なことが起こった。初めて実行する前後に Windows Media Player を実行したことはありません。ビデオ タグのソースがローカル ファイルである場合は、再生できます。ただし、リモート URL の場合はそうではありません。誰でも理由がわかりますか?

4

3 に答える 3

2
  1. ソースを並べ替えて、mp4 を一番上に置きます。
  2. サーバーが mp4 の正しい MIME タイプ (video/mp4) を送信しているかどうかを確認します。

どちらも再生を中断する可能性があります...

于 2012-09-14T06:50:14.400 に答える
1

IE9でBフレームでエンコードされたビデオの再生に問題が発生することがあります。それらなしでビデオをエンコードしてみてください。コマンドラインにオプション「-bf0」を追加することにより、ffmpegでこれを行うことができます。

于 2012-09-15T06:21:51.880 に答える
0

場合によっては、Internet Explorer はデコード エラー (MEDIA_ERR_DECODE - リソースが使用可能であることが確立された後、メディア リソースのデコードでエラーが発生しました) をスローし、16 で割り切れないサイズのビデオを再生できません。たとえば、960x400 ( 960 % 16 == 0 および 400 % 16 == 0 ) のビデオは完全に再生されるかもしれませんが、サイズを半分 (480x200) に縮小すると再生されません ( 480 % 16 == 0 ですが、 200 % 16 != 0 )。

これを回避する 1 つの方法は、サイズ変更されたビデオを適切な形状であることがわかっている領域で囲み、残りの領域を黒いバーで埋めて縦横比が歪まないようにすることです。これを行うために、現在追跡できないように見える別の SO 回答から適合させた次のコードを使用しました: -vf "scale=iw*min(640/iw\,480/ih):ih*min(640/iw\,480/ih),pad=640:480:(640-iw)/2:(480-ih)/2".

于 2014-03-14T16:32:16.053 に答える