DirectShow, c # и видео из потока - PullRequest
1 голос
/ 02 августа 2010

Ищет способ визуализации потока байтов с использованием DirectShow. IGraphBuilder.RenderFile уже выполняет тяжелую работу, когда поток находится в файле на диске, но я не могу найти хороший пример того, как самому предоставить данные, используя поток в графе фильтра. Я новичок в DirectShow, поэтому с моей точки зрения у меня есть поток, который я хотел бы добавить в качестве источника для графика рендеринга вместо того, чтобы читать его из файла.

(Как примечание, я в конечном итоге пытаюсь заставить это работать на WindowsCE, используя порт DirectShowNet для CompactFramework, см. Здесь , но я думаю, что первая часть просто пытаюсь выяснить, как это работает на полной платформе. На CE я в основном получаю открытый поток и некуда его сохранять, поэтому мне просто нужно напрямую перейти на DirectShow)

1 Ответ

0 голосов
/ 14 октября 2010

Чтобы предоставить образцы медиа для графика из сокета, вы должны создать свой собственный фильтр источника. Фильтр источника должен выполнить работу по соединению / аутентификации с потоковым сервером, а затем превратить поток TCP / UDP в дискретные сэмплы мультимедиа, которые могут быть переданы в нисходящем направлении через выходные контакты вашего фильтра.

Ради производительности вы можете рассмотреть возможность реализации вашего фильтра в C ++ (Microsoft не предоставляет управляемый API для DirectShow по причине ...)

...