2013-07-02 42 views
2

我嘗試使用AES-128加密HLS流。但是,當我試圖發送加密hls流 到Android設備,但流不播放,但到IOS和Smarttv我的流工作正常。當我調試Android設備時,我發現Android檢查17位八位字節的AES密鑰,而根據規範告訴我們,aes密鑰必須是16個八位字節。我在最後添加了1個八位字節,例如0x00000000,但解密後它說這個文件不是MPEG-TS。Android設備上的HLS加密

我該如何處理? 也許任何人都知道關於android hls加密流的一些東西。

+0

你可以顯示包含Key和IV的播放列表嗎?關鍵不會是不同的大小,你可能只是誤解調試(可能是一個字符串與零字節或類似的東西)。 – vipw

+0

#EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X -MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD = AES-128,URI =「http://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

回答

1

如果媒體文件碰巧被IIS變換管理器分割,你可以嘗試用零填充IV字段以使它們長32個字符(128位)。

我可以在IOS上使用較短的IV字段播放hls視頻,但視頻不會在沒有填充的Android(使用MediaPlayer)上播放。