#ios #avfoundation #metal #core-video
#iOS #avfoundation #Металлические #core-video
Вопрос:
У меня есть 3D-сцена, отображаемая Metal на устройстве iOS. Цель состоит в том, чтобы несколько видео воспроизводились и отображались на поверхностях сцены. Я использую «AVPlayerItemVideoOutput» для извлечения видеокадров, и все работает должным образом, когда воспроизводится одно видео.
Проблема в том, что как только второе видео воспроизводится одновременно с первым, используя тот же точный метод (т.Е. Извлекая кадры с помощью ‘AVPlayerItemVideoOutput‘), первый объект ‘AVPlayerItemVideoOutput‘ возвращает false при вызове метода ‘hasNewPixelBufferForItemTime‘. Я создаю совершенно отдельные экземпляры ‘AVPlayer‘, ‘AVPlayerItem‘, AVPlayerItemVideoOutput и т. Д. Для каждого воспроизводимого видео.
Это ограничение или что-то не так с настройкой? Есть ли какая-либо альтернатива для достижения цели?
Комментарии:
1. Я не знаю об ограничении, и ваша настройка звучит нормально, но вы не показали никакого кода. Для локальных видео вы определенно можете использовать an
AVAssetReader
для декодирования двух видео одновременно, а затем отображать кадры наMetal
текстуры.