【问题标题】:HLS encryption on Android devicesAndroid 设备上的 HLS 加密
【发布时间】:2013-07-02 12:58:54
【问题描述】:

我尝试使用 AES-128 加密 HLS 流。但是当我尝试发送这个加密 hls 流时 到 Android 设备,但流无法播放,但在 IOS 和 Smarttv 上我的流工作正常。当我调试 Android 设备时,我发现 Android 检查 AES 密钥是 17 个八位字节,而规范告诉我们 aes 密钥必须是 16 个八位字节。我最后添加了 1 个八位字节,例如 0x00000000,但解密后它说这个文件不是 MPEG-TS。

我该怎么办? 也许有人对android hls加密流有所了解。

【问题讨论】:

  • 你能显示包含Key和IV的播放列表吗?密钥的大小不会不同,您可能只是误解了调试(可能是一个带有 nul 字节或类似内容的字符串。)
  • #EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD=AES-128,URI="192.168.1.132/key.txt" #EXTINF :10, mystream1.ts #EXTINF:10, mystream2.ts #EXTINF:10, mystream3.ts #EXTINF:10, mystream4.ts #EXTINF:10, mystream5.ts #EXT-X-ENDLIST
  • @vigosslive 你解决了这个问题吗?你能分享你的解决方案吗?我遇到了同样的问题

标签: android encryption http-live-streaming


【解决方案1】:

如果媒体文件碰巧使用 IIS 转换管理器进行了分段,您可以尝试用零填充 IV 字段以使其长度为 32 个字符(128 位)。

我可以让 hls 视频在具有较短 IV 字段的 IOS 上播放,但如果没有填充,视频将无法在 Android 上播放(使用 MediaPlayer)。

【讨论】:

    猜你喜欢
    • 2020-04-05
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2023-04-09
    • 2011-06-07
    相关资源
    最近更新 更多