将整条音轨按密钥扰乱,并在浏览器或本地恢复的实验项目。面向包含音乐的音视频,优先考虑有损转码后的音质与播放体验。
输入音视频 → CS2 音轨扰乱 → 上传视频 → 油猴解析音频链接 → 浏览器恢复播放。
恢复信息来自扰乱后的音轨本身,不依赖隐藏字幕、附件、原始音轨副本或在线密钥服务。视频编码只保留第一条视频流与替换音轨。
本项目是音频扰乱工具,不是密码学加密工具。 固定密钥映射会泄漏信号结构,没有随机 nonce 或认证标签;错误密钥不会报认证失败。不适用于敏感数据保密。扰乱音轨可能刺耳,请勿高音量直接试听。
- 文件编码、离线恢复、本地网页工作台;支持 WAV 音频以及 MP4 / MKV 视频音轨替换。
- B 站普通视频与分 P 的独立油猴解码,无需播放端安装 Python 或本地服务。
- 仅支持 CS2。CS1 文件需要从原音频重新编码;现有 CS2 文件与密钥保持兼容。
- 维护者已完成 B 站端到端验证;本地测试覆盖 PCM、AAC、Opus 和 Python / JavaScript 兼容性。验证范围及复现方式见验证说明。
- 油猴先下载完整音轨,再边解密边播放;当前限制为单 P 最长 15 分钟、音轨最大 96 MB。平台接口变化或转码处理仍可能影响可用性。
本项目是实验性音频扰乱工具,按现状提供,不保证安全性、恢复效果或持续可用性。使用前请了解以下风险:
- 不提供密码学安全保障。 音轨扰乱不等于安全加密,可能泄漏信号结构,也不提供完整性认证;请勿用于敏感信息保密。
- 使用者须确认内容使用权限。 处理、上传、下载或分享音视频时,应遵守适用法律、内容授权条件和平台规则。扰乱音轨不会改变内容权利,也不提供绕过审核、访问控制或版权识别的授权或保证。
- 存在音频与数据风险。 扰乱音轨或错误密钥恢复的声音可能刺耳,请先降低音量;处理前保留原文件和备份,恢复结果不保证无损或完整。
- 平台验证不构成长期保证。 维护者已完成 B 站端到端验证,但平台接口、转码策略、账号权限或浏览器变化仍可能导致功能失效。本项目与哔哩哔哩等第三方无官方合作或背书关系。
- 无担保及责任限制。 在适用法律允许的范围内,且除另有书面约定外,著作权人及依法修改、分发本软件的其他方不对使用或无法使用本软件造成的损害承担责任,包括数据丢失及其他相关损失;具体以 GPLv3 第 15–17 条为准。
完整说明见免责声明及 GPLv3 许可证。本声明不增加 GPLv3 之外的许可限制,也不排除适用法律规定的不可排除责任。
需要 Python 3.11+,以及 PATH 中可用的 FFmpeg 和 ffprobe。以下命令在下载或克隆后的项目根目录运行(Windows / PowerShell):
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
# 密钥通过隐藏输入提示填写
.\.venv\Scripts\python.exe -m crypt_sound encode "输入.mp4" "上传版.mp4"
.\.venv\Scripts\python.exe -m crypt_sound decode "上传版.mp4" "恢复.wav"
# 打开本地网页工作台
.\.venv\Scripts\python.exe -m crypt_sound serve --open-browserLinux / macOS 使用 .venv/bin/python 代替上述 Python 路径。Windows 完成环境安装后也可双击 start_gui.bat。
将 crypt-sound.user.js 导入 Tampermonkey,刷新 B 站视频页,点击“音轨解码”,在独立窗口输入密钥并解析音频。详细权限、播放操作、命令参数和限制见使用指南。
| 文档 | 内容 |
|---|---|
| 使用指南 | 安装、CLI、网页工作台、油猴操作与排障 |
| CS2 格式 | 包结构、信号变换、音质与安全边界 |
| 验证说明 | 平台验证状态、本地基准和回归步骤 |
| 开发指南 | 目录、测试、构建和发布 |
| 贡献指南 | 问题反馈与提交要求 |
| 免责声明 | 使用责任、风险、第三方关系与无担保条款 |
本项目原创代码与文档以 GNU GPL version 3 only(GPL-3.0-only) 发布,完整条款见 LICENSE。软件按现状提供,不作任何担保。
第三方依赖保留各自的许可证;FFmpeg、浏览器和 Tampermonkey 需另行安装,本仓库不分发这些程序。输入音视频的权利不因使用本工具而改变。依赖与参考实现说明见 THIRD_PARTY_NOTICES.md。