0
votes

I have generated HLS content using ffmpeg. This content is plain (i.e. without encryption). I am doing the segment level encryption i.e. after ffmpeg gives out the *.ts segments then I encrypt them using AES-128, CBC mode. After encrypting the content I edit the media playlist file. Following is the url of the encrypted HLS content I mentioned above.

https://s3-us-west-2.amazonaws.com/hls-content/out_s3.m3u8

This content is not playing on iPad 2. What could be the possible problem with this content.

2

2 Answers

0
votes

Your #EXT-X-KEY tag is nonconformant. It must be only 1 line (not using \ and continuing on the next line).

In the specification document, the \ is shown only as an aid to reading, but it's not actually allowed. From section 3.1:

An M3U Playlist is a text file that consists of individual lines. Lines are terminated by either a single LF character or a CR character followed by an LF character. Each line is a URI, blank, or starts with the character '#'. Blank lines are ignored. White space MUST NOT be present, except for elements in which it is explicitly specified.

0
votes

The problem is in the key file,The key has been specified in hex instead of that now it should be written as ASCII characters.