Зашифрованный прямой эфир не воспроизводится в IOS5, но воспроизводится в IOS4 - PullRequest
1 голос
/ 27 октября 2011

В основном приведенный ниже список воспроизведения сегментированных видеофайлов хорошо воспроизводится в IOS4 , но не в IOS5, поэтому я полагаю, что в кодировании, сегментации или шифровании нет ошибок.

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt",IV=0x00000000000000000000000000000000
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-1.ts
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-2.ts

...

#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-502.ts
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-503.ts
#EXT-X-ENDLIST

ошибка тупая 'Операция не может быть завершена' в сафари. но тот же список воспроизводится нормально, если файлы не зашифрованы в обеих версиях ОС.

Эта тема , кажется, обсуждает аналогичную проблему, но решение закрыто для общественности.

Я также натолкнулся на эту ветку , которая предполагает, что она связана с тегом #EXT-X-TARGETDURATION, но я не могу многое понять по этому поводу.

Ответы [ 2 ]

0 голосов
/ 07 января 2012

Для HLS на iOS5 значение TARGETDURATION действительно не является целевой продолжительностью, но должно быть максимальной продолжительностью. Поэтому он должен быть установлен на самый большой сегмент в файле.

0 голосов
/ 28 октября 2011

Согласно документам здесь тег IV является необязательным, а this объясняет, что последовательность no должна использоваться как IV во время расшифровки, если IV отсутствует.

проблема IOS4 и IOS5 обрабатывает их по-разному

, так что это работает для IOS5, но выдает ошибку в IOS4

#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt"

, хотя это работает для IOS4, но выдает ошибку в IOS5

#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt",IV=0x00000000000000000000000000000000

в моем случае.

...