最近从 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法
>https://ncpa.cntv.lxdns.com/flash/mp4videoXX/TMS/YYYY/MM/DD/GUID_h264BITRATEnero_aacABITRATE-PART.mp4
优点:
- 下载速度快
- mp4格式无需支持无损合并
缺点:
- 需要尝试链接,你不一定能试出来
- 无法下载直播(直播下载接口已于2020年关闭)
按照上面公式替换即可
XX
代表数字编号,2020 年以后均为63
,更早的视频需要你一个一个往前尝试,部分视频存在试不出来的情况YYYY
年MM
月DD
日GUID
在视频播放页按下 f12,切换到网络标签,搜索vdn
即可看到,像这样https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=b5a9b53da6944983baba4bc9ccb801e2
BITRATE
码率- 蓝光为
4000000
- 蓝光新为
3000000
- 超清为
2000000
- 高清为
1200000
- 标清为
818000
- 流畅极速为
418000
- 蓝光为
ABITRATE
音频码率- 蓝光为
192
- 高清超清为
16
- 标清流畅为
32
- 蓝光为
PART
代表分段,2~5 分钟一段,你用视频总时长除一下就知道有多少段了
以航拍中国辽宁篇为例
- 高清 2000k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2022/12/07/b5a9b53da6944983baba4bc9ccb801e2_h2642000000nero_aac16-1.mp4
- 高清 1200k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2022/12/07/b5a9b53da6944983baba4bc9ccb801e2_h2641200000nero_aac16-1.mp4
- 标清 850k;
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2022/12/07/b5a9b53da6944983baba4bc9ccb801e2_h264818000nero_aac32-1.mp4
- 流畅 450k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2022/12/07/b5a9b53da6944983baba4bc9ccb801e2_h264418000nero_aac32-1.mp4
- 一部分视频还有 4000k 码率:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2020/04/28/054c22cc80b343489b8b87a71ef09f41_h2644000000nero_aac192-1.mp4
此外还有一种格式,只存在于近两年,多见于 4k 频道 公式: > https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/YYYY/MM/DD/GUID_BITRATE_h264_BITRATE2_aac_ABITRATE.mp4
YYYY
年MM
月DD
日GUID
在视频播放页按下 f12,切换到网络标签,搜索vdn
即可看到,像这样https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=8bd721a650ab86633aabd7252c998a40
BITRATE
码率- 超清为
2000
- 高清为
1200
- 标清为
850
- 流畅为
450
- 极速为
200
- 超清为
BITRATE2
码率- 超清为
1872
- 高清为
1072
- 标清为
818
- 流畅为
418
- 极速为
184
- 超清为
ABITRATE
音频码率- 高清超清为
128
- 标清流畅为
32
- 极速为
16
- 高清超清为
- 这里存在一个换算公式:
BITRATE2 + ABITRATE = BITRATE
- 举例
- 极速 200k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2020/04/11/8bd721a650ab86633aabd7252c998a40_200_h264_184_aac_16.mp4
- 流畅 450k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2020/04/11/8bd721a650ab86633aabd7252c998a40_450_h264_418_aac_32.mp4
- 标清 850k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2020/04/11/8bd721a650ab86633aabd7252c998a40_850_h264_818_aac_32.mp4
- 高清 1200k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2020/04/11/8bd721a650ab86633aabd7252c998a40_1200_h264_1072_aac_128.mp4
- 高清 2000k:
https://ncpa.cntv.lxdns.com/flash/mp4video63/TMS/2020/04/11/8bd721a650ab86633aabd7252c998a40_2000_h264_1872_aac_128.mp4
- 极速 200k:
关于蓝光和蓝光新的区别
旧版蓝光码率为 4000k,新版蓝光码率为 3000k,新版蓝光是今年才出现的。
如果你有下载不下来的视频,可以在评论留下链接,我帮你看看
方法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年的视频。