【iOS】HLS & m3u8

播放 線上串流 HLS

apple 支援

  • https://developer.apple.com/streaming/#streaming

  • 使用 framework

    • <AVKit/AVKit.h> : ios9 only
    • <AVFoundation/AVFoundation.h>
    • <MediaPlayer/MediaPlayer.h> : ios8 以下

mp4 -> m3u8轉換工具 : ffmpeg

因已安裝 homebrew 故

1
brew install ffmpeg

格式轉換

1
ffmpeg -i <filename>.mp4 -c:v libx264 -c:a copy -f hls <outputNmae>.m3u8

透過 safari 播放測試 m3u8

  1. 開啟 safari
  2. 將 url 放入即可

HLS Server

  • Web Server:提供 m3u8 播放清單。
  • Transcoder:若檔案內容並非 H.264 + AAC,那麼便需要進行轉檔。
  • Media Stream Segmenter:將欲播放的檔案切成 segment。