Подтвердить что ты не робот

GStreamer или DirectShow для разработки Windows?

Я реализую проект лекционного захвата для локального университета. Несколько видеопотоков будут поступать на один ПК: слайды рабочего стола презентатора, изображение видеокамеры самого ведущего и, при необходимости, цифровой захват. Эти входящие потоки будут управляться настольным приложением, которое отображает, транскодирует/смешивает и в конечном итоге сохраняет их на диск. Там будут некоторые параметры конфигурации, потому что материал может быть распределен по-разному: как приложение Flash на DVD, в качестве онлайн-приложения Flash или потоком видео по требованию для проигрывателя Windows Media.

Это приложение должно работать в Windows. По желанию он может поддерживать другие платформы, но, похоже, он не является высокоприоритетным.

Оба GStreamer и DirectShow кажутся способными предоставить базовую технологию. У меня есть небольшой опыт работы с GStreamer в Linux, и мне нравится его дизайн, поэтому я склонен использовать его для этого проекта. Однако я не знаю, насколько хорошо он поддерживается в Windows. Я не смог найти последние документы о том, как создать GStreamer в Windows. Поэтому я боюсь, что я застрял где-нибудь в этом процессе.

DirectShow выглядит как более безопасный вариант, поскольку он гораздо более широко используется, и в Интернете доступно гораздо больше документации для него.

Есть ли у кого-нибудь опыт использования GStreamer в Windows? Это хорошо работает? Есть ли определенные проблемы, о которых я должен знать?

Изменить
Я обнаружил сайт GStreamer OSSBuilds и смог быстро реализовать простой видеоплеер (основанный на элементе "playbin" ). Поэтому я думаю, что немного продолжу путь GStreamer.

4b9b3361

Ответ 1

Хорошо, я сам отвечу на этот вопрос. Простой ответ: GStreamer! До сих пор у меня не было никаких трудностей. Чтобы заставить его работать в Windows, вам нужно использовать GStreamer Winbuilds.

Обновление (через 6 месяцев)

На самом деле я немного сгорел на этой ставке. Позже в проекте клиент указал, что должен поддерживаться кодек WMV9 (VC-1). Поскольку кодеры WMV9 поддерживаются только на платформах Microsft, это невозможно было реализовать в решении на основе GStreamer. Поэтому, возможно, DirectShow был бы правильным выбором.

Ответ 2

В прошлый раз, когда я работал с GStreamer в окнах, было довольно утомительно.

Если вы это сделаете, вы должны быть готовы потратить много времени на борьбу с адскими процессами и другими проблемами компиляции. Прежде всего вам нужно оценить, какой компилятор/время выполнения вы будете использовать.

Если переносимость не является обязательной, я бы взял легкий путь. DirectShow.

Ответ 3

Посмотрите на VLC. http://www.videolan.org/ Я во-вторых, что fnieto сказал о компиляции ад с GStreamer на Winbdows (сделано недавно). Но если вы знакомы с средой unix, которая может быть не большой проблемой с Cygwin от MSYS. Но учтите, что вы, вероятно, не получите доступную и надежную аппаратную поддержку с GStreamer в Windows, как вы можете получить в Media Foundation или DirectShow. Microsoft Media Center iTV тоже стоит посмотреть.

Ответ 4

avisynth может обеспечить легкое смешивание потоков и может принимать непосредственный ввод.