FOnline Engine
Current master GitHub
Документация Docs/ru/reference/video/decoding.md

Контракт декодирования видео

Сгенерированный справочник. Не редактируйте его источник напрямую. Обновите BuildTools/VideoInterface.json, затем выполните python BuildTools/docs_video.py --write.

Индекс Форматы Доставка Декодирование Полный экран Встроенное Проверка Канонический JSON Руководство
Стабильный ID Правило Требование Причина Источник
video.decoding.ogg-pages Приём страниц и пакетов Ogg Считайте вход страницами Ogg, читаемыми в sync layer порциями по 1024 байта, и поддерживайте не более десяти одновременно обнаруженных логических потоков. DecodePacket владеет фиксированной таблицей состояния десяти потоков и копирует ограниченные порции из ресурса в памяти. Source/Client/VideoClip.cpp
video.decoding.headers Выбор заголовка Theora Передавайте поток, заголовки которого принимает th_decode_headerin и setup которого позволяет выделить контекст декодера. Создание завершается ошибкой при неудаче поиска пакета, setup-данных или выделения декодера. Source/Client/VideoClip.cpp
video.decoding.frame-clock Выбор кадра по часам Готовьте корректные метаданные числителя и знаменателя fps; целевой кадр выводится из прошедшего монотонного времени и стоимости декодера. RenderFrame умножает прошедшие секунды на отношение fps Theora и декодирует положительную разницу кадров. Source/Client/VideoClip.cpp
video.decoding.pixel-formats Поддерживаемая chroma subsampling Используйте TH_PF_420, TH_PF_422 или TH_PF_444; любой другой пиксельный формат Theora останавливает воспроизведение. CPU-преобразование выбирает делители chroma только для этих трёх enum-значений. Source/Client/VideoClip.cpp
video.decoding.rgba-output CPU-вывод RGBA Ожидайте преобразование каждого декодированного кадра из YCbCr в непрозрачный RGBA на CPU до загрузки текстуры. RenderFrame записывает ограниченные компоненты RGB и alpha 0xFF в RenderedTextureData. Source/Client/VideoClip.cpp
video.decoding.error-stop Ошибка декодирования останавливает воспроизведение Считайте повреждённые данные кадра, ошибку цветового вывода, неподдерживаемый пиксельный формат и конец потока условиями остановки и проверяйте клиентские логи. Ошибки кадра записываются в лог и вызывают Stop; конец потока также останавливает ролик. Source/Client/VideoClip.cpp
video.decoding.no-container-audio Аудио контейнера не декодируется Не полагайтесь на аудиопоток внутри Ogg-видео; при необходимости готовьте звук как отдельный клиентский музыкальный ресурс. VideoClip подключает только декодирование пакетов Theora, а полноэкранная связка запускает музыку AudioManager из пути после вертикальной черты. Source/Client/VideoClip.cpp, Source/Client/Client.cpp
Введите запрос.