前言
最近想看一些网络视频,但是很多时候网页上是m3u8推流的,如果在线看,速度又慢,所以就想下载下来,就想到了VLC的推流,转换能力,查阅资料,加上实践,总结心得。
设置中文
VLC下载下来,默认是英文的,macOS,通过顶部菜单栏找到"VLC"菜单,点击后选择"Preferences"

设置中文,方便遇到英语不好的时候,方便操作

浏览器抓取m3u8
浏览器打开m3u8的网页,然后按F12,打开网络,刷新网页

抓取带m3u8的url,拿到标头的URL
vlc转m3u8到mp4

打开网络

等待VLC下载,下载完成就可以本地播放了

已下载文件,因为有某企鹅logo,打了个码

通过ffmpeg下载m3u8
去www.ffmpeg.org下载安装

因为需要源码编译,所以选择已经打包好的安装,比如brew install ffmpeg,macOS可以去https://evermeet.cx/ffmpeg/
下载
linux 可以apt install ffmpeg,win可以下载已经打包好的安装包
然后使用
bash
ffmpeg -i http://.../xxx.m3u8 xxx地址的xxx文件.mp4
就可以下载文件了,其实原理跟vlc一样,应该说是vlc用的ffmpeg的能力,图形化封装
如果是https的url,那么需要openssl的支持,否则会报错

需要编译时加上--enable-openssl才行
总结
笔者在查资料发现有网站已经详细的说明了操作流程,可以直接去查看,本质上还是ffmpeg的应用How to Convert M3U8 to MP4 with VLC & Alternatives on Mac/Windows
通过这种方式就可以看m3u8的视频,而且网络卡顿时,可以下载视频文件,也可以直接用VLC视频播放器在线看,VLC播放器还解决了https源的问题。