Ruby HLS的开源AES-128加密?

Ruby HLS的开源AES-128加密?,ruby,encryption,openssl,aes,http-live-streaming,Ruby,Encryption,Openssl,Aes,Http Live Streaming,苹果有一些非常好的工具来将固态媒体文件分割到HLS中,并添加AES-128加密。然而,它们只在Mac上运行,因此在典型的云环境中(机器运行在Linux上)不是很有用 我正在寻找任何现有的工具和库,将有助于在预分段HLS中添加AES-128加密。我不相信这将是超级复杂的实施。我想用Ruby写。有人知道有什么工具或资源可以提供帮助吗?您可以使用fork和exec openssl来执行实际的加密。您很可能不想在ruby中进行AES加密,因为它的速度会慢得离谱 您可以按照这个shell脚本对程序建模:您

苹果有一些非常好的工具来将固态媒体文件分割到HLS中,并添加AES-128加密。然而,它们只在Mac上运行,因此在典型的云环境中(机器运行在Linux上)不是很有用


我正在寻找任何现有的工具和库,将有助于在预分段HLS中添加AES-128加密。我不相信这将是超级复杂的实施。我想用Ruby写。有人知道有什么工具或资源可以提供帮助吗?

您可以使用fork和exec openssl来执行实际的加密。您很可能不想在ruby中进行AES加密,因为它的速度会慢得离谱


您可以按照这个shell脚本对程序建模:

您可以在Ruby中使用这个类。由于OpenSSL扩展基本上是原生OpenSSL的包装,因此速度非常快。

FFMPEG可以对HLS文件进行转码和加密

ffmpeg -y -i <file in> -hsl_time 10 -hls_key_info_file <key info file> -hls_segment_filename "encrupted-%d.ts" encrypted.m3u
ffmpeg-y-i-hsl\u时间10-hls\u密钥信息文件-hls\u段文件名“encrupted-%d.ts”encrypted.m3u
您可以在此处找到更多信息:


AVCONV也应该能够,但我还没有让它工作。

AES加密任何东西其实并不难。提出一个安全协议是非常困难的。如果没有先前的经验,你很可能无法自己创造一个安全的。你应该在开始编程之前想出一个。不幸的是,这部分在stackoverflow上是离题的…我不确定我是否明白你的意思?我只是把现有的传输流文件和加密与AES-128。它们将通过HTTP提供服务/HTTPS@owlsteadOP说的是DRM,可能是重复的谢谢。我能用Ruby让它工作,而且看起来很快。对于我当前的需求来说,它不需要那么快,但是很高兴知道其他人使用CLI openssl实现了它。如果整个AES算法都在Ruby中实现,在Ruby中只会很慢。但是OpenSSL扩展在很大程度上包装了本机代码,因此几乎和“真实的东西”一样快。@emboss是的,这可能是最好的方法。