2011-03-16 35 views

回答

5

更新:在您投票之前,請注意這是在iOS 4期間的準確和可接受的答案。對於更新的iOS 8答案,see here


我已經爲自己研究過這個問題,還沒有找到答案,這意味着我非常積極,沒有辦法做到這一點。 Apple文檔並不總是詳細說明你可以對事物做些什麼,但如果你看看所有可用的屬性,方法等,你會發現沒有什麼可以讓你調整流。

我認爲這是HLS的重點。蘋果希望iPhone用戶擁有最佳的流媒體體驗。如果他們給開發人員一些控制來調整正在使用的流,那就會失去目的。系統知道何時切換流。如果手機無法處理額外的帶寬,那麼它不會(或不應該)切換到較高的數據流。有些事情,我發現你可能想看...

你的文件分成10秒的增量?如果這不僅僅是你想縮短它們。

某些文件轉換程序不能正確獲得比特率,如果是這種情況,您的手機可能會認爲它具有96 kbps的數據傳輸帶寬,但實際上您的數據傳輸速率爲115 kbps。看看在這篇文章中接受的答案:iPhone - App Rejected again, HTTP Live Streaming 64kbps baseline feed

+0

這些文件被精確切割成10秒,但傳輸格式爲mpegts,增加了一個小的開銷 - 我認爲我們將切換到mpeg。至於研究,我需要像我這樣搜索庫的人的意見;我感謝你的信息和鏈接。 – Spiri 2011-04-06 09:29:22

+0

你可不可以使用幾個M3U8主文件,每個都有獨立的比特率? – Robert 2012-06-06 11:15:50

+0

通過實現一個'NSURLProtocol',可以在任何時候以編程方式決定'AVPlayer'加載哪些數據。服務器也需要進行調整。雖然可能,但這並不容易。 – Berik 2014-04-23 15:47:34

15

現在可能在iOS8中。

在AVPlayerItem上籤出preferredPeakBitRate

繼從蘋果公司的文件複製:

所需的極限,在比特每秒,網絡帶寬消耗爲這個項目。
SWIFT:VAR preferredPeakBitRate:雙
的Objective-C:@property(非原子)雙preferredPeakBitRate

設置preferredPeakBitRate爲非零,表明玩家應該嘗試項目的播放限制爲比特率,單位爲比特每秒。

如果無法降低網絡帶寬消耗以滿足preferredPeakBitRate,則會在繼續播放項目的同時儘可能減少網絡帶寬消耗。

+0

@UwePlonus(和其他評論者:)這不是一個僅鏈接的答案。你有沒有注意到這個鏈接到實際的文檔? – Unihedron 2014-10-02 13:10:43

+0

擴展答案後,我的意見不再有效,因此刪除。 – 2014-10-02 14:37:06

相關問題