AVPlayer падает на зашифрованном материале HLS - PullRequest
2 голосов
/ 12 января 2011

У меня проблема с тем, что я получаю EXC_BAD_ACCESS глубоко в URLConnectionClient при воспроизведении зашифрованных ресурсов HLS, а ключ шифрования пропадает. MPMovieViewController не имеет проблем, он просто не воспроизводится, но, как я уже упоминал, у меня происходит сбой, когда AVPlayer не может получить ключи дешифрования.

Например, это:

    AVPlayer *player = [[AVPlayer alloc] initWithURL:
        [NSURL URLWithString:@"http://192.168.1.69/prog_index.m3u8"]];

Сбой в отдельном потоке (точнее, com.apple.coremedia.networkbuffering), если файл prog_index.m3u8 зашифрован и ключ дешифрования недоступен. Я убедился, что он работает нормально, когда ключ дешифрования может быть загружен.

Кто-нибудь знает об обходном пути?

1 Ответ

1 голос
/ 20 января 2011

Об этой ошибке сообщили в Apple.

Обходной путь - загрузить и проанализировать файл .m3u8 и загрузить соответствующие ключи дешифрования. Если возникает ошибка, это легко исправить.

Сохраните загруженные ключи дешифрования локально на телефоне и замените удаленный URL-адрес в файле .m3u8 локальными путями.

Наконец, сохраните измененный .m3u8 локально и отправьте этот локальный URL в AVPlayer.

...