В DirectShow с использованием только фильтров Microsoft это может быть немного беспорядочно. Демплексор Mpeg2 необходимо настроить вручную с помощью кода с использованием интерфейса IMpeg2Demultiplexer или страниц свойств, чтобы добавить выходные выводы для потоков контента. Обычно вам нужно подключить что-то еще к фильтру, чтобы проанализировать информацию PSI / PAT и идентифицировать программные идентификаторы потоков контента внутри транспортного потока. Microsoft предоставляет образец SDK для этого в Windows Platform SDK.
Предполагается, что у вас есть обычный файл транспортного потока mpeg2. Вы можете использовать бесплатные приложения MediaInfo или TsReader Lite , чтобы точно увидеть, что находится в вашем файле TS.
Существуют фильтры сторонних производителей, которые значительно упрощают обработку транспортных потоков в DirectShow. Комбинация фильтров с открытым исходным кодом Haali Media Splitter и Ffdshow сделает это без какой-либо дополнительной настройки. Или коммерческие пакеты фильтров от MainConcept, Elecard, LEADTools и т. Д.
Я не очень много работал с Media Foundation, поэтому у меня нет особых советов по этому вопросу. Более новые версии Windows Media Player используют MF вместо DirectShow. Некоторые, но не все, новые функциональные возможности MF также доступны через интерфейсы DirectShow.