有些網站使用 flash 在線播放視頻,不方便進行下載。html
能夠使用 Chrome 的 Developer Tools 模擬成 iOS 設備(經過修改 User Agent),而後取得 h.264 視頻流的地址。html5
取得 h.264 視頻流的地址瀏覽器
1. 在頁面上打開 Developer Tools (開發者工具),點擊坐上的"手機"按鈕(以下圖)。cookie
2. 在左邊 "Device" 選擇 "Apple iPhone" 或 "Apple iPad" 等設備,刷新頁面。工具
3. 這時頁面應該會提供 html5 的視頻播放支持,定位到播放器元素,找到數據源連接(一般是一個 m3u8 文件)。網站
如何下載分段並加密的 .m3u8 視頻流加密
1. 下載一個編譯好的 ffmpeg 可執行文件(http://ffmpeg.org)。插件
2. 使用命令 ffmpeg -i http://...m3u8 -c copy out.mkv 將視頻流下載併合併成 out.mkv。視頻
4. 若是視頻流並未加密,或者加密密鑰(URI 存在於 m3u8 中)能夠直接經過 http 訪問到,一般能夠正常下載(這種狀況通常也能夠用各類瀏覽器視頻下載插件下載),但若是 URI 經過 https 協議,或者有 cookies 驗證等機制,則須要手動下載密鑰。htm
5. m3u8 中的密鑰一般是這樣的:#EXT-X-KEY:METHOD=AES-128,URI="https://xxx" 這時須要用可以在線觀看到這個視頻的瀏覽器會話去訪問這個 URI (經過 cookies 驗證),並保存到本地,把 m3u8 也保存到本地,密鑰的 URI 改成下載好的本地路徑(一個 m3u8 中可能有多個密鑰,須要一一處理)。
6. 再次執行 ffmpeg 的命令,便可正常下載。
注:
使用 ffmpeg 沒法直接下載 m3u8 內容的狀況:
1. m3u8 中的密鑰的 URI 是走 https 協議的(這時 ffmpeg 通常會提示不支持 https 協議,但能夠經過本身編譯一個 ffmpeg 來打開 https 的支持)。
2. URI 有 cookies 認證(這種狀況應該只能用瀏覽器先下載密鑰了)。