在Windows中使用ffmpeg进行视频加密时出现 "encryption_key" 和 "encryption_kid" 未识别的错误,通常是因为您安装的ffmpeg版本未包含加密支持模块。以下是完整解决方案:
第一步:下载支持加密的ffmpeg
1. 访问官方构建站(推荐 gyan.dev 或 BtbN/FFmpeg-Builds)
2. 下载名称包含
full_build 或
gpl 的Windows版本
3. 解压zip文件到任意目录(例如
C:\ffmpeg)
第二步:配置环境变量
1. 右键
此电脑 → 属性 → 高级系统设置
2. 点击
环境变量 → 在
系统变量 中找到 Path
3. 点击编辑 → 新建 → 添加ffmpeg的bin目录路径(例如
C:\ffmpeg\bin)
第三步:验证加密支持
打开命令提示符执行:
在输出中检查是否包含:
encryption_key 和
encryption_kid
第四步:生成密钥并加密(示例)
1. 创建密钥文件
key.txt 内容为16字节hex值(例如):
- 11223344556677889900aabbccddeeff
复制代码
2. 执行加密命令:
- ffmpeg -i input.mp4 -c copy -encryption_key 11223344556677889900aabbccddeeff -encryption_kid aabbccddaabbccddaabbccddaabbccdd output_encrypted.mp4
复制代码
常见问题排查:
1. 如果仍提示参数错误:
o 确认下载的是
完整版 (文件名含 full_build-shared 或 gpl-shared)
o 检查环境变量是否生效(重启CMD)
2. 密钥生成要求:
o
encryption_key 必须是32个hex字符(16字节)
o
encryption_kid 必须是32个hex字符(可选)
重要提示:标准Windows版ffmpeg通常不包含加密模块,务必使用第三方完整构建版本。加密功能需要ffmpeg编译时启用
--enable-openssl 参数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。