央视 (CCTV) 点播/直播/回放 下载脚本 | 五一快乐!
Davon
·
2026-04-30
·
via LINUX DO - 最新话题
与 @Sophomores 折腾了一轮 CCTV / 央视频的播放和下载链路, 最后稳定跑通 战绩: 点播 直播 (央视频 1080p 直播) 回放 脚本: scripts.zip (21.4 KB) 整体思路: CCTV 点播: 从 MSE 后置边界拿 clean 数据 cctv.com 点播这条, 直接抓源站 HLS 容易花屏. 一些看起来像最终地址的 hls_h5e_url / hls_enc_url , 直接下载并不稳定. 稳定方案是: 浏览器打开官方点播页面. 让官方播放器正常完成调度和媒体处理. 在 SourceBuffer.appendBuffer 附近接管 MSE 后置数据. 按 seek 分段捕获. 用 ffmpeg -c copy 拼接成 MP4. 用 decode log 做最终验证. 这条已经验证过大熊猫那个点播视频, 720p clean, decode log 为 0. 央视频直播: 1080p 可以, 但当前仍需要浏览器链路 央视频 1080p 直播目前稳定做法是浏览器后置接管: 浏览器打开央视频直播页. 官方播放器完成鉴权, 调度, 清晰度选择和媒体处理. 本地脚本接管 MSE 后置音视频片段. 用 ffmpeg 重新封装成本地 HLS. PotPlayer 或 ffmpeg 访问本地 HLS. 本地播放地址类似: http://127.0.0.1:8899/live.m3u8 PotPlayer 打开这个地址就能播放. ffmpeg 打这个地址就能保存当前直播. 直播保存是实时录制当前直播, 不是下载过去回放. 直播 1080p 链路里的调度, 鉴权, cKey, 清晰度选择, 解密或解封装仍由官方播放器动态完成. 我没有独立复刻整套播放器算法, 而是在它产出可播放媒体后接管. 央视频历史回看: 反而可以不用浏览器 历史回看一开始也试过 Web/H5 路线, 但 Web 侧基本只暴露当前直播信息: PC 页面主要给当前直播. player-api 返回当前直播 playurl . 给当前 HLS 加 timeshift 参数无效. 部分 timeshift 地址 403. Web 侧没有稳定暴露历史媒体 URL. 后来换方向看 Android App, 找到 App-native JCE 接口. 关键接口是: POST https://jacc.ysp.cctv.cn cmd = 25312 name = PidTimeShift 请求核心字段: pid sid starttime endtime stream 以 CCTV1 为例: pid = 600001859 sid = 2024078201 stream = fhd stream=fhd 时服务端返回历史 VOD m3u8, 实测是 1080p 线路, 类似: 2024078203.m3u8 这个 m3u8 是标准历史 HLS, 里面能看到: #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-PROGRAM-DATE-TIME 所以历史回看这条不需要浏览器状态, 不需要登录, 不需要 cookie, 不需要 localStorage. 拿到历史 m3u8 后直接交给 ffmpeg remux 就行. 我这边已经验证过过去 24h 到过去 23h 的 20min 1080p 样本: h264 1920x1080 25fps aac decode log 为 0 目前脚本: 能力/功能 当前状态 备注 cctv.com 点播下载 已实现 已验证 720p clean 央视频直播 1080p 下载 已实现 实时保存, 不是回放 央视频历史回看下载 已实现 可指定过去时间窗口, 已验证 1080p PotPlayer 播放直播 已实现 本地 HLS 地址播放 安装教程 (由AI总结): INSTALL.zip (804 字节) 感言: 在此我们感谢 GPT 5.5, DeepSeek V4 Pro, DeepSeek V4 Flash, Opus 4.6 (ermm, 算了给他面子),感谢 Claude Code, JSHOOK 等等吧,还有人类的我们 @dkly2004 和 @Sophomores 1 个帖子 - 1 位参与者 阅读完整话题
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。