上个月帮朋友找一部老纪录片,星空下载他甩过来一个“星空视频”的视频链接,说只有这个平台有源。免费点开一看,星空下载720P,视频码率低得可怜,免费画面里人物边缘全是星空下载锯齿。他问我能不能扒下来,视频我说试试。免费结果折腾了四十分钟,星空下载换了两款工具,视频最后用浏览器插件嗅探到m3u8地址,免费再用ffmpeg合并,星空下载才算搞定。视频这事让我意识到,免费很多人对“免费下载”的理解,还停留在“复制链接就能存”的阶段。
星空视频本身不提供下载按钮,这是明摆着的。它的网页播放器走的是HLS协议,视频被切成无数个几秒长的ts片段,动态加载。你右键另存为,存下来的只是个播放列表文件,几KB,屁用没有。真正要拿到完整视频,得把那些碎片按顺序拼起来。这活儿浏览器干不了,得靠专门工具。
市面上号称能下星空视频的软件不少,我试过五六款。有的装完就弹广告,有的解析半天提示“该资源受保护”,还有的干脆是钓鱼——让你扫码付费。唯一靠谱的是yt-dlp,开源,命令行操作,支持几百个网站。用它下星空视频,先得抓包拿到真实的m3u8地址。Chrome按F12,切到Network面板,过滤“m3u8”,刷新播放页,一般能逮到。复制那个链接,丢给yt-dlp,加个--cookies-from-browser chrome参数,防止被反爬拦截。
速度取决于源站限速。我下那部纪录片,总共1.2G,平均速度2MB/s,花了十分钟。画质就是原画的720P,没有提升空间——你不可能从低码率源里榨出4K。有人问能不能只下音频,可以,加-x --audio-format mp3,但星空视频的音频也是AAC编码,转成MP3反而损失质量,不如直接留m4a。
手机端更麻烦。安卓可以用Termux装yt-dlp,但需要root权限才能访问浏览器cookie。iPhone基本没戏,iOS的沙盒机制卡死了本地解析。所以那些App Store里叫“星空视频下载器”的,全是套壳网页,点进去就让你看广告。别信。
法律上这事灰色得很。星空视频上的内容,有些是用户上传的,有些是它自己采买的。你下下来自己看,没人管。但要是传到网盘分享,或者剪成片段发抖音,那就踩线了。我见过一个案例,有人把星空视频的付费课程录屏打包卖,最后被平台起诉,赔了八千。技术本身无罪,用技术的人得拎得清。
还有个坑:m3u8地址有时效性。通常几小时后就失效,得重新抓。所以别想着“一次抓包永久可用”。我习惯用--no-part参数让yt-dlp直接写最终文件,避免产生一堆临时碎片。另外,如果视频有加密(#EXT-X-KEY),yt-dlp会自动请求密钥解密,但前提是你的cookie还有效。cookie过期了,就重新登录一次浏览器。
说到底,免费下载星空视频,本质是跟平台的反爬机制斗智斗勇。今天能用的方法,下个月可能就失效。与其收藏一堆教程,不如学会看开发者工具里的网络请求——那才是万变不离其宗的东西。我那个朋友后来问我,能不能写个一键脚本。我说不能,因为每个视频的加密方式、分片规则、鉴权逻辑都可能不一样。想省事,就老老实实开会员。想折腾,就备好命令行和耐心。没有第三条路。