iOS根據(jù)ts文件路徑封裝成m3u8文件及m3u8播放

置頂感謝:

http://www.itdecent.cn/p/4b15f79cdc33
http://www.itdecent.cn/p/75aa645531d2

??首先聲明,我對m3u8和ts視頻文件和視頻播放流媒體相關的知識并不懂。我寫這個博客只是為了記錄一下我開發(fā)中遇到的問題和我的解決思路,如果能幫到你就更好了。

我的需求

??開會時提到,應用中已有直播功能,需要做直播回放。后臺初始計劃返回ts 文件的完整地址(http://xxxxxxx.ts)列表樣式。一頭霧水,跳進百度谷歌開始各種查。下面是我查到的我認為有效的信息。

資料查詢

??m3u8這個文件可以用你可以下載下來,用txt格式打開看下,基本上文件并不大,打開來看就是一個列表,除去開頭的和結尾的一些信息以外,中間部分的意思就是某個ts文件(一般用的都是相對路徑)有多久的播放時長,m3u8相當于把這些片段連起來,構成一個完整的視頻。

??所以,對于當前項目的需求的話,解決思路就是通過后臺提供的ts文件路徑表,我在App端創(chuàng)建一個m3u8文件,然后根據(jù)m3u8的格式,創(chuàng)建一個字符串寫入到m3u8文件中。然后,用播放器去播放本地的m3u8文件。至此,我以為可以,但是并沒有播放出來。

嘗試方案:

先列出來我的嘗試方案:
1.本地創(chuàng)建m3u8文件,文件中寫入頭尾數(shù)據(jù)和ts播放列表(相對路徑)。 結果:失敗(原因:播放器讀取這個m3u8 文件之后,根本找不到ts文件,肯定播放失敗);
2.本地創(chuàng)建m3u8 文件,文件中寫入頭尾數(shù)據(jù)和ts播放列表(完整路徑)。結果:失?。ň唧w原因不詳);
3.本地創(chuàng)建m3u8 文件,并且把ts文件下載到和m3u8 同一個文件夾下,m3u8 文件中寫入頭尾數(shù)據(jù)和ts播放列表(相對路徑)。結果:失敗(具體原因不詳,但是應該和嘗試方案2原因類似)。

??大致嘗試了以上三種方案,均以失敗告終,于是又跳進百度谷歌各種查,發(fā)現(xiàn)這篇博客。需要搭載一個本地服務器,我的嘗試方案2哥方案3好像就缺少了這個環(huán)節(jié)。果真,按照這篇博客的介紹,給我的代碼稍作改動,視頻播放出來了,大功告成。

結論:

??總結:iOS 播放ts文件,需要先根據(jù)ts文件名列表生成m3u8文件,(如果m3u8 中放的是ts的相對路徑,需要把ts文件下載到和m3u8 同樣目錄下).在手機本地搭載本地服務,即可播放。方案總結如下:


iOS播放TS文件思路圖.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,171評論 3 119
  • 今晚去臨淄中學參加少兒春晚的第一次彩排,本來要求是孩子們自己進去的,但是古箏太重,孩子們提不動,40多人...
    開心靖雯閱讀 209評論 0 0
  • 一直以來,我不大喜歡母親。 小時候,她只農(nóng)忙時在家,平時都在縣城里做些小買賣,一年還能見上幾面;我讀初中的時候,她...
    圓圓2408閱讀 535評論 1 1
  • 稼軒墓上草青青, 墨客文人稀此行。 我到墳前同悲愴, 聽風尚作鐵馬鳴。
    山水野客閱讀 255評論 0 0
  • 今日閱讀P144-154 分享金句 1. 真正有愛的人,絕不會隨意指責愛的對象,或與對方發(fā)生沖突。他們竭力避免給對...
    Maple_4ad3閱讀 209評論 0 0

友情鏈接更多精彩內(nèi)容