Integrált multimédia feldolgozás során gstreamer

A megoldás erre a problémára az, hogy az Gstreamer. Kombinálásával a különböző eszközök és a könyvtárak, és végrehajtása a fogalom egy általános média csővezeték (multimediakonveyer) GStreamer lehetővé teszi a munkát a különböző média típusok közös megközelítés alkalmazásával. Ez lehetővé teszi, hogy összpontosítson közvetlenül a média, ahelyett, hogy dobott minden erejüket, hogy ellenőrizze és biztosítsa a kompatibilitást a fájl formátumokat.

Gstreamer lehet megoldani sok problémát, mint például átkódolás fájlok különböző audio formátumok egy közös formátumban. Mivel minden formátumot kezeli azonos módon, csak egy eszköz szükséges ehhez. Ez időt takarít meg, és teszi a megoldást több integrált és támogatott. Ezen felül, miután a tanulás alapelveit Gstreamer megtalálja az új lehetőségeket annak alkalmazását. A hálózati audio streaming kell vigyázni, hogy csak a hálózatról, mivel az API-felületek változatlan marad audio lejátszás és az alapvető feladatokat.

alapelvek

Mivel Gstreamer alkalmassága meghaladja a rendes könyvtár, fontos megérteni, hogy pontosan mit tehet ez túlmutat a képességeit, és hogy ezek a funkciók végrehajtását.

Gstreamer - a könyvtár feldolgozó multimédiás adatok. Ez azt jelenti, hogy működtetéséhez szükséges egy absztrakt modellt konverziós (átalakítási), amely egy adat bemenet / kimenet és különböző köztes stádiumok. Ez a megoldás lehetővé teszi, hogy kifejlesszünk egy specifikus megvalósítási mód szerint a transzformáció a bemeneti adatok típusát és a kívánt kimeneti formátumot. Példák az ilyen átalakításokat:

Ahhoz, hogy egy ilyen fajta eredményez GStreamer működik egy elvont fogalom csővezeték (pipeline). Csővezeték - egy irányított gráfban, amelyben a média adatfolyam egy adott irányba - a bemenet és a kimenet. Pipeline áll element'ov (elemek), és ez a másik kulcsfontosságú fogalom. Element - olyan objektum, amely kerül a gázvezeték, és lehetővé teszi, hogy végezzen egy bizonyos átalakulás médiában. Lehetőség van elemet összekösse, együtt vannak elrendezve, hogy folyamat, amely átalakítja a bemeneti adatokat a kívánt kimeneti formátum. Az egyértelműség kedvéért, úgy véljük, hogy az adatok áramlását a csővezeték, a bal oldalon (downstream) jobbra (az elfolyó). Ugyanezt a megközelítést alkalmazzák a leírás a szállítószalag segítségével GST-dob eszköz. Amint azt az alábbiakban bemutatjuk.

GStreamer maga nem tartalmaz elemeket, annak fő célja - létrehozását a szállítószalag a nyújtott elemek. Különös problémát megoldani segítségével plug-inek. Minden dugó cirkuláltatjuk lefordított fájlt (.so az Unix® vagy .dll Microsoft® Windows®), tartalmaz egy vagy több elemet. Amikor elkezdi Gstreamer lekérdezi az összes telepített plug-inek, hogy összegyűjtse a rendelkezésre álló elemeket. A beépülő modul általában nem folytató multimédiás feldolgozás, és együttműködik más könyvtárak számára ezeket a feladatokat: például MPEG2 dekóder egy létező könyvtár dolgozó MPEG-formátumban. Azonban ez a felhatalmazás átlátható módon kerül sor, hogy az alkalmazást, és kölcsönhatásba lép csak az elemek egy közös felületen.

Néhány plug-in, hogy meghosszabbítja az alapvető csomagokat és alkotják egyetlen könyvtár, amely különböző elemekből. Más mag plugins oszlanak GST-plugins-base csomagot. Ők állnak rendelkezésre a legtöbb Gstreamer telepítési lehetőségeket. Van is egy GST-plugins-good, -Bad és -ugly csomagokat, melyekben a kiválasztott különböző plugins függően a támogatás mértékét és szaporítása az elvet. Végül vannak olyan bővítmények forgalmazott harmadik fél által korlátozott ideig használják, csak egy kérelmet.

Alkalmazási példa GStreamer

Most, miután elmagyarázza az alapvető fogalmakat a GStreamer, ez volt a sor, hogy vizsgálja meg a végrehajtás. Ehhez meg kell adnia egy számos új fogalom.

Zavart a nevek - mosogató (Engl kimenetet.) - egy bemenet, és a forrás (source Eng.) - hozam?!

Tény, hogy nincs zavar. Miután mosogató pad (belépési pont), a kapott adatok elemet, és a forrás pad (folyáshatár) a másik elementa kezdenek. Ezért az elem csak kilépési pontok neve forrás (source) és az elem csak a belépési pontok nevezett mosogató (mosogató). Olyan egyszerű, annak ellenére, hogy a látszólagos logikai tévedés.

Mint említettük, a fő koncepció egy feldolgozó elem által bemutatott osztály GstElement. Gstreamer C-ben írták, de használja a GObject könyvtár GTK + további OOP funkciók (lásd. A forrásokat). Ez GstElement két párna (dokkoló ponton) más elemekkel Gstreamer. Kétféle típusú betétek:

  • mosogató pad. belépési pont a médiában.
  • forrás pad. kilépési pont feldolgozott adatok elem.

I pad paraméterek úgynevezett kupakok (fúvókák), meghatározza a formátum az adatok áthaladnak a pad. Például 1-es kód felsorolja a vorbisdec elem. amely dekódolja a szabad Vorbis formátumban. $ Dollár jel elején a sor azt jelzi, hogy ez egy közös UNIX shell parancsot.

Listing 1. Részletes leírás vorbisdec elem

Ahogy az látható, egy töredék bejelentette két pad sablon: az egyik adat kimenet (src), a másik bemenet (mosogató). Pad kimeneti mindig elérhető (mindig), és támogatja a következő minta reprodukált adatok: nem kezelt hangfrekvenciás 8-50 kHz a hatcsatornás egycsatornás, endian és 32 bites mintát. Egyéb lehetséges hozzáférés: néha (néha), és mindig (kérésre). bemenet pad sablon is azonnali hozzáférést biztosít, és tud fogadni audio Vorbis formátumban.

Ezek a sablonok elengedhetetlen a megfelelő működéséhez a szállítószalag. Ha megpróbáljuk összekapcsolni a két elem együtt alkotják a csővezeték, Gstreamer ellenőrzi, hogy pad'ov összekapcsolható elemek kompatibilis sablonok. Ezt a folyamatot nevezik tárgyalás (egyeztetés). A tárgyalások során az elemek próbálják felvenni a legjobb formában az említett, hogy azok is támogatja. Ha ez nem sikerül, a kötőelem nem kerül végrehajtásra. Ha úgy döntenek, egy közös formátumot, akkor ez a formátum nem az egyik rendelkezésre álló sablonok, és fix sapkák - egyértelműen elfogadott adatcsere-formátumot. Most az adatok átvihetők az egyik elemről a másikra.

A közölt információ elegendő az induláshoz az Gstreamer. Ez szükségessé teszi a sokoldalú eszköz Gstreamer - GST-dob.

Munka GST-dob

Egyéb közművek Gstreamer

Amellett, hogy a GST-dob Gstreamer kínál más nagyon hasznos eszközök, mint például a GST-ellenőrzéshez és a GST-typefind.

Ha nem tudja, hogyan kell használni minden olyan elemet, használja a GST-ellenőrizni. Nevében a kért elementa vagy plug-GST-megvizsgálni megjeleníti az összes információt, amely Gstreamer nyújthat neki.

GST-typefind. Gstreamer-analóg fájl (1) -utility a UNIX, megtalálja a fájltípust pontosabban, hogy milyen típusú a fájl maga Gstreamer.

GST-dob - egy univerzális program, sok funkcióval. Gstreamer eszköz GST-dob - ugyanaz, mint a Shell for UNIX. Segítségével létrehozható összetett csővezetékek egy speciális szintaxis GST-dob. amint azt a 2. lista.

2. lista A közüzemi GST-dob

A kód 2. lista egy egyszerű audio lejátszó használt fájl lejátszásához concept.mp3. Az 1. táblázat egy részletes elemzést a kódot.

1. táblázat elemzése kódlistá 2 fragmentumok

Element létrehoz egy osztály filesink (fájlok vevő), és állítsa be a helyét tulajdonság (hely) fájl concept.mp3. Ez az elem olvashatja a fájlokat meghatározott helyen. és indítsa concept.mp3 fájl olvasó program az aktuális könyvtárban.

A felkiáltójel van társítva a (link). Hasonló a | burkolat héj, ez azért választottuk, mert a hasonlóság, és ez így is használható kezelés nélkül héjában, ha körül fehér térben.

Ez a legfontosabb eleme az összetétel Gstreamer - autoplugger (linker). Segítségével adattípusok, állítsa be a bemeneti és kimeneti, megkeresi az összes rendelkezésre álló tételek szervezni az al-csővezeték, amely biztosítja a kívánt eredményt. Input / output formátumok minden elemét Gstreamer egyértelműen meg kell határozni, ezért a felkiáltójel (.) Nem nyújt információt a formátum elemeket, amelyeket velük kapcsolatban. Mivel filesrc egy sapka típusa Bármely. Az első feladat, hogy meghatározza a tényleges decodebin adatfolyamformátummal (typefind). Ehhez beolvassa a paramétereket, amelyek meghatározzák, hogy milyen típusú adatokat. Mindezek az intézkedések végzik a felhasználó is.

Ezzel az elemmel a kimenő hangot, Linux. Kölcsönhatásban áll a hangkártya és megjeleníti azt az előkészített hanganyagok. Azt is szabályozza a teljesítményt a szállítószalag, valamint a hangkártya képes adatokat fogadni csak egy bizonyos sebesség.

ENTER gomb megnyomása után jelenik meg néhány információt az üzeneteket, amíg a cső eléri a játéktér állapota (játékos). Ezen a ponton, az adatok elkezdenek mozogni a csővezetéken keresztül, és a hang elkezdi lejátszani a hangot hangszórók.

Ahogy meglátjuk GStreamer segítségével jelentős mértékben egyszerűsíti a feldolgozási média. Ott nem is szükséges tudni a pontos méret, az anyagok átalakítása. Ugyanakkor, mivel a héj kabát nem tudja helyettesíteni a C programok és GST-dob nem helyettesíti a teljes értékű Gstreamer alkalmazás. Például a GST-dob nem tudja ellenőrizni a működését a szállítószalag elindítása után, amely nem teszi lehetővé, hogy kihagyja a felesleges részeket a adatfolyamot. Annak ellenére, hogy ezeket a korlátozásokat, a GST-dob hihetetlenül praktikus eszköz, hogy gyorsan megoldja az egyszerű feladatok, mint például az átkódolás fájlokat egyik formátumból a másikba.

Folytatás ismerete Gstreamer

A Complete Guide to GST-dob megtalálhatók a vonatkozó részben az ember. A szintaxis lehetővé teszi, hogy bonyolultabb és érdekesebb szállítószalagok, beleértve azokat, amelyek önállóan gondolkodni. Ön is létrehozhat saját verzióját gst_launch. További részletek erről a lehetőséget, megérti a dokumentációs oldalán gst_parse_launch () függvényt.

Ezen felül, akkor csatlakozhat a levelezési lista vagy IRC-csatornán (#[email protected]). A Gstreamer fejlesztői közösség megtalálja a személy, aki segít, vagy aki tud segíteni.

  • Többcélú multimédiás feldolgozás Gstreamer (EN). Az eredeti cikk
  • Gstreamer Application Development Manual. További információkért Gstreamer és képességeit alkalmazások fejlesztését.
  • Gstreamer Plugin író talál. irányítani, hogy saját plug-inek.
  • Gstreamer 0,10 Core Reference Manual. Útmutató Gstreamer.
  • GObject Reference Manual. ez az útmutató segítségével többet megtudni az objektum-orientált könyvtár által használt Gstreamer.
  • AIX és UNIX. AIX és UNIX developerWorksön terület ad egy csomó különböző kapcsolatos információk minden szempontból AIX és technikák dolgozik UNIX rendszer adminisztráció.
  • Szemináriumok és képzési developerWorksön Magyarország
  • Podcastok. rekord előadások IBM szakértők.

Get termékek és technológiák

  • Homepage Gstreamer. ezen az oldalon található a legújabb frissítéseket és a disztribúció Gstreamer.
  • Isztambulban. Gstreamer-alapú alkalmazás felvételek egy asztali számítógép.
  • IBM próbaszoftver. próbaverziói szoftverfejlesztők, amely letölthető a developerWorksön.