Настройка видеопотоков для оптимизации производительности
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Он был заменён чтателем источника и писателем приемника. средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения источников и средства записи вместо пакета Windows Media Format 11 SDK, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Некоторые приложения воспроизведения выполняют много поиска в отдельных потоках. Поиск — это область, в которой производительность может значительно отличаться в зависимости от параметров потока. Если вы знаете, что содержимое должно быть оптимизировано для быстрого поиска, вы можете настроить конфигурацию потока для повышения производительности.
Самым большим фактором, влияющим на скорость поиска операций в видео, является интервал ключевых кадров. Так как каждый кадр между ключевыми кадрами необходимо восстановить на основе кадров, которые приходят до него, широко расположенные ключевые кадры приводят к тому, что время поиска становится более длительным. Например, если видеопоток с 30 кадрами в секунду имеет максимальное интервал между ключевыми кадрами в 10 секунд, между ключевыми кадрами может быть 300 кадров. Если вы хотите получить доступ к последнему разностному кадру , необходимо восстановить 299 кадров для его распаковки. Если каждая реконструкция кадра заняла 01 секунду, поиск займет почти 3 секунды. Если вы хотите повысить эффективность поиска, снижение интервала ключевых кадров может помочь. Однако если вы устанавливаете ключевые кадры слишком близко, может произойти потеря качества.
Можно задать максимальное расстояние между ключевыми кадрами, вызвав IWMVideoMediaProps::SetMaxKeyFrameSpacing. Рекомендуемые значения, основанные на скорости потока, перечислены в следующей таблице. Эти значения обеспечивают хороший баланс поиска производительности и качества. Пакет SDK не применяет никаких ограничений на время между ключевыми кадрами. Как правило, время, превышающее 30 секунд, может отрицательно повлиять на время поиска как при потоковой передаче содержимого по сети, так и при локальном воспроизведении.
Скорость передачи битов | Рекомендуемый максимальный интервал для ключевых кадров |
---|---|
22 кб/с до 300 кб/с | 8 секунд |
300 кб/с до 600 кб/с | 6 секунд |
600 кб/с до 2 Мбит/с | 4 секунды |
2 Мбит/с и выше | 3 секунды |
Дополнительные сведения о получении оптимальной производительности при поиске видеофайлов см. в разделе Получение оптимальной производительности при поиске видео.
Связанные разделы