2012-09-06 149 views
4

IE9讓我對它支持HTML5視頻感到憤怒,據我瞭解,它支持H.264編解碼器,所以任何擴展名爲.mp4的文件都可以。IE9不顯示mp4視頻?

問題是,它沒有播放擴展名爲.mp4的視頻文件。 。 。

更加不尋常的是,如果我在本地測試它,IE9將播放mp4視頻,它只是不會在服務器上播放它,這也與MIME類型無關,我添加了以下MIME類型服務器:

約會專家 - video.mp4

並在IE開發工具網絡面板,它的上市它的類型爲「視頻/ MP4」的唯一不尋常的是,網絡面板顯示IE要求它3次(我不知道爲什麼這可能是)

我在我的繫繩的末尾,以至於我實際上寫了代碼belo w至試圖修復它(我真的很討厭用這個上線的站點,它的可怕):

<!--[if !IE 9]><!--> 
     <video controls="controls"> 
<!--<![endif]--> 

<!-- This is a horrible way to do this, but I cannot figure out for the life of me why IE9 won't play this video :(--> 
<!--[if !IE 9]><!--> 
    <source src="video.ogv" type='video/ogg; codecs="theora, vorbis"'/> 
    <source src="video.mp4" type="video/mp4"> 
<!--<![endif]--> 

<!-- If HTML5 video is not supported, the following Flash video will play --> 
<p>flash video stuff is here</p> 

<!--[if !IE 9]><!--> 
     </video> 
<!--<![endif]--> 

這迫使IE9使用閃光燈視頻不支持HTML視頻的瀏覽器修復它(而不是默認IE9似乎顯示一個空白框,沒有錯誤信息,沒有任何東西)。不幸的是,這個解決方案太可怕了,我幾乎慚愧地寫下了它。

有誰知道可能是什麼原因造成的?或者我可以如何解決它?

編輯:不知道這是任何意義的,但我用http://www.freemake.com/free_video_converter/將文件轉換爲正確的格式

回答

1

我還完全不知道是什麼造成了這一點,我花了很多時間挖掘和挖掘,並在最後問別人嘗試在他們的IE9版本中,出於某種原因,它在他們的計算機上工作,而不是我的。

我不完全知道爲什麼,我只是把它記在我的版本IE9的以某種方式被打破(這是令人沮喪的考慮到我花了多少時間嘗試理清了這一點!)

+1

我在SO上的其他地方發佈了相同的線程,除了我的mp4不適用於任何人的IE9。我也表達了同樣的結論,IE9是微軟無法或不願意修復的可怕破解瀏覽器。 – Rob

+0

告訴我這件事,我浪費了幾個小時試圖解決這個問題,甚至不是第一次浪費時間處理似乎無法解決的IE錯誤。 。 。 – Sean

4

我遇到了同樣的問題。當您在本地運行HTML文件時,IE9會播放視頻,但當您將它放到服務器上時,它會停止工作。問題必須與視頻文件有關。考慮到它在本地工作,你會認爲它不可能。但似乎是這樣。當我在VideoJS網站(http://vjs.zencdn.net/v/oceans.mp4)下載示例視頻文件並將其放入我自己的設置中時,IE9可以很好地播放它。因此,IE9在播放遠程文件時更加挑剔。

我會更新這個答案,當我找出需要什麼魔術參數才能使IE9開心。

更新:好的,我想我想通了。我花了一些時間比較與不起作用的MP4文件。在前者中,隨機訪問索引(「stss」atom)位於文件的開頭附近。在後者中,它位於文件的末尾。這兩個位置都是合法的,但顯然IE9在文件的最後從網上下載文件時太愚蠢了。

解決方法是使用ffmpeg附帶的工具將隨機訪問索引移動到MP4文件的開頭:qt-faststart

注:我試過另一個工具:QTIndexSwapper。它似乎讓文件損壞。

+0

感謝您的回答,即使這是一個老問題,我從來沒有設法找到一個適當的解決方案!不幸的是,這個問題對我來說已經不再重要了(這個代碼所在的網站已經發生了很大的變化),所以我無法測試你的答案,但是如果其他人發現這個問題有幫助的話,請在下面進行介紹,我很樂意標記這個作爲接受的答案。 – Sean