Познаването на GStreamer на въвеждане

Познаването на GStreamer на въвеждане

опровержение

Много хора може да са чували, че има такова нещо като GStreamer, или се разглеждат като Ubuntu и други подобни дистрибуции предлагат да инсталирате различни пакети, чиито имена съдържат "GStreamer" при първия опит да играе mp3 или друг с "не са свободни" файлов формат медии , Така че, аз ще опиша тази библиотека.

GStreamer има приставка архитектура, и в стандартния пакет е с много голям набор от приставки, които могат да се справят 99% от нуждите на всички мултимедийни разработчик на софтуер.

архитектура

В GStreamer, има няколко основни компонента:

  • елементи
  • Pads
  • Бин контейнери и тръбопроводи

И сега подробностите:

Познаването на GStreamer на въвеждане

Почти всички GStreamer е елемент. Всичко от конвенционалните потоци източници (filesrc, alsasrc, и т. П.), процесори потоци (демултиплексори, декодери, филтри и т. П.) на крайния изходни устройства (alsasink, fakesink, filesink и т. N ) ..

Познаването на GStreamer на въвеждане

Pad - това е вид на мястото на присъединяване елемент на друг елемент, ако е по-проста - това е тънкостите на елемента. те обикновено се наричат ​​«мивка» - влизане и «SRC» - изход.
Елементи винаги имат най-малко една подложка. Например, filesrc - елемент за четене на данни от файловата система - има само една подложка, наречена «SRC», т.е. да има вход и може да се превърне само потокът от файловата система във вътрешния представителство, които вече ще работи и други елементи ... По същия начин alsasink елемент, той има една подложка, наречена «мивка», т.е.. К. Той може да получи само вътрешната поток и изхода на звуковата карта през ALSA. Елементи на заустване «филтри» на (тези, които по някакъв начин се трансформира поток) има две или повече точки на свързване. Така например, обемен елемент има пад на име «мивка», който получава поток вътре в този елемент се трансформира (промяна силата на звука), както и чрез клавиатурата с име «КРБ» вече продължава пътя си. Също така, има елементи, които могат да бъдат малко по-входа, така и на изхода.

контейнери

Познаването на GStreamer на въвеждане
Във вътрешността на контейнера елементи са разходите им жизнен цикъл. Контейнерът управлява изпращането на съобщения от клетка в клетка, управлява елементи на състоянието. Контейнерите са разделени на два типа:

Как работи

Вземем пример с примитивна схема на плейъра. Най-простият схемата играч трябва да изглежда така:

Познаването на GStreamer на въвеждане

Помислете за това, което се случва тук. filesrc елемент чете файл от файловата система и изпраща потока на decodebin на контейнера, което от своя страна декодира поток във вътрешния представителство и впоследствие изпраща потока, за да alsasink елемент, който също изпраща аудио поток към звуковата карта. За да проверите тази верига е достатъчно, че екипът

И ако се чуе мелодията, тогава всичко е наред.

бележки
  • GST-старт-1.0 полезност идва опаковани gstreamer1.0 инструменти
  • В случай на използване на OSS / Джак / и т.н., Тази схема може да се провалят. Ето защо, alsasink указана временна директория може да бъде заменен с елемент, който ще изберете елемента, който искате да изведете звука.

Каква е следващата стъпка?

В бъдеще смятам да напиша поредица от статии, които ще разгледат различните елементи и техните възможности, както и код примери за възможностите на GStreamer недвижими употреба ще бъдат осигурени.