Поделиться через


Потоковая передача данных с устройства записи видео

Видеопотоки состоят из оцифрованного видео с меткой времени и связанных данных, таких как данные интервала вертикальной гашетки (VBI) и код времени. Потоки можно приостановить, запустить и остановить независимо друг от друга. Образцы потока имеют метки времени с разрешением часов в 100 наносекунд.

Минидрайвер видеозахвата может поддерживать несколько одновременных потоков сжатого и несжатого видео, таймкода, субтитров для слабослышащих, необработанных и декодированных данных VBI и пользовательских форматов данных. Минидрайвер должен создавать новый поток для каждого типа данных, который может производиться одновременно с другими типами данных. Интерфейсы класса AVStream или Stream предоставляют отдельный пин-код для каждого нового потока. Эти контакты копируются в KsProxy и отображаются в пользовательском режиме в виде фильтра Microsoft DirectShow. Фильтр DirectShow не является драйвером фильтра WDM. Дополнительные сведения о пин-кодах и потоковой передаче см. в потоковой передачи ядра.

Каждый пин-код потоковой передачи видео может поддерживать различные форматы данных. Например, один пин-код может поддерживать RGB16, RGB24, YUV9 и цифровое видео JPEG. Большинство устройств поддерживают только несколько из этих форматов. Дополнительные сведения о форматах потоков и указании диапазона поддерживаемых форматов см. в разделе Указание форматов потоков.

Данные о вертикальном пустом интервале (VBI)

При записи потоков вертикального пустого интервала (VBI) устройство записи должно предоставлять необработанные, некодированные примеры VBI, чтобы подчиненные фильтры и кодеки могли извлекать закрытые субтитры (CC), North American Broadcast Teletext Standard (NABTS), Teletext и другие собственные данные из необработанных примеров.

Декодеры VBI должны быть немедленно проинформированы о изменениях настройки. Например, когда модуль настройки переключается с одного канала на другой, декодер VBI необходимо уведомить в начале операции настройки, чтобы он временно перестал декодировать в период нестабильности сигнала. После завершения операции настройки необходимо уведомить декодер VBI о новом канале и любых изменениях видео стандарта или кода страны/региона, которые могли произойти.

Минидрайвер должен распространять пакет настройки из тюнерного фильтра, через перекрестный фильтр, а затем в аналоговый контакт входа видео на фильтре захвата. Этот пакет доступен только в пользовательском режиме, пока он не достигнет фильтра записи. Минидрайвер получает этот пакет настройки в виде структуры KS_TVTUNER_CHANGE_INFO на аналоговом видеовходном контакте фильтра захвата минидрайвера.

Минидрайвер также должен распространять пакет настройки на выходные пины VBI фильтра захвата, используя расширенный заголовок видеопотока . Декодеры VBI, которые работают как цепочки, должны аналогично передавать расширенную информацию заголовка от входных пинов к их выходным пинам.