Фильтр мультиплекса AVI
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Фильтр AVI Mux принимает несколько входных потоков и чередует их в формате AVI. Фильтр использует отдельные входные контакты для каждого входного потока и один выходной контакт для потока AVI.
Приложения для захвата видео или разработки могут использовать этот фильтр для сохранения файлов на диск в формате AVI. Фильтр обычно подключается к фильтру модуля записи файлов , но он может подключаться к любому фильтру, входной контакт которого поддерживает интерфейсы IStream и IMemInputPin .
Метка | Значение |
---|---|
Интерфейсы фильтра | IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages |
Типы носителей входных закрепления | Любой основной тип, соответствующий старому типу FOURCC или MEDIATYPE_AUXLine21Data. (Дополнительные сведения см. в разделе Класс FOURCCMap.)
|
Интерфейсы ввода-закрепления | IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl |
Типы носителей выходных закрепления | MEDIATYPE_Stream, MEDIASUBTYPE_Avi |
Интерфейсы вывода закрепления | IPin, IQualityControl |
Фильтрация CLSID | CLSID_AviDest |
CLSID страницы свойств | CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1 |
Исполняемый файл | qcap.dll |
Заслуга | MERIT_DO_NOT_USE |
Категория фильтра | CLSID_LegacyAmFilterCategory |
Комментарии
В следующих примечаниях описаны различные аспекты функциональности фильтра AVI Mux.
Маркеры
При создании фильтра AVI Mux у него есть один входной контакт. Когда каждый входной контакт подключен, фильтр создает новый входной контакт.
Свойства потока
Входные контакты поддерживают интерфейс IPropertyBag для настройки свойств в отдельных потоках. В настоящее время определено следующее свойство:
Свойство | Описание |
---|---|
name | Имя потока. Это свойство записывается как 'strn' блок. |
Если фильтр запущен или приостановлен, метод IPropertyBag::Write возвращает VFW_E_WRONG_STATE.
Частота кадров
Если фильтр вышестоящий не указывает частоту кадров в элементе AvgTimePerFrame структуры VIDEOINFOHEADER, мультиплекс AVI использует метки времени для первого видеокадра. Формат файла AVI не поддерживает переменную частоту кадров.
Удаленные кадры
Фильтр AVI Mux вычисляет отброшенные кадры на основе времени носителя каждой выборки, если это возможно, или меток времени образца. Он записывает запись индекса нулевой длины для каждого удаляемого кадра.
IMediaSeeking
Фильтр AVI Mux реализует интерфейс IMediaSeeking следующим образом:
- Метод GetCurrentPosition возвращает текущий ход выполнения мультиплексирования. Если вы перекодировали файл (медленнее, чем в режиме реального времени), это значение будет более точным, чем значение, возвращаемое диспетчером фильтров графов. Дополнительные сведения см. в разделе Примечания на справочной странице GetCurrentPosition.
- Метод GetDuration запрашивает каждый фильтр вышестоящий и возвращает длительность самого длинного потока. Если какой-либо из этих фильтров завершается сбоем вызова GetDuration (или не поддерживает IMediaSeeking), мультиплекс AVI возвращает код сбоя и заполняет параметр pDuration максимальной продолжительностью. Однако значение pDuration в этом случае не обязательно равно длине самого длинного входного потока.
- Мультиплекс AVI не реализует методы GetStopPosition, GetPositions, GetAvailable, GetRate или GetPreroll; Он также не реализует никакие методы Set* для поиска.
Расширения формата файлов AVI 2.0
В настоящее время DirectShow поддерживает следующие расширения формата файлов AVI 2.0:
- Увеличенный размер файла AVI (более 1 ГБ)
- Иерархическое индексирование
Дополнительные сведения см. в версии 1.02 статьи "Расширения формата файлов OpenDML AVI", опубликованной Подкомитетом по формату файлов OpenDML AVI M-JPEG.
Связанные темы