Содержание
-
Иванов Сергей, ННГУ ВМК ФОТ БС Разработка мультимедийных приложений для MeeGo
-
Библиотеки для разработки
Gstreamer – фреймворк написанный с использованием библиотеки Glib FFmpeg – фреймворк на основе библиотек libavcodec и libavformat Media Application FrameWork(MAFW) – фреймворк основанный на gstreamer для работы с мультимедийными сервисами в Maemo/MeeGo Phonon– модуль к библиотеке QT для работы с мультимедиа
-
Gstreamer
Gstreamer - мультимедийный фреймворк написанный на языке программирования С с использованием библиотеки Glib. Он установлен в MeeGo по умолчанию. Эта библиотека является основой для большинства мультимедийных приложений, таких как видео-редакторы, медиа-плееры, программы записи и т.д.
-
Архитектура Gstreamer
-
Основа GStreamer - наборы плагинов, которые позволяют использовать различные компоненты в составе программы, расширяя функциональность. Принцип работы GStreamer - конвеер, состоящий из различных плагинов. В конвейере происходит преобразование потоков данных. Простейший конвеер укладывается в формулу «Входящий поток - Обработка - Исходящий поток». Усложнение и, как следствие, расширение функционала происходит во втором звене. Отдельные плагины различаются по выполняемым ими функциям. Для выполнения поставленной задачи плагины отбираются в определенной последовательности, которая и составляет конвейер. Существует более 150 плагинов и постоянно пишутся новые
-
protocols handling sources: аудио и видеопотоки formats: микшеры, демикшеры, субтитры и т.д codecs: кодеки и декодеры filtres: конверторы, микшеры, эффекты и т.д. sinks: аудио и видео потоки Классификация плагинов Gstreamer:
-
Программы для работы с Gstreamer
Gst-Inspect – выводит информацию об установленных плагинах Gst-Launch – запускает конвеер(pipeline) Gst-Editor – позволяет под “графикой” создавать конвееры из блоков Gst-Xmllaunch – запускает созданные конвееры с помощью gst-editor Gst-Visualise – визуализацияпри воспроизведении аудио потока
-
Gst-EditorГрафический редактор конвееров
-
Gst-Visualise
Эффекты при воспроизведении аудио
-
Использование в своих программах
Вызов существующих приложений с необходимыми параметрами Вставка в свой код на C/C++, Python и др.
-
FFmpeg
FFmpeg - кросс-платформенное решение для записи, конвертации и воспроизведения аудио и видео. Принцип работы FFmpeg отличается от GStreamer, этот фрэймворк также является весьма популярным инструментом разработки.
-
FFmpeg – очень быстрый видео и аудио конвертер с возможностью захвата видео и аудио потоков с различных устройств FFplay – простой медиа проигрыватель FFprobe – показывает информацию о мультимедиа потоках FFserver – потоковый сервер для аудио и видео Программы для работы с Ffmpeg:
-
Конвертация аудио. ffmpeg -i birds_song.wav birds_song.mp3 Запись видео с вебкамеры. Захватим видео с вебкамеры и сохраним в MPEG-файле: ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 out.mpg А теперь то же самое, но еще и со звуком: ffmpeg -f oss -i /dev/dsp -f video4linux2 -s 320x240 -i /dev/video0 out.mpg Простота использования FFmpeg:
-
Однако существует несколько задач, которые не затронуты в предыдущих фрэймворках. Это связано со сложностью новых приложений, в которых пользователям предоставляются все виды возможных на данный момент мультимедийных служб, таких как: UPnP, Last.Fm, Youtube, и т. д. Для удобства написания приложений для этих сервисов в MeeGo существует The Multimedia Applications FrameWork(MAFW). MAFW предоставляет программистам простой и удобный способ создания современных мультимедиа приложений отвечающих сегодняшним запросам пользователей. MAFW по сути есть надстройка более высокого уровня над Gstreamer. В описании к MAFW написано, что она позволяет более "просто" работать с мультимедиа сервисами с которыми "не умеет" работать GStreamer. Media Application FrameWork
-
Модуль Qt Phonon Phonon —мультимедийный фреймворк для KDE4, который предоставляет API для разработки мультимедиа-приложений. Входит в состав Qt начиная с версии 4.4.
-
Для включения определений классов этого модуля используйте следующую директиву: #include Для линковки приложения с этим модулем, добавьте в ваш qmake файл проекта .pro: QT += multimedia Использование в своем приложении
-
Gstreamer – http://www.gstreamer.org FFmpeg –http://www.ffmpeg.org MAFW – http://www.garage.maemo.org/projects/mafw/ Phonon– http://phonon.kde.org/ Qt– http://www.qt.nokia.com Описание классов Qt– http://doc.qt.nokia.com/ Описание на русском – http://doc.crossplatform.ru/ Интересные ссылки:
-
У вас есть ко мне вопросы?
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.