Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Фреймворк GStreamer. Руководство разработчика приложений. Введение

Оригинал: GStreamer Application Development Manual
Авторы: Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, Stefan Kost
Дата публикации: 21 мая 2014 г.
Перевод: А.Панин
Дата перевода: 18 июня 2014 г.

Предисловие

GStreamer является чрезвычайно мощным и гибким фреймворком для разработки приложений, обрабатывающих потоковые мультимедийные данные. Многие преимущества фреймворка GStreamer обусловлены его модульной архитектурой: GStreamer позволяет достаточно просто подключать дополнительные модули плагинов. Но платой за использование модульной архитектуры и удобных интерфейсов чаще всего является усложнение программного продукта, при этом процесс разработки новых приложений на его основе не всегда прост.

Данное руководство предназначено для того, чтобы помочь вам понять принцип работы фреймворка GStreamer (версии 1.3.2), после чего вы сможете разрабатывать свои собственные приложения на его основе. В первых частях руководства особое внимание будет уделяться процессу разработки простого аудиоплеера, причем главной целью данного процесса будет объяснение основных концепций фреймворка GStreamer. В следующих разделах будут рассматриваться более сложные темы, связанные как с проигрыванием мультимедийных данных, так и с другими формами их обработки (захват, редактирование, и.т.д.).

Введение

Для кого предназначено данное руководство

В данном руководстве фреймворк GStreamer описывается с точки зрения разработчика приложений; в нем описываются способы разработки приложений на основе фреймворка GStreamer с использованием библиотек и инструментов проекта GStreamer. Если вы ищите пояснения по поводу разработки плагинов, мы рекомендуем обратиться к Руководству разработчика плагинов "Plugin Writers Guide".

Также советуем рассмотреть другую документацию, доступную на веб-сайте проекта GStreamer.

Предварительное чтение

Для того, чтобы понять данное руководство, вам потребуются базовые знания в области программирования с использованием языка C.

Ввиду того, что фреймворк GStreamer использует объектную модель программирования GObject, при написании данного руководства подразумевалось, что вы имеете представление о программировании с использованием объектной модели GObject и библиотеки glib. В особенности важны следующие аспекты:
  • Создание объектов GObject
  • Установка и получение значений свойств объектов GObject
  • Преобразование объектов GObject
  • Установка и удавление ссылок на объекты GObject
  • Механизмы управления памятью библиотеки glib
  • Сигналы и функции обратного вызова библиотеки glib
  • Главный цикл обработки событий библиотеки glib

Структура данного руководства

Для того, чтобы облегчить вашу навигацию по данному руководству, оно было разделено на несколько больших частей. В каждой из частей рассматривается определенная обобщенная тема, связанная с разработкой приложений на основе фреймворка GStreamer. Части данного руководства расположены в следующем порядке:

Часть I, "О фреймворке GStreamer" содержит обзор фреймворка GStreamer, принципов и основ его архитектуры.

Часть II, "Создание приложения" содержит описание базовых приемов разработки приложений на основе фреймворка GStreamer. В конце данной части вам предоставится возможность создания своего собственного аудиоплеера на основе фреймворка GStreamer.

В Части III "Сложные концепции фреймворка GStreamer" мы перейдем к рассмотрению сложных концепций, которые позволяют фреймворку GStreamer превосходить конкурирующие программные продукты. Мы обсудим методику взаимодействия приложения и конвейера с использованием динамических параметров и интерфейсов, поговорим о многопоточном режиме работы и многопоточных конвейерах, распределении времени и таймерах (а также о синхронизации). Большая часть этих тем рассматривается не только для того, чтобы познакомить вас с API, а главным образом для того, чтобы вы обладали более глубоким пониманием причин проблем, возникающих в приложениях на основе фреймворка GStreamer, а также разбирались в концепциях этих приложений.

В следующей Части IV "Высокоуровневые интерфейсы для приложений на основе фреймворка GStreamer" мы будем заниматься API фреймворка GStreamer более высокого уровня. На самом деле вам не потребуется вся информация из предыдущих частей для понимания информации из данной части, но в любом случае вам придется разобраться с базовыми концепциями фреймворка GStreamer.

Наконец, в Части V "Приложения" вы найдете некоторую дополнительную информацию об интеграции с GNOME, KDE, OS X или Windows, некоторые советы по отладке приложений, а также общие советы по совершенствованию и упрощению процесса программирования с использованием фреймворка GStreamer.


Следующий раздел : Обзор фреймворка GStreamer.