这次先来看一下vdn返回的响应吧。
先拿一个示例请求来看看,链接是https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=04a9d0abc9234716b574504290a15352
{
"ack": "yes",
"status": "001",
"is_preview": "0",
"tag": "健康之路,冀玉华,当归,黄芪,肉苁蓉,养生药膳",
"title": "《健康之路》 20251128 用对补药来养生(上)",
"play_channel": "CCTV-10高清",
"produce": "",
"editer_name": "liyuanyuan",
"produce_id": "wxsb01",
"column": "健康之路高清",
"f_pgmtime": "2025-11-28 18:53:54",
"segments": [
{
"guid": "24f71c11a3914d05b4b9c1c143d37b42",
"title": "[健康之路]用对补药来养生(上) 当归",
"start": 56680,
"end": 765640
},
{
"guid": "0d90c19c2d9642ccb21d0e2b67e8c09d",
"title": "[健康之路]用对补药来养生(上) 黄芪",
"start": 778240,
"end": 1738720
},
{
"guid": "5651559754f043c6aec1a631ca351e2a",
"title": "[健康之路]用对补药来养生(上) 肉苁蓉",
"start": 1754400,
"end": 2298640
}
],
"image": "https://p5.img.cctvpic.com/fmspic/2025/11/28/04a9d0abc9234716b574504290a15352-1.jpg",
"cdn_info": {
"cdn_vip": "vod.cntv.lxdns.com",
"cdn_code": "VOD-MP4-CDN-CNC",
"cdn_name": "3rd网宿"
},
"video": 此处是视频分块,太长了省略
"hls_cdn_info": {
"cdn_vip": "hls.cntv.lxdns.com",
"cdn_code": "VOD-HLS-CDN-CNCNEW",
"cdn_name": "3rd网宿-新"
},
"hls_url": "https://hls.cntv.lxdns.com/asp/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048",
"asp_error_code": "0",
"manifest": {
"audio_mp3": "https://dhlsaliwx01.v.cntv.cn/asp/audio/0/4/a/9/04a9d0abc9234716b574504290a15352/mp3/main.m3u8",
"hls_audio_url": "https://dhlsaliwx01.v.cntv.cn/asp/hlsaudio/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8",
"hls_enc_url": "https://dhlsaliwx01.v.cntv.cn/asp/enc/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048&contentid=18120319242338",
"hls_h5e_url": "https://dh5wswx02.v.cntv.cn/asp/h5e/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048&contentid=15120519184043",
"hls_enc2_url": "https://dhls2.cntv.cdn20.com/asp/enc2/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048&contentid=16121029231855"
},
"client_sid": "6m9b7S7mpR/idtHcCinq+Gt6rgHi6pgkBYLN8ByFlm0=",
"public": "1",
"is_invalid_copyright": "0",
"is_protected": "0",
"is_fn_hot": "true",
"is_p2p_use": true,
"default_stream": "chapters3",
"lc": {
"isp_code": "",
"city_code": "",
"provice_code": "",
"country_code": "CN",
"ip": "100.125.151.10"
},
"is_ipad_support": "true",
"version": "0.2",
"embed": "",
"is_fn_multi_stream": false
}
先看一下它的结构吧
"ack": "yes"代表请求被成功处理
"status": "001"是视频状态,目前有四种状态代码001-004。
001代表正常,002代表前端隐藏,003代表后端删除,004代表GUID没有存在过,可能是你打错了。
"is_preview": "0"预览状态
"tag": "健康之路,冀玉华,当归,黄芪,肉苁蓉,养生药膳"标签
"title": "《健康之路》 20251128 用对补药来养生(上)"标题
"play_channel": "CCTV-10高清"频道
"produce": ""生产编号
"editer_name": "liyuanyuan"编辑姓名
"wxsb01"生产ID,这里面的wx指的应该是江苏省无锡市新吴区CNTV央视国际网络有限公司
"column": "健康之路高清"栏目名称
"f_pgmtime": "2025-11-28 18:53:54"节目时间
"segments"相关视频
"image"视频封面链接
下面是CDN信息了
CCTV现在有四种m3u8链接和一种mp4链接。我不知道为什么要编码这么多相同码率重复的版本。
"cdn_info"MP4格式的CDN链接,原来有华为和腾讯云之类的CDN,现在只剩网宿了。而且全都403了。(注意只是CDN层面的限制,后端依然有文件)
"video"视频分块,就是原来的mp4video63链接,现在已经不返回了。
"hls_url": "https://hls.cntv.lxdns.com/asp/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048"HLS的视频播放CDN链接,这个链接是给投屏用的。现在好像只剩网宿和腾讯云的CDN了,而且会强制返回最低的分辨率。最早大家就是用这种方法下载的。
"audio_mp3": "https://dhlsaliwx01.v.cntv.cn/asp/audio/0/4/a/9/04a9d0abc9234716b574504290a15352/mp3/main.m3u8"音频文件的MP3链接,应该是用于央视影音客户端听视频功能的。
"hls_audio_url": "https://dhlsaliwx01.v.cntv.cn/asp/hlsaudio/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8"音频文件的M3U8链接,应该是用于央视影音客户端听视频功能的。
"hls_enc_url": "https://dhlsaliwx01.v.cntv.cn/asp/enc/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048&contentid=18120319242338"用于央视影音电脑版APP和手机版APP在线播放视频的链接。目前无法解密。
"hls_h5e_url": "https://dh5wswx02.v.cntv.cn/asp/h5e/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048&contentid=15120519184043"用于www.cctv.com和www.cntv.cn在线播放视频的链接。2025年8月前可以解密,2025年8月后改用wasm和jvm加密,解密难度高。目前无法解密。
"hls_enc2_url": "https://dhls2.cntv.cdn20.com/asp/enc2/hls/main/0303000a/3/default/04a9d0abc9234716b574504290a15352/main.m3u8?maxbr=2048&contentid=16121029231855"用于央视影音PC版与手机版下载或缓存文件的链接。2025年11月强制降级分辨率为360p,即使用电脑或手机版本的央视影音缓存下来也是360p。可以解密。另外这个CDN拉黑了CCTVVideoDownloader这个项目所使用的UA,是专门给这个软件拉黑的,因为你把UA里面的x64改成x86都能200OK。
再后面的内容就是一些播放信息了。不过要注意的是,CCTV已经全面启用PCDN,所以你可以看到网页端有个"is_p2p_use": true。当然这个PCDN网页端很少遇到,因为现在主流浏览器都有强制HTTPS,不过要是客户端的话,那就多了,甚至还有用UDP播放视频的。
好了,讲了这么多现在讲一下怎么下载视频吧。
首先是我们目前有5个链接能下载。
- mp4是不加密的分片,用于最早的flash播放器。我不知道flash已经退役这么多年为什么CCTV还在留着这些视频。
- hls是不加密的,CDN限制了返回的分辨率。CDN回源有签名,所以不能回源改hosts下载。
- dhls/enc是完全花屏的而且所有解密逻辑都在客户端里,没有有效的方式。CDN回源无签名,但是你解不了所以没啥用。
- dhls2/enc2目前可解,但是CDN限制了返回的分辨率。CDN回源无签名,但是估计马上就要加签名。
- dh5是25年8月以前的可以解密,8月以后的视频更新了算法,新算法解密难度高,解不了。CDN回源无签名,但是你解不了所以没啥用。
对于不同时期的视频所采取的下载方法也不一样
- 下载视频之前先检查一下最原始的hls链接的视频是否花屏,如果不花屏的话算你捡到了,直接找个m3u8下载器下载然后ffmpeg合并就行。
- 2007年-2009年的分段flv和mp4视频,需要在评论区留下GUID我帮你下,或发信至cape4096@outlook.com,不保证成功率。
- 2009年年的m3u8链接,可以直接使用最早期不加密低分辨率hls域名下载,因为这些视频本来也没有高分辨率。
- 2010年-2025年7月的m3u8链接,最好使用dh5域名,配上老版本的CCTVVideoDownloader下载。
- 2025年8月至今的m3u8链接,只能使用本文中给出的软件下载,而且我相信这个方法也会很快挂掉。
- 2009年-2011年的mp4链接,由于缺少url中的unix时间戳,无法下载。
- 2012年至今的mp4链接,需要在评论区留下GUID我帮你下,或发信至cape4096@outlook.com,不保证成功率。
- 前端隐藏或者因为旧版播放器失效放不出来的视频,需要在评论区留下GUID我帮你下,或发信至cape4096@outlook.com,不保证成功率。
剩余的存活域名
- hls
- enc2/dh5
https://dh5.cntv.DOMAIN/asp/h5e/hls/main/0303000a/3/default/54858c9b48ab4580876cba00acde9ddc/main.m3u8DOMAIN可以为lxdns.com、cdn20.com、kcdnvip.com、qcloudcdn.comhttps://dh5AAwxBB.v.cntv.cn/asp/h5e/hls/main/0303000a/3/default/54858c9b48ab4580876cba00acde9ddc/main.m3u8AA可以为ali ws qq BB可以为01、02https://dh5AABB.v.cntv.cn/asp/h5e/hls/main/0303000a/3/default/54858c9b48ab4580876cba00acde9ddc/main.m3u8AA可以为ali ws qq BB可以为01、02
- dhls2/enc2(唯二两个高清域名)
- dhls/enc解不开,就不发了
- mp4video全挂
最后上文件
所以最后上文件点我下载使用方法还是一样的。另外我觉得它活不到年底。到时候再说吧。
还有这种方法有解不了的视频比如说https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=054c22cc80b343489b8b87a71ef09f41(而且你会发现这个GUID少了一个m3u8链接),这种视频只能我帮你下。或者去用猫抓的浏览器缓存模式下载。
已知guid可以通过这个链接找回原来的视频播放界面。https://app.cctv.com/special/m/livevod/index.html?guid=054c22cc80b343489b8b87a71ef09f41&vtype=2
希望此方案坚持些日子,博主超众。如若方便加v以请教:601196626,谢~
建议hls补充
如果视频在网页端的布局非常简陋,则能直接获取高分辨率视频(仅能获取2024年5月31日之后的)
例:https://tv.cctv.com/2023/05/31/VIDEt5jVq0d4WAN21AF9Jyen230531.shtml(布局简陋,但只能获得低分辨率视频)
https://tv.cctv.com/2025/03/04/VIDEINEYMaovIwtg8g2V7PN5250304.shtml(布局简陋,可以获得高分辨率视频)
其实两个都限制码率了,只不过第一个限制到270p 450Kbps,第二个限制到720p 1200Kbps。这两个视频的原始码率都是2000Kbps。