2015-10-07 104 views
5

以下視頻鏈接無法與safari 9.0(最新版本)一起播放。但safari,chrome和firefox的舊版本可以播放。Safari 9.0無法在存儲服務器上播放mp4視頻

http://assets00.grou.ps/0F2E3C/wysiwyg_files/Videos/saksuka/20150928104628-lhmkkfbhnkiisbhht.mp4

我可以當我從服務器上下載視頻到我的電腦上使用Safari 9.0播放。

這就是爲什麼我不認爲這個問題會影響視頻編碼。

我已經完成了這些設置;

mime.types 
video/mp4 mp4 m4v 
video/ogg ogv 
video/webm webm 

httpd.conf 
AddType video/mp4 mp4 m4v 
AddType video/ogg ogv 
AddType video/webm webm 

.htaccess 
AddType video/mp4 mp4 m4v 
AddType video/ogg ogv 
AddType video/webm webm 
+0

當通過S3和Cloudflare提供小視頻時,我遇到了同樣的問題。在服務器響應流媒體標題時效果很好,所以問題不在於視頻編碼。 –

回答

5

這似乎是safari上一些mp4文件反覆出現的問題。

我在localhost node.js靜態服務器上測試了你的視頻,它在Safari中表現良好,這意味着視頻本身應該沒問題。

如果你看看Safari中的網絡檢查器,你會發現網絡請求沒有包含一些頭文件。這導致了一些服務器問題,並且他們沒有按照Safari期望的方式做出響應,或者根本沒有響應。

您可以看到正在討論的類似問題(第二個不是我的想法,但說明發送到服務器的請求中包含的信息可以導致服務器'決定'不按您的意願做出響應):

更新

使用wireshark捕獲來自Chrome的請求時,可以看到導致服務器響應來自要播放的視頻,而來自Safari的請求(在同一臺計算機上)導致服務器無響應。

請求通常是相似的,兩者都包含引用標頭。 Safari瀏覽器只要求從服務器最初返回的前2個字節 - 這是通過使用「範圍」標題,其被用於指定的字節範圍的一個文件返回:

  • 範圍:字節= 0-1 \ r \ n

鉻,另一方面請求整個視頻在其範圍內的請求:

  • 範圍:字節= 0- \ r \ n

但是,使用HTTP工具(例如,郵遞員),並將範圍更改爲0-1似乎不會阻止服務器在Chrome情況下的響應。實際上,使用該工具儘可能設置與Safari設置相同的標題似乎仍然可以返回視頻。

+0

您能澄清一下解決方案是什麼嗎?看起來這個答案不能提供解決方案,而只是指出我們其他的SO問題。 – rinogo

+1

@rinogo這是一個公平的評論 - 答案有點像調查日誌,我不得不承認。原始視頻鏈接無法正常工作,因此我現在無法再進行測試,但是如果您有一個無法使用的示例,請將其發送給我,並且我想用最新的Safari版本來查看。文件服務器可能會識別瀏覽器類型並基於此改變其響應,但很難肯定地說,可以肯定的是,視頻在本地播放正常,並且服務器響應不同的瀏覽器發出請求。 – Mick

+0

這對我來說非常有用。如果服務器無法響應範圍請求,我將永遠不會猜到Safari發生故障。 – danneu

相關問題