2016-12-08 36 views
4

目前,我們使用標準AVPlayer通過AVPlayerViewController播放視頻。我們正在以https://ourdomain/media/mediaid?jwt=authTokenHere的格式從網址傳輸視頻。如你所見,這個url沒有擴展名;但是在有效載荷上設置了標題以指示響應是視頻。iOS 10 AVPlayer不會傳輸來自URL的視頻,沒有擴展名並且視頻/ MP4作爲內容類型

HTTP Reponse Headers

雖然鏈接結果中的視頻桌面Safari和Chrome精打,也不會通過iOS版的AVPlayer在我們的應用程序中播放。 AVPlayer有什麼特別的格式嗎?

+2

我相信在AVPlayer *中播放的媒體必須*有一個文件擴展名,我用當地播放的沒有擴展名的文件碰到過一次。增加了'.mp4'和瞧。 –

回答

2

好吧被刪除 - 最終發現這個問題的答案是多方面的。以下是我需要做的事情來完成工作。

  1. 文件確實需要擴展名。
  2. 服務器不是 正確配置。它需要通過響應一系列頭文件來提供漸進式下載 響應。

通過更新我們的後端以提供此響應,並將正確的擴展名附加到視頻文件,我們現在按照預期流入AVPlayer。感謝所有提供提示的人!

1

AVURLAsset需要文件擴展名才能工作。不幸的是,已經有一些雷達開放時間爲iOS 5的同樣的問題,但似乎即使它沒有更新iOS上的10

雷達鏈接:

AVURLAsset should not require a file extension to work

AVURLAsset should not require a file extension to work

WorkAround/Hack:

循環播放可玩的MIME類型並創建一個帶有擴展名的實際文件的符號鏈接,並檢查它們是否可播放。

注:

  • 符號鏈接會時,應用程序進入後臺
  • 創建符號鏈接檢查this SO答案
+0

謝謝你。不幸的是,我不相信這個符號鏈接選項會適用於我,因爲所討論的文件是遠程的(HTTPS)。據我所知(並且已經測試過),當你嘗試從'file://'到'https://'的符號鏈接時,'NSFileManager'會拋出一個錯誤。 – Sommer