Skip to content

About

一款适用于央视网的网络视频流解析处理工具

Topics

Resources

Stars

729 stars

Watchers

7 watching

Forks

Latest commit

 

History

242 Commits

Folders and files

Repository files navigation

央视频下载器

用于浏览和下载央视网视频的桌面应用,支持 Windows、macOS 和 Linux。

Release Build GPLv3 License GitHub stars GitHub forks LinuxDo

功能

  • 导入央视网栏目、专辑和单集页面
  • 按月份浏览节目,支持完整节目、看点和片段
  • 单集或批量下载,多线程获取视频分片
  • 支持 H5E 视频解密、TS 合并和 MP4 封装
  • 下载进度、失败原因和批量结果集中展示
  • 提供无图形界面的命令行工具 cctv-dl

桌面应用

启动程序后,在顶部输入央视网链接并导入节目。选择栏目和视频,点击“下载”即可。

单集播放页导入后会询问导入方式:“下载本页视频”直接开始下载,不加入节目列表;“解析视频列表”按栏目或专辑浏览后批量选择。

保存目录、下载线程、清晰度、输出格式和列表月份范围可在设置中调整。

命令行工具

源码构建会同时生成 cctv-dl。它适合 SSH、容器和脚本任务,不需要图形环境。

列出节目,再按相同 URL 和序号下载:

URL='https://tv.cctv.com/lm/xwlb/index.shtml'

cctv-dl list "$URL"
cctv-dl download "$URL" --select 3

批量选择和下载参数:

# 最新一期、全部、第 1/3/5 项
cctv-dl download "$URL" --select latest
cctv-dl download "$URL" --select all
cctv-dl download "$URL" --select 1,3,5

# 指定目录、线程、清晰度和输出格式
cctv-dl download "$URL" --select 3 \
  --output ./videos \
  --threads 8 \
  --quality 0 \
  --mp4

已知视频 GUID 时可直接下载:

cctv-dl download \
  --guid 0123456789abcdef0123456789abcdef \
  --title '视频标题'

单集页面链接不带 --select、--from、--to 时,直接下载链接指向的那一期:

cctv-dl download 'https://tv.cctv.com/2026/07/31/VIDEC2s6oxrFBvFynKJRHVkY260731.shtml'

常用选项:

  • --select latest|all|1,3,5:download 下载哪几条,缺省 latest(第一条)
  • --from yyyyMM --to yyyyMM:设置月份范围,list 和 download 都可用;缺省为当月和上月。范围作用于栏目类列表,专辑、片库这类页面由接口按自身顺序返回,不受范围影响
  • --on-existing skip|rename|overwrite:目标文件已存在时的处理方式,缺省 skip(跳过,不重复下载);rename 保留已有文件并另存为 标题(1),overwrite 替换已有文件
  • --include-highlights:在列表中包含节目看点
  • --json:输出 JSON Lines,便于脚本处理
  • --debug:将内部诊断写入标准错误
  • --no-mp4:保留 TS 文件
  • Ctrl+C:取消当前任务

完整参数见:

cctv-dl --help

下载

前往 Releases 下载适合当前系统的版本:

系统 文件
Windows x64 CCTVVideoDownloader.*.win.x64.zip
macOS Apple Silicon CCTVVideoDownloader.*.macos.arm64.dmg
Linux x86_64 CCTVVideoDownloader.*.linux.x86_64.tar.gz、CCTVVideoDownloader.*.linux.x86_64.AppImage、cctv-dl.*.linux.x86_64.tar.gz
Linux arm64 CCTVVideoDownloader.*.linux.arm64.tar.gz、CCTVVideoDownloader.*.linux.arm64.AppImage、cctv-dl.*.linux.arm64.tar.gz

从源码构建

需要 CMake 3.21+、Qt 6.8+、C++17 编译器和 Ninja。测试还需要 Qt Test。

先构建项目使用的最小静态 FFmpeg:

# macOS / Linux
./scripts/build-ffmpeg-min.sh

# Windows PowerShell(需要 Visual Studio 2022 和 MSYS2)
powershell -ExecutionPolicy Bypass -File scripts/build-ffmpeg-min-windows.ps1

配置、构建并运行测试:

cmake -S . -B build -G Ninja \
  -DCMAKE_PREFIX_PATH="/path/to/Qt" \
  -DBUILD_TESTING=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure

主要目标:

  • CCTVVideoDownloader:桌面应用
  • cctv-dl:命令行工具
  • CCTVVideoDownloaderCore:下载核心静态库

只构建命令行工具:

cmake --build build --target cctv-dl --parallel

Windows 使用 Visual Studio 生成器时,在构建和测试命令中分别添加 --config Release 和 -C Release。

问题反馈

解析失败、下载异常或兼容性问题请提交 Issue。报告中请附上节目链接、系统版本、程序版本和必要的 --debug 输出,避免上传版权内容或个人信息。

免责声明

本项目仅供技术研究和学习交流。央视视频内容版权归相关权利人所有,请遵守网站条款和所在地法律法规,不得将本工具用于侵权传播或商业用途。使用本项目产生的风险由使用者自行承担。

许可证

代码按 GPL-3.0 发布。

About

一款适用于央视网的网络视频流解析处理工具

Topics

Resources

Stars

729 stars

Watchers

7 watching

Forks

Releases

Used by

Contributors

Languages