Введение в разработку приложений на платформе Atom/MeeGo. Граничин О.Н - 149 стр.

UptoLike

149
Все готово, и можно запускать конвейер. Обратите внимание, что это происходит в два этапа
сначала мы задаем конвейеру нужное состояние через gst_element_set_state(), а затем запускаем
цикл обработки событий GTK g_main_loop_run() и он уже управляет работой конвейера.
Приложение gStreamer также соберем на целевой платформе. Устанавливаем зависимости
yum install gcc libjpeg-devel gstreamer-jpeg gstreamer-ffmpeg
При сборке мы будем использовать утилиту pkg-config, которая предоставляет компилятору набор
параметров, необходимых для подключения больших, сложных библиотек. GTK и gStreamer
безусловно являются сложными, поэтому вызов gcc выглядит так:
gcc gstgrab.c -o gstgrab -ljpeg `pkg-config --cflags --libs gtk+-2.0 gstreamer-
interfaces-0.10`
Подключаем камеру и проверяем результат в image.jpg, запустив
./gstgrab
11.6.3. Задания для самостоятельной работы
1. Интегрировать v4l2grab в QT-приложение
2. Создать QT-обертку для v4l2grab
3. Научиться захватывать не первый доступный кадр, а десятый в v4l2grab и gStreamer
11.7. Выводы
В этой лекции мы провели краткий обзор возможностей, предоставляемых MeeGo API для работы
с мультимедиа, сообщениями и аппаратными датчиками. Кроме того, кратко были рассмотрены
основные способы коммуникации между приложениями и пример обработки видеокадров.
11.8. Контрольные вопросы
1) Что является типом элемента в конвейере gStreamer:
Варианты:
1. Модуль
2. Фильтр
3. Драйвер
4. Слот
2) Что представляет собой видеокамера в конвейере gStreamer:
1. Источник
2. Перехватчик
3. Кодек
4. Виртуальное устройство
3) Приведите пример фиктивного приемника в gStreamer:
1. v4l2src
2. fakesink
3. pipeline
4. ximagesink
4) Какие сигналы использует gStreamer для асинхронного взаимодействия:
1. свои собственные
2. Qt
3. GTK
5) Какой тип имеет элемент «ffmpegcolorspace»:
1. Источник
2. Фильтр
3. ffmpeg
4. Приемник
6) Зачем в нашем приложении применяется конвертация видео: