Microsoft постепенно начинает отказываться от очередного своего детища — DirectShow. Новая продвигаемая мега технология — MF (Media Foundation). Отказ от DirectShow очевидно, что скоро повторится и с MF. Так что же делать разработчикам? Есть ли технология, которая избавит от проблем с переменчивостью настроения у Microsoft? Есть такая технология — GStreamer!
Все более и более привлекательным начинает казаться перевод разрабатываемых продуктов на GStreamer.
GStreamer это кроссплатформенный мультимедийный фреймворк написанный на C. Первый выпуск был уже достаточно давно — в 1999 году. Но в течении некоторого времени был в большей степени востребован именно для unix систем.
Идеи заложенные в основу GStreamer, DirectShow, Media Fiundation (а до этого Windows Media SDK, DirectX Media Objects (DMOs) ) по сути одни и те же — создание графов потоковой обработки мультимедийных данных, узлы графа — объекты выполняющие преобразование, показ или сохранение пришедших от предшествующего узла данных. Но вот подходы к реализации в значительно отличаются.
Работа с Gstreamer возможна из многих используемых сейчас для разработки языков: C++, C#, Perl, Python, GNU Guile, Ruby. Взаимодействие основано на создание привязок (bindings). Что это такое как устроено рассмотрим далее. DirectShow и Media Foundation также предоставляли возможность разработки на многих языках программирования, но за счет использования Windows-специфичной технологии COM.
Я начинаю серию статей о переводе мультимедийных приложений Windows на GStreamer. Это взгляд на технологию и шероховатости процесса разработчика имевшего длительный опыт разработки с использованием DirectShow и MF. Отказ от DirectShow трудоемок, но…