如何下载优酷 m3u8 格式的视频文件?
mp4
平常最熟悉的视频文件格式就是mp4了,比如这个微博视频就是mp4格式https://weibo.com/tv/v/I6NlI3XNO?fid=1034:4416174394388093
通过一键视频下载器扩展获取mp4文件地址https://f.video.weibocdn.com/000ayK6Dlx07wZwKH7lu01041200prjS0E010.mp4?label=mp4_hd&template=640x396.24.0&trans_finger=ac6fb6d5c49a67fe2901ae638b222ab2&Expires=1568554727&ssig=ZtEl%2F7uG8e&KID=unistore,video
然后直接用浏览器下载就可以了。
那m3u8又是什么呢?
m3u8
M3U是一种播放多媒体列表的文件格式,它的设计初衷是为了播放音频文件,比如MP3,但是越来越多的软件现在用来播放视频文件列表,M3U也可以指定在线流媒体音频源。很多播放器和软件都支持M3U文件格式。
M3U8是Unicode版本的M3U,用UTF-8编码。"M3U"和"M3U8"文件都是苹果公司使用的HTTP Live Streaming格式的基础,这种格式可以在iPhone和Macbook等设备播放。
以上来自维基百科解释。
m3u8是HTTP Live Streaming直播的索引文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。
优酷视频播放的文件就是m3u8格式,比如这个视频 周杰伦电影《不能说的秘密》你看过吗
https://v.youku.com/v_show/id_XMjg5MDQxOTc2MA==.html?spm=a2h0k.11417342.soresults.dtitle
通过控制台可以看到m3u8文件地址 https://pl-ali.youku.com/playlist/m3u8?vid=XMjg5MDQxOTc2MA&type=mp4&ups_client_netip=3b6d992c&utid=M196FRgJHVwCAXb3FB8gYVHW&ccode=0502&psid=f50f79c10a8678682848a73d82d3716a&app_ver=1.8.1&duration=298&expire=18000&drm_type=1&drm_device=7&play_ability=5376&media_type=standard,subtitle&ups_ts=1568551492&onOff=0&encr=0&ups_key=11ea864efe421edbefa4aaa770c2b741
把这个文件下载到本地可以看到内容:
#EXTM3U
#EXT-X-TARGETDURATION:12
#EXT-X-VERSION:3
#EXTINF:6.0,
http://ykugc.cp31.ott.cibntv.net/6574C0B44B8357159B75639A8/03000201005968368A9A59456709F2F71EACA8-CD59-5E8E-E5CC-BCC4CD6E539C.flv.ts?ccode=0502&duration=298&expire=18000&psid=f50f79c10a8678682848a73d82d3716a&ups_client_netip=3b6d992c&ups_ts=1568551492&ups_userid=&utid=M196FRgJHVwCAXb3FB8gYVHW&vid=XMjg5MDQxOTc2MA&sp=&bc=2&vkey=Ae1f41ad7d602251c773d68dc69615287&ts_start=0.0&ts_end=5.9&ts_seg_no=0&ts_keyframe=1
#EXTINF:6.0,
http://ykugc.cp31.ott.cibntv.net/6574C0B44B8357159B75639A8/03000201005968368A9A59456709F2F71EACA8-CD59-5E8E-E5CC-BCC4CD6E539C.flv.ts?ccode=0502&duration=298&expire=18000&psid=f50f79c10a8678682848a73d82d3716a&ups_client_netip=3b6d992c&ups_ts=1568551492&ups_userid=&utid=M196FRgJHVwCAXb3FB8gYVHW&vid=XMjg5MDQxOTc2MA&sp=&bc=2&vkey=Ae1f41ad7d602251c773d68dc69615287&ts_start=5.9&ts_end=11.9&ts_seg_no=1&ts_keyframe=1
播放视频的时候就是播放这样一段一段的ts文件 http://ykugc.cp31.ott.cibntv.net/6574C0B44B8357159B75639A8/03000201005968368A9A59456709F2F71EACA8-CD59-5E8E-E5CC-BCC4CD6E539C.flv.ts
m3u8格式的文件用QQ影音这样的软件没法直接播放的,这就需要将m3u8转换为mp4格式了,推荐一个非常好用的命令行工具ffmpeg 。
ffmpeg
FFmpeg 是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。
直接在官网下载就好 https://ffmpeg.org/ ,然后打开命令行直接输入ffmpeg -i "https://pl-ali.youku.com/playlist/m3u8?vid=XMjg5MDQxOTc2MA&type=mp4&ups_client_netip=3b6d992c&utid=M196FRgJHVwCAXb3FB8gYVHW&ccode=0502&psid=f50f79c10a8678682848a73d82d3716a&app_ver=1.8.1&duration=298&expire=18000&drm_type=1&drm_device=7&play_ability=5376&media_type=standard,subtitle&ups_ts=1568551492&onOff=0&encr=0&ups_key=11ea864efe421edbefa4aaa770c2b741" -vcodec copy -acodec copy -absf aac_adtstoasc 不能说的秘密短片.mp4
等待一会就能下载到本地。
当然也可以将mp4转换为m3u8格式,直接ffmpeg -i 不能说的秘密短片.mp4 -c copy -bsf h264_mp4toannexb 不能说的秘密短片.ts
,然后再将ts文件切片生成m3u8文件,更多 ffmpeg 的使用可以参考我之前的文章ffmpeg 将视频转GIF
不过用命令行有点麻烦而且对普通人有点难度,还好有人开发了M3U8批量下载器,复制上面的m3u8地址就能直接下载了,公众号回复 m3u8
获取软件。
有了 ffmpeg 和之前我之前说的那些工具 那些你可能不知道的视频下载奇技淫巧 ,几乎任何视频网站的视频都可以自由下载了(付费除外)。
如果文章对你有帮助,还望不吝点个在看支持我写下去的动力,感谢。
推荐阅读: