我用nginx搭了個簡單的flv和mp4串流伺服器,在播放某個mp4時只有影像沒有聲音,但是直接本地播放是有聲音的,這可能是什麼原因呢
如何排錯: 1,瀏覽器能直接開啟你線上的那個檔案(如造訪http://xxx.com/a.mp4)嗎?能透過url直接下載或播放它嗎? chrome和firefox是不會去判斷跨域問題的,而ie和safari是有訪問限制的,你先每個瀏覽器都訪問一遍那個MP4資源的url,看看http的reponse是什麼。
2,再在1的基礎上,(a)如果都不能訪問,那麼肯定是nginx配置錯誤,tail nginx的日誌排錯(一般常見是沒有chmod給權限)。 (b)如果只有部分瀏覽器有問題,那麼可能是跨域問題,Google搜尋解決它。 (c)如果都能訪問,那麼就是你的媒體播放器配置問題,排錯,實在不行就換個播放器。
如果編碼和播放器上沒有什麼問題,問題可能出現在網絡上,網速如果太慢的話,可能會出現這樣的問題,因為流媒體分視頻和音頻部分,音頻的碼率一般比較低,在在網速不能保證的情況下,一般會出現有聲音沒有影像的問題。
如何排錯:
1,瀏覽器能直接開啟你線上的那個檔案(如造訪http://xxx.com/a.mp4)嗎?能透過url直接下載或播放它嗎? chrome和firefox是不會去判斷跨域問題的,而ie和safari是有訪問限制的,你先每個瀏覽器都訪問一遍那個MP4資源的url,看看http的reponse是什麼。
2,再在1的基礎上,(a)如果都不能訪問,那麼肯定是nginx配置錯誤,tail nginx的日誌排錯(一般常見是沒有chmod給權限)。 (b)如果只有部分瀏覽器有問題,那麼可能是跨域問題,Google搜尋解決它。 (c)如果都能訪問,那麼就是你的媒體播放器配置問題,排錯,實在不行就換個播放器。
如果編碼和播放器上沒有什麼問題,問題可能出現在網絡上,網速如果太慢的話,可能會出現這樣的問題,因為流媒體分視頻和音頻部分,音頻的碼率一般比較低,在在網速不能保證的情況下,一般會出現有聲音沒有影像的問題。