下载ts流视频的成功方法
疫情當前,很多高水平的專家紛紛在網上開啟直播授課,有些授課內容價值連城,堪稱經典,值得珍藏。但是,實際情況是并不是所有的直播課程都能輕松下載,比如遇到了以“.ts”后綴的視頻流,就無法下載,欲哭無淚。怎么辦,想辦法。
1、什么是ts
網絡資料顯示:ts是日本高清攝像機拍攝下進行的封裝格式,全稱為MPEG2-TS。ts即"Transport Stream"的縮寫。MPEG2-TS格式的特點就是要求從視頻流的任一片段開始都是可以獨立解碼的。
有些網站上播放的視頻流,就是許多以.ts為后綴的極短視頻組成的。看到這里,初次接觸的小伙伴,肯定會想,那就把所有的.ts后綴的極短視頻都下載了,然后合并所有文件就行了。
這種思路完全沒有問題,但是一個60分鐘的視頻,可能就有上千個.ts文件,如果手動批量下載、再合并是一件很痛苦的事情。痛苦點有:
- 找到所有的.ts視頻文件名。由于視頻流邊播邊下的特點,要找到所有的.ts文件,要等到整個視頻播放完,才能獲得所有的.ts文件。
- 保證所有.ts視頻文件名排序正確。如果讓視頻流自動播放產生相應的.ts文件,那么視頻流的順序應該是正確的。如果播放過程中有拖拉,是否還能保證.ts視頻流的順序,就不好說了。有些帖子說.ts的命名都是很規則的遞增排列,但是我下載的一個視頻卻不是這樣。
- 下載所有的.ts視頻文件。把所有的.ts視頻文件名鏈接加載到迅雷下載中,可以完成批量下載,但是上千個文件,也是很容易出錯的。
- 合并所有的.ts視頻文件。我用了不知名的“ts合并工具”去合并,結果這個軟件輸出的內容驢唇對不馬嘴,不知道是不是處理的文件數太多的原因,whatever,不費時間去搞它了。
2、發現m3u8
總之,手工去下載這些.ts文件,真的是不歸路。無意之中,發現了以.m3u8為后綴的文件。原來,所有的.ts極短視頻文件的播放列表就保存在了這個文件之中。
知道.m3u8文件保存了所有.ts極短視頻文件的播放列表,就等于找到了第一個關鍵。那么,如何找到.m3u8文件就成了第二個關鍵。看了網上給出的一些建議,比如csdn一位網友給出的建議是:
- 首先使用Chrome打開網頁,單擊F12打開開發者工具 ;
- 開始視頻播放,在F12出來的界面中單擊Network 在Network中有文件列表;
- 檢查當中是否存在m3u8結尾的文件。
按照這個操作,我沒有找到.m3u8文件。我就下載了360瀏覽器,在功能拓展中添加了“貓抓”擴展應用,在播放視頻的時候,“貓抓”很快就抓到了.m3u8文件。把這個文件和查看網頁源代碼中找到的.m3u8文件對比,后者多了一些“u002F”等字符段。
3、自動下載視頻
這里用的還是上述那位csdn網友的方法,成功了。命令操作如下:
ffmpeg -i? ?你查找到的播放列表.m3u8 -c copy -bsf:a aac_adtstoasc 自定義文件名.mp44、安裝ffmpeg
ffmpeg是什么:FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。FFmpeg在Linux平臺下開發,但它同樣也可以在其它操作系統環境中編譯運行,包括Windows、Mac OS X等。引用csdn網友鎮上村樹的博客內容如下:
- 下載進入http://ffmpeg.org/download.html#build-windows選擇點擊打開鏈接Windows對應的版本下載
- 解壓到指定目錄;
- 將解壓后的文件目錄中 bin 目錄(包含 ffmpeg.exe )添加進 path 環境變量中;
- 進入 cmd,輸入?ffmpeg -version,可驗證當前系統是否識別 ffmpeg,以及查看 ffmpeg 的版本。
5、其他
按照以上操作,能夠完成.ts視頻流的下載。但是以下問題還有待解決:
- 如何快速方便的找到.m3u8文件?
- ffmpeg還能做些什么視頻操作?(http://www.ruanyifeng.com/blog/2020/01/ffmpeg.html)
- 有沒有其他更方便的方式?比如在Chrome中添加一個插件,就能一步到位。
總結
以上是生活随笔為你收集整理的下载ts流视频的成功方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【原创】不如预想的精彩—读《别闹了,费曼
- 下一篇: 9.深入浅出:集成运放内部电路分析——参