使用FFmpeg下载m3u8格式视频

2021-01-04 09:48:18 浏览数 (1)

最近在看电视剧《百岁之好,一言为定》,昨天看到了24集,后面的4集只有超前点播才能看了!我还不想等着。作为一个程序员,必然会找资源、下载资源。哈哈!

具体的目标网站就不展示了,毕竟是国外的非备案网站(大家都懂的哈~~)。网页中视频源格式为m3u8,使用的是.ts文件格式分片。下面介绍一下m3u8是什么东西。

m3u8

m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8。

m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。

数据来源:太平洋IT百科

这样的视频文件网络上有很多的下载器,个人也查看了一些,但是没有去使用。大部分的原理都是通过ffmpeg去实现的下载功能,实现了可视化的操作,减少了用户的操作难度。

这里再给大家介绍一个普通人就能下载的资源的方式,纯小白、操作极为简单。

使用手机下载QQ浏览器,将需要看的视频地址打开,使用浏览器右上角的工具箱功能,打开后找到资源嗅探功能,点击就可以看到提示有资源啦,即可下载啦,还支持边看边播模式。推荐小白使用。

继续回来说一下什么是ffmpeg

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。FFmpeg编码库可以使用GPU加速

数据来源:百度百科

简单的来说ffmpeg就是专门处理视频的开源程序。

说了这么多,很多人都看烦了吧!那么直接说一下如何通过使用ffmpeg来下载合成视频文件

一、下载ffmpeg程序,这里我给大家提供一个下载地址。百度云https://pan.baidu.com/s/19kjElo35GIixDrk6m_6xwA,提取码:k7gx ,也可以从其他网络途径下载。将下载后的程序进行解压,找到ffmpeg.exe目录,复制其文件夹路径,如下图一,然后进入到环境变量设置,以win10为例,我的电脑-右键-属性-高级系统设置-环境变量。找到path,点击编辑如下图二。点击新建,粘贴目录路径,确定即可。如图三

图一

图二

图三

二、使用浏览器打开网站,找到观看视频地址,以谷歌浏览器为例,按下F12,在控制台中找到network,在功能区筛选框内输入 m3u8 ,进行搜索找到第二个符合文件,点击查看详情,复制右侧请求地址路径到记事本中。便于后续编辑。

三、复制下方命令

代码语言:javascript复制
ffmpeg -i 待替换视频地址 -c copy -bsf:a aac_adtstoasc ./生成视频文件名称.mp4

将我们找到的m3u8地址替换为真实的地址,也可以将视频的文件名称进行重新编写,便于区分多个视频文件。

四、将替换后的命令进行复制,得到一个如下格式的命令

代码语言:javascript复制
ffmpeg -i https://yuledy.helanzuida.com/20201228/17296_a03b1fe2/1000k/hls/index.m3u8 -c copy -bsf:a aac_adtstoasc ./26.mp4

五、在保存视频的目标文件夹中,按住shift 右键,打开命令行窗口,粘贴刚刚的命令,回车就可以下载视频啦!

看一下视频的下载结果吧!

0 人点赞