Фильтр разделителя AVI
[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Фильтр разделения AVI используется для воспроизведения файлов AVI. Он принимает данные в формате AVI и разбивает его на составные потоки для дальнейшей обработки и /или отрисовки.
Ярлык | Ценность |
---|---|
Интерфейсы фильтров | IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag |
Типы носителей входных закреплений | MEDIATYPE_Stream, MEDIASUBTYPE_Avi |
Интерфейсы входных закреплений | IPin, IQualityControl |
Типы носителей выходного пин-кода | Обычно MEDIATYPE_Video или MEDIATYPE_Audio. Точный тип зависит от содержимого файла, сжатия файла и используемого кодека. |
Интерфейсы выходных закреплений | IMediaPosition, IMediaSeeking, IPin, IPropertyBag, IQualityControl |
Фильтрация CLSID | CLSID_AviSplitter |
CLSID страницы свойств | Нет страницы свойств. |
Выполнимый | quartz.dll |
Заслуги | MERIT_NORMAL |
категории фильтра | CLSID_LegacyAmFilterCategory |
Замечания
Обычно этот фильтр подключен к фильтру асинхронного источника файлов на входной закреплении. Он может подключаться к любому фильтру, выходной пин-код которого поддерживает IAsyncReader и предлагает правильный тип носителя в входной пин-код фильтра AVI Splitter.
Выходные закрепления в разделитете AVI поддерживают метод IPropertyBag::Read для чтения свойств из отдельных потоков. В настоящее время определяется следующее свойство.
Свойство | Описание |
---|---|
имя | Возвращает имя потока, взятое из блока 'strn' в файле AVI. Если этот блок отсутствует, метод Read возвращает E_INVALIDARG. |
Метод IPropertyBag::Write возвращает E_FAIL. Фильтр AVI Mux поддерживает IPropertyBag::Write для сохранения свойств потока в AVI-файл.
Разделитель AVI не позволяет подчиненным фильтрам использовать собственный распределитель.
Длительность переключения в файле определяет, сколько памяти будет выделено для обработки AVI Splitter. Для обработки файла, переключения которого выполняется в одну секунду фрагментов, требуется гораздо больше памяти, чем файл, длительность взаимодействия которого имеет значение один или два кадра. На современных компьютерах это обычно не проблема, если вы не работаете одновременно с несколькими экземплярами разделителя AVI.
Ищущий
Если файл содержит видеопоток, разделитель AVI поддерживает поиск по номеру кадра. Чтобы включить поиск на основе кадров, вызовите IMediaSeeking::SetTimeFormat на диспетчере графов со значением TIME_FORMAT_FRAME.
Если файл содержит аудиопоток, разделитель AVI поддерживает поиск по образцу номера. Чтобы включить поиск на основе примера, вызовите SetTimeFormat в диспетчере графов фильтров со значением TIME_FORMAT_SAMPLE.
В обоих случаях выходной пин-код для этого потока должен быть подключен к фильтру отрисовщика.
Связанные разделы