--- layout: post # 使用的布局(不需要改) title: Linux下载m3u8流视频并合并ts文件 # 标题 subtitle: 使用FFMpeg合并ts文件 #副标题 date: 2019-10-18 # 时间 author: Duter2016 # 作者 header-img: img/home-bg.jpg #这篇文章标题背景图片 header-mask: "0.1" # 博文页面上端的背景图片的亮度,数值越大越黑暗 catalog: true # 开启catalog,将在博文侧边展示博文的结构 istop: false # 设为true可把文章设置为置顶文章 music-id: # 网易云音乐单曲嵌入 music-idfull: # 网易云音乐歌单嵌入 tags: #标签 - 视频 - 网页 --- 有时,我们在下载网页视频时,会遇到一些m3u8流视频,下载比较麻烦!下面梳理一下我的方法。 ### 1.在浏览器安装“猫抓”扩展 在谷歌浏览器或者你使用的其他Chrome的套壳浏览器的扩展应用中心,搜索并安装“猫抓”扩展。 PS.如果你用的是火狐等其他浏览器,你只要安装一个支持抓取m3u8流视频ts文件的扩展也可以。 ### 2.安装 FFMpeg FFMpeg 是一个视频编码处理的神器。 在linuxmint等的软件管理器中,安装上FFMpeg。 windows也可以安装,方法网上很多,自己搜索。 ### 3.下载m3u8流视频文件 (1)打开你要下载的视频网页,然后等视频加载出来后,点击“猫抓”扩展,然后点击如下图所示的放大镜图标: ![title](https://raw.githubusercontent.com/Duter2016/GitNote-images/master/Images/2019/10/18/m3u8%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD01-1571398937479.png) (2)弹出“猫抓m3u8解析”页面,如下图,然后点击下方的“下载文本格式”,你会下载得到一个m3u8.txt文件: ![title](https://raw.githubusercontent.com/Duter2016/GitNote-images/master/Images/2019/10/18/m3u8%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD02-1571398947472.png) (3)打开uget,或者其他支持批量下载的下载器,依次打开“文件--批量下载--导入文本文件”,开始下载所有的ts视频文件: ![title](https://raw.githubusercontent.com/Duter2016/GitNote-images/master/Images/2019/10/18/m3u8%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD03-1571399038340.png) ### 4.使用FFMpeg进行ts视频文件的批量合并 批量合并视频,FFMpeg 需要知道被合并视频的位置和顺序。因此我们建立一个 file.txt 文件来告诉它。文件内部格式如下: ``` file 'path/path1/file001.ts' file 'path/path1/file002.ts' ``` 前面为关键词 file, 后面跟上视频的地址和名字。FFMpeg 将会按照 txt 文件中的顺序将视频合并。 我们已经下载得到一个m3u8.txt文件,因此,我们只需要修改一下这个文件就可以了。用文本编辑器打开m3u8.txt文件,使用“查找和替换”功能, 把m3u8.txt文件中每一行的格式修改为符合上述格式的文本,如下图我的修改: ![title](https://raw.githubusercontent.com/Duter2016/GitNote-images/master/Images/2019/10/18/m3u8%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD04-1571399047879.png) 然后,打开终端,并定位到当前目录,执行如下命令即可: ``` ffmpeg -f concat -safe 0 -i m3u8.txt -vcodec copy -acodec copy xgdj.mp4 ``` 其中,“xgdj.mp4”你可以把“xgdj”修改为你需要的名字。 OK!大功告成!