Перейти к содержимому
PS5PCEM
РаботаетЗвук и видео

AvPlayer

SceAvPlayer декодирует контейнеры фильмов через FFmpeg в кадры NV12, которыми владеет игра, и стерео PCM 48 кГц. Воспроизведение заканчивается, когда проходит длительность источника, даже если игра так и не прочитала один из потоков.

Заметки репозитория по 10 октября 2026 г.

Буферы, которыми владеет игра

Проигрыватель использует обратные вызовы выделения игры и обратные вызовы файлов игры. FFmpeg пробует контейнер и декодирует видео в NV12 исходного разрешения, а звук — в чередующееся знаковое 16-битное стерео на 48 кГц. У видео и звука раздельные блокировки и раздельные процессы декодера. Метки времени делят одни монотонные часы.

Пауза, поиск, цикл и конец потока сохраняются. ABI программного декодера сообщает выровненный шаг, высоту выделения и видимую обрезку. Существуют и расширенный, и устаревший вызовы сведений о потоке. Текущее время, трюк-режим нормальной скорости, отключение потока и ограниченные медиачасы покрывают промежуточное ПО Unity, с которым поставляется Asterix.

Завершение фильма, который игра читает лишь наполовину

Игра может забирать картинки и смешивать свой звук, или наоборот. Ожидание, пока не будет прочитан каждый поток, держит этот проигрыватель живым до конца процесса. Jurassic Park Classic Games Collection оставалась на вступлении по этой причине: часы ушли на девяносто секунд дальше трёхсекундного клипа, потому что непрочитанный звуковой поток никогда не заканчивался.

Длительность берётся из источника. Когда часы её проходят, воспроизведение заканчивается, даже если поток игнорировали. Пока поток ещё отдаёт данные, сообщаемая позиция остаётся в пределах кадров, которые действительно переданы, поэтому медленную машину не обрывают рано. Когда поток действительно закончился, часы могут дойти до длительности. Зацикленные источники и источники неизвестной длины не трогаются.

Представление

Наблюдавшиеся вступительные фильмы играют примерно с родной частотой кадров в сборках ReleaseFast. Последнее годное изображение сохраняется, пока Unity меняет клипы, вместо того чтобы показать очищенную поверхность декодера сплошным цветом. Источник 1920×1080 можно масштабировать в цель скан-аута, которую зарегистрировала игра.

Тактильная дорожка отмеряется и остаётся тихой. AvPlayer не ведёт контроллер. Пиксели доходят до экрана через шейдеры игры или через VideoOut, а не через второй компоновщик внутри проигрывателя.

Что реализовано

  • Декодирование FFmpeg в видео NV12 и стерео PCM 48 кГц, в буферах, которыми владеет игра.
  • Расширенные и устаревшие сведения о потоке, пауза, поиск, цикл и общие медиачасы.
  • Конец воспроизведения на длительности источника, когда игра оставляет поток непрочитанным.
  • Сохранение последнего годного кадра при смене клипа.

Чего ещё нет

  • Тактильность — это тишина. Вибрация контроллера не эмулируется.
  • Зацикленные источники и источники неизвестной длины правило длительности не обрывает.
  • Отсутствующий файловый обратный вызов или контейнер, который FFmpeg не может пробить, проваливает этот ресурс.

Связанные механизмы

Чему посвящены эти страницы

Текст следует архитектурным заметкам и отчётам октября 2026 года в репозитории PS5PCEM. Пройденный точечный тест — это не новая частота кадров и не новое прохождение.

Все технологии