HLS with AES 128 encryption on Android (Ice Cream

2019-03-01 03:07发布

问题:

I am starting to put an App together that will require the use of HLS video. I want to use Ice Cream sandwich as the target SDK, but I am not certain if this api will support HLS with encryption. Here is what the developer site says:

Applications can now pass an M3U playlist URL to the media framework to begin an HTTP Live streaming session. The media framework supports most of the HTTP Live streaming specification, including adaptive bit rate.

It doesn't specifically state what I am looking for, so my question is this - has anyone had any luck using HLS with an encrypted feed on ICS? If so, did you use the Android DRM? From Google searches I have found that some have had luck with HoneyComb and some have not, but there is not a lot of information for ICS in this matter.

Thanks.

回答1:

In general ICS does support AES-128 encryption according to the HLS standard (see here). However, the media-playback capabilities of a device not dependent on the Android version, but on the media-framework implemented on the particular device. Most phones and tablet use the stagefright media-framework, introduced in Android 2.2. So far I have not seen or heard of any ICS using stagefright where encrypted HLS did not work. However I have, tried seen ICS Set-Top-Boxes using other media-frameworks not capable of playing encrypted HLS (new firmware will probably fix this).

To sum up: understanding is that all ICS are intended to support encrypted HLS, if a particular device is not, a fix is probably on the way. The reason is that without flash, encrypted HLS is the only possible way of achieving DRM for live streaming.



回答2:

As far as I know Http Live Streaming will be supported throught html5 <video> tag, because Adobre Flash for Android is deprecated: http://www.zdnet.com/blog/open-source/no-flash-for-android-4-1-jelly-bean-users/11433 And html5 media encryption for Digital Rights Management is still under the form of discussion http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html