Лучший способ построить график для транспортного потока MPEG2

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

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

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

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

2 ответа

Решение

В DirectShow с использованием только фильтров Microsoft это может быть немного беспорядочно. Демплексор Mpeg2 необходимо настроить вручную с помощью кода, используя интерфейс IMpeg2 Demultiplexer или через страницы свойств, чтобы добавить выходные выводы для потоков контента. Обычно вам нужно подключить что-то еще к фильтру, чтобы проанализировать информацию PSI/PAT и идентифицировать программные идентификаторы потоков контента внутри транспортного потока. Microsoft предоставляет образец SDK для этого в Windows Platform SDK.

Это предполагает, что у вас есть обычный файл транспортного потока mpeg2. Вы можете использовать бесплатные приложения MediaInfo или TsReader Lite, чтобы точно увидеть, что находится в вашем файле TS.

Существуют не-Microsoft фильтры, которые значительно упрощают обработку транспортных потоков в DirectShow. Комбинация фильтров с открытым исходным кодом Haali Media Splitter и Ffdshow сделает это без какой-либо дополнительной настройки. Или коммерческие пакеты фильтров от MainConcept, Elecard, LEADTools и т. Д.

Я не проделал много практической работы с Media Foundation, поэтому у меня нет особых советов по этому вопросу. Более новые версии Windows Media Player используют MF вместо DirectShow. Некоторые, но не все, новые функциональные возможности MF также доступны через интерфейсы DirectShow.

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

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

Например, вот часть графика, который я использовал:Визуализация Графика

Дэвид

Другие вопросы по тегам