You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解密ffmpeg加密的单个或多个.ts分段文件?

加密TS分片单独解密操作方法

你使用的是标准HLS AES-128加密方案,解密单个/多个分片无需处理整个m3u8列表,只需使用加密时的密钥文件和IV值即可,操作方法如下:

方法1:用FFmpeg解密(推荐,无转码速度快)

你已经有现成的enc.keyinfo文件,直接调用即可,无需额外转换密钥格式。

单个分片解密

执行命令:

ffmpeg -i 待解密的分片文件名.ts -c copy -hls_key_info_file d:\enc.keyinfo 解密后输出文件名.ts

示例:解密output_001.ts

ffmpeg -i output_001.ts -c copy -hls_key_info_file d:\enc.keyinfo decrypted_001.ts

批量解密多个分片

Windows CMD环境执行:

for %i in (output_*.ts) do ffmpeg -i "%i" -c copy -hls_key_info_file d:\enc.keyinfo "decrypted_%~ni.ts"

Windows PowerShell环境执行:

Get-ChildItem . -Filter output_*.ts | ForEach-Object { ffmpeg -i $_.Name -c copy -hls_key_info_file d:\enc.keyinfo "decrypted_$($_.Name)" }

方法2:用OpenSSL解密(无FFmpeg环境时使用)

需要先将d:\enc.key二进制密钥文件转换为32位十六进制字符串,再配合你keyinfo里的IV值解密:

openssl aes-128-cbc -d -in 待解密的分片文件名.ts -out 解密后输出文件名.ts -K 密钥的32位十六进制字符串 -iv 261daad184c6acf4a3a21393ds232e1a

注意事项

  • 以上两种方法均为直接复制音视频流,无转码过程,不会损失画质音质,处理速度极快
  • 你给出的IV值包含字符s,不符合十六进制规范,请核对加密时使用的真实IV值,否则会解密失败
  • 你之前加密命令里的ffmpg为笔误,正确拼写为ffmpeg,不影响已生成分片的解密
  • 若需合并多个解密后的分片,可直接用FFmpeg concat命令:
ffmpeg -i "concat:decrypted_001.ts|decrypted_002.ts|decrypted_003.ts" -c copy 合并后输出文件.ts

内容的提问来源于stack exchange,提问作者Yancey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 08:18:04