Очевидно, что AVFoundation (и Quicktime X) может демультиплексировать и правильно воспроизводить кодированные контейнеры .ts, потому что .ts содержит контейнеры в потоковом режиме HTTPS.
За исключением настройки локальной веб-службы для обслуживания .m3u8 и связанных файлов .ts, мне бы очень хотелось иметь возможность: убедить AVURLAsset и/или URLAssetWithURL принять локальный файл .m3u8 URI, как если бы это был URI HTTP, или, еще лучше, иметь возможность использовать AVQueuePlayer для загрузки и воспроизведения последовательности файлов .ts, не перескакивая через потоковые ходовые потоки.
Причина, по которой я хочу это сделать, заключается в том, что мне нужно локально генерировать видеоролики "на лету" несколько разрозненно - весь актив будет недоступен сразу, но будет создан с течением времени, Очевидно, что это поддается AVQueuePlayer, но по разным причинам мои фрагменты активов упаковываются в контейнеры .ts. Все это звучит так, будто оно идеально подходит для "локальных" потоков в прямом эфире.
Я подозреваю, что URLAssetWithURL выполняет некоторую квалификацию переданной ему строки и затем устанавливает некоторые свойства, чтобы сигнализировать о том, что он смотрит на источник потоковой передачи, который, в свою очередь, сообщает AVPlayer/AVQueuePlayer, чтобы ожидать дорожек в .ts форма. Вероятно, он видит HTTP и решает, что это потоковое вещание.
Итак, мой вопрос:, как можно "обмануть" AVFoundation в обработке локального файла .m3u8 точно так же, как он удаленный?
И вопрос бонуса: Кто-нибудь (и если да, то как) смог сделать AVAsset из файла .ts, чтобы ресурс вернул статус дорожек актива (подготовиться к воспроизведению)?
ТИА!