最近从 cctv.com 上下载视频越来越困难了,先是 mp4 直链被隐藏,然后 6 月份时 hls 域名的不花屏 m3u8 被隐藏,最后前两天 dh5 域名的不花屏 m3u8 也被隐藏。
下面的方法仅供学习研究使用!请于下载后24小时内删除下载的文件!
2025年3月更新,推荐使用此方法https://www.initialsky.com/2025/03/25/%e5%a4%ae%e8%a7%86%e7%bd%91%e8%a7%86%e9%a2%91%e4%b8%8b%e8%bd%bd%e8%a7%a3%e5%af%86/
方法一 缓存捕捉法
优点:
- 此方法不依赖其它域名,即使封杀所有不花屏域名依然可用
- 支持下载直播
缺点:
- 下载的文件音视频分离需要手动合并
- 需要把视频完整播放完
- 下载过程中如果遇到网络问题可能会导致视频丢帧
- 下载的视频 mediainfo 信息会出错
浏览器安装猫抓插件 https://github.com/xifangczy/cat-catch
或者也可以用 Cococut https://cococut.net
播放视频时开启缓存捕捉模式,视频放完后下载捕捉好的文件即可
可以用 Global Speed https://chromewebstore.google.com/detail/jpbjcnkcffbooppibceonlgknpkniiff
该插件支持16倍速播放视频,减少下载时间(前提是你网速要够,不然会丢帧)
网上也有人根据此方法开发了自动下载脚本,具体的软件可以搜索自行下载。
方法二 m3u8法
https://hls.cntv.cdn20.com/asp/hls/BITRATE/0303000a/3/default/GUID/BITRATE.m3u8
优点:
- 有固定公式,直接替换即可
- 下载速度快
- 支持批量下载
缺点:
- 可能会被封杀,强制返回最低分辨率视频
- 无法下载直播
- 部分视特殊频不支持下载
- 必须使用全局科学才可以访问
BITRATE
码率- 蓝光为
4000
- 蓝光新为
3000
- 超清为
2000
- 高清为
1200
- 标清为
850
- 流畅为
450
- 极速为
200
- 蓝光为
GUID
在视频播放页按下 f12,切换到网络标签,搜索vdn
即可看到,像这样https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=b5a9b53da6944983baba4bc9ccb801e2
举例: https://hls.cntv.cdn20.com/asp/hls/2000/0303000a/3/default/b5a9b53da6944983baba4bc9ccb801e2/2000.m3u8
方法三 mp4法
失效,Delete
补充说明
目前下载视频的最佳方式是通过node.js解密,详见https://www.initialsky.com/archives/104
如果你不能安装node.js,那么通过猫抓录制缓冲流也可以
如果你确实需要早期的flash视频或者mp4videoX开头视频,可以在评论区下面留下链接,我帮你下载以后上传到网盘上面。
最后再补充一下在没失效时能够下载到mp4文件的CDN域名吧(后面的是域名失效日期,所以大家不用试了全挂了)
方法2应该已经失效了,试了下只能下载270p了。
方法3可用,但是方法3的分段得自己算,还挺烦的。
方法三也不是所有视频都能下载,有一些特别老的视频下不了。不过特别老的视频好像也没有高清版本。
我测试过,方法三可以下载2013年以后的所有视频。
博主你好,问下我用方法三下载2022年之前的《共同关注》好像不符合格式,尝试https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2016/07/02/ef66f9b8fe1b40eab2ad645f39286e9c_h2642000000nero_aac16-1.mp4把序号XX从00-63都试了,以及码率分别试了2000000,818000,418000都不行,想请教下博主还有什么经验吗?
先用方法一吧
很久以前有些节目命名方式是拼音首字母,后来才改成现在的 guid 命名(其实是个 flv 转 mp4/ts 的 nginx 前端…)
先用新版通用 m3u8 接口吧(只有 360p 不需要特殊处理):
https://newcntv.qcloudcdn.com/asp/hls/main/0303000a/3/default/ef66f9b8fe1b40eab2ad645f39286e9c/main.m3u8?maxbr=2048
576p (混淆编码,需要用 https://scz.617.cn/web/202408231518.txt 中的 “ node ts_decrypt.js 源文件名 新文件名 ” 方法复原正确的数据)
https://dh5.cntv.myalicdn.com/asp/h5e/hls/2000/0303000a/3/default/ef66f9b8fe1b40eab2ad645f39286e9c/2000.m3u8
在2007年到2008年之间旧的flv视频文件我有一个专门的表,里面的链接有上万个。
2008年到2013年之间的文件格式经常变动。我见过的就有flv、wmv、mp4、ts。文件下载链接更是五花八门,有带unix时间戳的、有带guid的、还有wmv/flv转成mp4的,还有一大堆2006年甚至2005年的视频。
那个好像是节目片段,把-1去掉,超过2分钟以上才加-1
猫爪的缓存捕捉法最好!2025年4月21日实测还可以用。
博主,ncpa那个域名失效了,目前只能用之前那个cdnsrc.v.cctv.com(v.cctv.com)了
博主,建议在mp4那里补充一点:域名有可能会被封杀或者限制mp4文件或下载速度
mp4文件目前是单线程连接限速50k,用idm或者迅雷之类的软件多线程下载就好了
今天看了一下ncpa,又能下载mp4了
好像只能下载2010的部分mp4
ncpa的域名后端一直都有文件,是靠前置的CDN来控制访问的。有些视频CCTV不想让你看(可能是防止滥用),就会在CDN配置文件里面加上限制。
guid视频的mp4视频现在已经全部403了,看来这几天只能用猫抓和node解密了
包括2009年上半年的qgds null的mp4视频和2009.6-2010.9的标清画质视频
查看图片
好像也不行了
博主,FLV现在也不行了
https://vod.cntv.lxdns.com/flash/wwwwxinwen/2007/05/wwwwxinwen_300_20070505_2.flv
https://ncpa.cntv.lxdns.com/flash/wwwwxinwen/2007/05/wwwwxinwen_300_20070505_2.flv
https://cdnsrc.v.cctv.com/flash/wwwwxinwen/2007/05/wwwwxinwen_300_20070505_2.flv
CR下载器v1.9.4.5最终用了node.js方案,解愁
目前mp4的域名是只要识别到非h264418000nero/h264200000nero的mp4和flv格式(假链接也一样)会403
比如vod.cntv.lxdns.com/.mp4
v.cctv.com是只要第一个文件夹是flash就会跳转到cdnsrc
央视这个vod链接下面其实不止有视频文件,还有图片、html和flash文件,还有很多我们都不知晓的文件。里面甚至还有用户自己上传的视频。真正公布在网页上面的,不到它们所有视频文件的一半。