4

エンコーディング、htaccess、およびビデオ要素のマークアップに関して、インターネットとここで SO で見つけることができるすべての調合を試しましたが、これらのビデオを IE9 で再生することはできませんが、Chrome では完全に動作します。これを機能させるための魔法の妖精の粉を知っている人はいますか? IE で表示されるのは、中央に赤い x が付いた黒いボックスだけです。テスト ページへのリンクは次のとおりです: (リンクは削除されました)

2 つのビデオと 2 つのバリエーションのマークアップを示していることに注意してください。1 つは、ビデオ タイプの Mark Pilgrim の本からの直接のコピーです。最初のビデオは、miro を使用してエンコードされました。2 つ目は ffmpeg です。そのビデオ ディレクトリの htaccess に「AddType video/mp4 .mp4」を含めます。

私が試したことや、ffmpeg のプリセットの組み合わせは問題ではありません。何も機能していないようです。JavaScript ライブラリやその他のライブラリに関する提案を聞くことに興味はありません。

EDIT1:

以下の @heff によるテスト ページを見た後、私の問題は私のホストである HostGator に関連している可能性があるようです. また、他のブラウザーや他の Web ホストで動作するオーディオとマークアップを使用する IE9 の HTML5 オーディオにも問題があります。私の問題がホストに関連しているかどうかはわかりませんが、そう信じる傾向があり、他のホストでのテストを検討しています.

私はインターネットとここ SO で私のものと同様の質問をたくさん見ていますが、彼らが私と同じホストの問題を抱えているかどうか疑問に思っています。

EDIT2:

ビデオは、Apache と FreeBSD (HostGator は Centos を使用) を使用してまったく同じ Web ページと共に、オフィスのローカル サーバーに配置しました。ビデオはIE9で問題なく再生されます。

EDIT3: だから私は「Uncle Buck Bunny」を働かせました。私がダウンロードした有名なMP4です。なぜ機能するのかはわかりませんが、同じエンコーダーを使用したと思います。彼らは、他の人が持っていない魔法の妖精の粉を持っている必要があります.

EDIT4: 誰でも私のビデオとマークアップの 1 つをコピーして、HostGator 以外のホストで動作させることはできますか?

EDIT5: したがって、IE9はmp4ビデオをダウンロードしているようですが、それらを再生したり、赤い「x」を表示しているときにコントロールを表示したりしていません。私は当初、ビデオが開発ツールからまったくダウンロードされていないと思っていました。何をすべきかについてはまだ迷っています。ページをリロードすると、コントロールのフラッシュが表示されます。

EDIT6: 解決済み 解決 策は、他の場所で示唆したように、エンコーディングにあります。違いはわかりませんが、ffmpegを使用したエンコード方法を使用してこれを機能させました。エンコーディングは、以下の私の回答に示されています。

私が述べたように、私が使用していたブラウザで問題が発生したブラウザは他にありません。

4

9 に答える 9

6

編集:上記の編集した質問で述べたように、私は解決策を見つけました。以下は、示されている順序で配置した場合にのみ機能します。

ffmpeg  -i <infile> \
        -vcodec libx264 -vpre normal \
        -acodec libfaac \
        -threads 0 <outfile>.mp4

元の答え:

私はこれを無駄に機能させるために何週間も費やしました。ウェブを検索すると、これに苦労している人も無数にいます。これを機能させて、それがどのように行われたかを示すことができる人を1人見つけることができませんでした(ここで使用されている@heffのような特別なツールを除く)。

マイクロソフトのフォーラムや記事で、マイクロソフトからの回答を見つけることができません。問題を引き起こしている可能性のあるエンコーディングに関して私が見つけることができるものは何もありません。同じように終了するフォーラムで無数のスレッドが開始されているのを見つけました...解決策はありません。

したがって、答えは簡単です。IE9が壊れています。しかし、私たちはすでにそれを知っています。せいぜい、それは地球上で最悪のブラウザです。Microsoftは、このようなビデオファイルを処理できると主張していますが、他のブラウザには何の問題もないため、処理できません。

ですから、誰かが来て指導をしてくれない限り、私はこの答えを最良の答えとして受け入れます。確かに、Microsoftはより良いものを提供できないか、提供しないでしょう。

于 2012-08-07T01:58:48.443 に答える
3

mediainfo の結果では何も目立たなかったので、Zencoder で実行したところ結果は IE9 で機能しました。(1 番目は Zencoder、2 番目はあなたのオリジナルです)

http://www.steveheffernan.com/test/11811992/test.html

完全開示: 私は Zencoder を共同設立しました。また、Zencoder は無料のサービスではなく、1 回限りのビデオ エンコードを目的としたものでもありません。これは、API を介してエンコードを自動化するためのものです。

邪魔にならないので、IE9が処理できないファイルに破損がある可能性があると私は信じています。Zencoder は多くの潜在的な破損を修正し、特定の互換性を強制します。Handbrake を試すこともできますが、これも FFmpeg/x264 を使用するだけです。

Zencoder ではリクエスト ビルダーを使用し、デフォルト設定は一切変更しませんでした。

{
  "input": "http://spartantheatre.org/video/test1.mp4"
}

さらに詳しく調べる場合は、test1.mp4 の mediainfo の結果を次に示します。

$ mediainfo test1.mp4 
General
Complete name                    : test1.mp4
Format                           : MPEG-4
Format profile                   : Base Media
Codec ID                         : isom
File size                        : 21.6 MiB
Duration                         : 2mn 14s
Overall bit rate                 : 1 348 Kbps
Writing application              : Lavf53.13.0

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : Baseline@L3.0
Format settings, CABAC           : No
Format settings, ReFrames        : 1 frame
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 2mn 14s
Bit rate mode                    : Variable
Bit rate                         : 1 200 Kbps
Width                            : 480 pixels
Height                           : 320 pixels
Display aspect ratio             : 3:2
Frame rate mode                  : Constant
Frame rate                       : 29.970 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.261
Stream size                      : 19.1 MiB (89%)
Writing library                  : x264 core 118 r2085 8a62835
Encoding settings                : cabac=0 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=8 / psy=0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=abr / mbtree=0 / bitrate=1200 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / vbv_maxrate=10000 / vbv_bufsize=10000 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Language                         : English

Audio
ID                               : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format version                   : Version 4
Format profile                   : LC
Format settings, SBR             : No
Codec ID                         : 40
Duration                         : 2mn 14s
Bit rate mode                    : Variable
Bit rate                         : 150 Kbps
Maximum bit rate                 : 160 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Stream size                      : 2.40 MiB (11%)
Language                         : English

乾杯、
ヘフ

于 2012-08-04T21:03:40.633 に答える
3

私は同じ問題を抱えていましたが、うまくいけばかなり簡単に解決できるタイミングの問題だったと思います.

私の場合、HTML ページにソース サブ要素が指定されていない要素があります。

<audio id="audio" controls="controls"/>

オーディオ要素のソースとして URL を割り当てる jquery コードをページの準備ができた状態で実行しました。

audio_core=$('#audio').attr('src', 'http://mysite.com/audioFile.mp3')[0];
 audio_core.play()

Chrome はこれに満足しましたが、IE9 はそうではありませんでした。IE は、オーディオ ファイルを完全にダウンロードする前に認識しようとしたようです。

修正は、ファイルをオーディオのソースに割り当てる直前に get を実行して、ファイルをプリロードすることだけでした。

var soundFileUrl='http://mysite.com/audioFile.mp3'; 
$.get(soundFileUrl, function(){
 audio_core=$('#audio').attr('src', soundFileUrl)[0];
 audio_core.play()
});

うまくいくようです。

于 2012-10-09T21:28:34.163 に答える
2

IEがファイルタイプを認識していません。これを.htaccessファイルに追加してみてください:AddType video / mp4 .m4v AddType video / mp4 .mov

于 2012-08-22T18:03:59.070 に答える
1

2 つの異なるプレーヤー ライブラリを試し、ビデオを 6 回エンコードした後、私の場合、サーバー上で MIME タイプが正しく構成されていないことがわかりました (.mp4 ~ video/mepg)。 mp4

于 2013-03-15T19:46:46.323 に答える
0

私もこの問題を抱えていましたが、MIME タイプやビデオ エンコーディングに問題がないことが判明しました。ハンドブレーキを使用してビデオをエンコードしたところ、オーディオ トラックのプリセットとして AAC ではなく AC3 が選択されました。AACでやり直した後、すべてが機能しました。

于 2012-09-10T04:22:29.157 に答える
0

私の仕事仲間は、治療を行う次の修正を思い付きました。

タグの後に次のコード行を単純にコピーする<!DOCTYPE html>と、コンテンツが IE 9 で強制的にレンダリングされます。

<meta http-equiv="X-UA-Compatible" content="IE=9" />
于 2013-06-18T13:54:42.277 に答える
0

標準コーデックではなく、H.264 コーデックを使用してビデオをエンコードしましたか? IE9 は拡張子が .mp4 のファイルをダウンロードしますが、h.264 を使用してファイルをエンコードする必要があります。現在のところ、mp4 H.264 エンコーディングが必要なのは Safari と IE だけです。

于 2013-01-12T15:35:42.600 に答える
-1

ビデオのエンコードに使用されたコーデックがサポートされていないようです。

于 2012-08-04T13:56:29.797 に答える