лучший способ построить график для транспортного потока MPEG2 - PullRequest
3 голосов
/ 22 февраля 2011

в windows 7 проигрыватель Windows Media очень хорошо поддерживает файлы .ts, в том смысле, что Windows Media Player знает, как обрабатывать такие файлы без каких-либо дополнительных пакетов кодеков.

однако, если я пытаюсь использовать graphedit для «рендеринга» файла .ts, он жалуется на это не знает, как построить график для него.

Какой метод использует Windows Media Player для демультиплексирования / декодирования этих файлов? это директ-шоу? Windows Media Foundation? BDA? Технологии Microsoft TV? модель унифицированного тюнинга?

какой бы метод они не использовали, доступен ли в качестве API для моего пользовательского приложения?

Ответы [ 2 ]

4 голосов
/ 27 февраля 2011

В 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.

3 голосов
/ 25 февраля 2011

Я не уверен в методе, используемом проигрывателем Windows Media.

Я использовал DirectShow для построения графика. Из источника вы можете добавить демультиплексор MPEG-2, создать контакты аудио и видео (используя интерфейс IMpeg2Demultiplexer), затем подключить контакт аудио к «Декодеру звука Microsoft DTV-DVD», а контакт «Видео» к «Microsoft DTV». -DVD Video Decoder ". Затем вы можете подать выходы в аудио и видео рендерер.

Например, вот часть графика, который я использовал: Render Graph

David

...