Зашифрованный прямой эфир не воспроизводится в IOS5, но воспроизводится в IOS4

в основном показанный ниже список воспроизведения сегментированных видеофайлов отлично воспроизводится в 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, но я не могу ничего в нем разобрать.


person Samuel    schedule 27.10.2011    source источник


Ответы (2)


В соответствии с документами здесь IV является необязательным, и это объясняет, что последовательность 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

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

person Samuel    schedule 28.10.2011

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

person Markus Peek    schedule 06.01.2012