网站播放的视频怎么下载
打开开发者工具,网站切到 Network 面板,播放刷新页面,频下找到那个体积最大的网站 .mp4 或 .m3u8 请求——右键,Copy as cURL。播放这是频下目前抓网页视频最稳的路子,没有之一。网站上周我想存一段 TED 演讲,播放页面上没有任何下载按钮,频下用这招前后不到两分钟就拿到了 1080p 的网站源文件。 但这个方法有个前提:视频不是播放以 blob: 开头的地址加载的。blob 意味着视频流被 MediaSource 接管了,频下你复制 cURL 拿到的网站是一堆碎片。遇到这种情况,播放得换个思路。频下 直接右键查看网页源代码,搜索 .mp4、.m3u8、.ts 这几个关键词。搜到 .mp4 结尾的链接,恭喜,直接扔进浏览器地址栏就能下载。搜到 .m3u8,说明视频被切成了无数个小片段,用普通下载工具搞不定,需要 ffmpeg 或者 N_m3u8DL-RE 这类工具来合并。 我试过用 ffmpeg 下载一个 m3u8 视频,命令就一行: Video DownloadHelper 这个老牌扩展到现在还能打。安装后页面上会出现一个彩色圆球图标,能抓到的视频它会亮起来,点一下就能选分辨率下载。缺点是有些网站会检测到扩展并屏蔽,比如 Netflix 和 B 站的部分版权内容。另一个选择是猫抓,国内用户做得更接地气,支持 m3u8 合并,还能嗅探到一些加密视频的密钥。 不过扩展这东西装多了浏览器会变卡,我一般只在需要的时候临时启用。 Android 可以用 1DM 或者 ADM,它们内置了浏览器和嗅探功能,打开视频页面会自动弹出下载提示。iOS 就费劲了,Safari 本身不给你看网络请求,得用 Documents 这类带浏览器功能的 App,或者干脆在电脑上下好了再传过去。 有个野路子:把视频页面分享到微信文件传输助手,在电脑上打开链接再抓。虽然绕,但有时候能绕过手机端的限制。 有些网站用 AES-128 加密 m3u8,密钥藏在另一个请求里。N_m3u8DL-RE 能自动处理这种,只要密钥没被混淆得太离谱。更狠的是 Widevine DRM,那基本没戏,别浪费时间。我碰到过某个在线课程网站用 DRM 保护,试了各种工具都只拿到雪花屏,最后老老实实录屏。 录屏其实是个兜底方案。OBS Studio 免费,设置好窗口捕获和音频输出,画质损失可控。就是得实时录,一个两小时的视频就得录两小时,硬盘空间也得留够。 下载下来的 .ts 文件别直接改后缀成 .mp4,大部分播放器不认。必须用工具合并。还有,有些网站会检测 User-Agent,用 ffmpeg 的时候加上 另外注意版权。自己看没问题,传得到处都是就可能收律师函。我之前把一段公开课视频传 B 站,第二天就被下架了,理由是“未经授权搬运”。 说到底,能不能下载取决于网站愿意让你多容易拿到文件。技术手段一直在变,今天能用的方法下个月可能就失效。保持折腾的心态就行。先搞清楚网站用的是什么播放方式
ffmpeg -i "视频地址.m3u8" -c copy output.mp4。速度取决于服务器切片响应快慢,一般比在线看稍微慢一点,但画质无损。浏览器扩展能省不少事
手机上的情况稍微麻烦点
那些加密的视频怎么办
几个容易踩的坑
-user_agent "Mozilla/5.0..." 能解决一部分 403 错误。
-
上一篇
-
下一篇