Common C++ RTP

Software screenshot:
Common C++ RTP
Podrobnosti Software:
Verze: 2.0.0
Datum uploadu: 11 May 15
Vývojka: David Sugar
Licence: Volný
Popularita: 35

Rating: nan/5 (Total Votes: 0)

GNU ccRTP je implementace RTP, přenosový protokol v reálném čase z IETF (viz RFC 3550, RFC 3551 a RFC 3555). ccRTP je C ++ knihovna založená na GNU Common C ++, který poskytuje vysoký výkon, flexibilní a rozšiřitelné kompatibilní se standardy RTP se ukládají s plnou podporou RTCP. Návrh a realizace ccRTP je vhodný pro vysoké servery a bránami kapacity, stejně jako osobní klientských aplikací.
Při navrhování ccRTP, jsme se vzít v úvahu, že společnost RTP byla definována jako aplikační úrovni rámce protokolu spíše než typické Internet transportního protokolu, jako je TCP a UDP. Tak, RTP, velmi málo implementován jako vrstva se oddělí od aplikace.
V důsledku toho, aplikace RTP často musí přizpůsobit adaptabilní pravidla rozvržení a zpracování paketů RTP, načasování omezení, pravidla členství zasedání, jakož i jiné mechanismy, RTP a RTCP. ccRTP si klade za cíl poskytnout rámec pro rámec RTP, spíše než být jen RTP manipulace paket knihovna.
Podpora pro audio a video dat je také považován v designu ccRTP, že může dělat dílčí rám rozdělí / re-montáž. Unicast, multi-unicast a multicast dopravních modelů jsou podporovány, stejně jako více aktivních zdrojů synchronizace, více relací RTP (SSRC prostory), a několik aplikací RTP (CNAME mezery). To umožňuje to použít pro stavbu všech forem internetovými standardy založené zvukové a vizuální konferenční systémy.
GNU ccRTP je threadsafe a vysoký výkon. Používá paketů seznamy fronty pro příjem a přenos datových paketů. Oba vzájemné média a synchronizace uvnitř média se automaticky zpracovány v rámci příchozích a odchozích paketů frontách. GNU ccRTP nabízí podporu pro RTCP a mnoho dalších standardních a rozšířené funkce, které jsou potřebné pro oba kompatibilní i pokročilé streaming aplikací.
To může míchat více typů užitečného zatížení v proudu, a proto mohou být použity k impliment RFC 2833 kompatibilní signalizační aplikace, tak i další specializované věci. GNU ccRTP rovněž nabízí přímé RTP a RTCP filtrování paketů.
GNU ccRTP používá šablony izolovat threading a zástrčky související závislostí, takže jej lze použít k impliment realtime streamování s různými modely threading a základních transportních protokolů, a to nejen s zásuvkami IPV4 UDP. Pro více detailní seznam ccRTP funkcí můžete podívat na příručce programátorů.
Na nejvyšší úrovni, ccRTP poskytuje třídy pro real-time transport dat přes RTP sezení, stejně jako kontrolní funkce RTCP.
Hlavní koncept při provádění ccRTP společnosti RTP sezení je použití paketových front zvládnout přenos a příjem RTP datových paketů / aplikace datových jednotek. V ccRTP, datový blok se přenáší uvedení do převodovky (odchozí pakety) fronty, a získal tím, že ji z příjmu (příchozí pakety) fronty.
Existuje několik úrovní rozhraní (veřejné rozhraní, veřejné nebo chráněné dědičnosti, etc) v ccRTP. Například, rtphello demo program distribuovaný se ccRTP jen využívá veřejné rozhraní třídy RTPSession a není předefinovat virtuální metodu onGotSR, tedy to, co tento program ví o SR zprávy je informace předávají v poslední zprávě odesílatele z jakéhokoli zdroje, které mohou být vyvolány pomocí metody getMRSenderInfo třídy SyncSource.
Naopak, rtplisten demo program, nově definuje onGotSR prostřednictvím dědičnosti a mohl dělat odborné zpracování těchto RTCP paketů. Obecně platí, že oba údaje a kontrolní pakety nejsou přímo přístupné prostřednictvím nejvíce externí rozhraní.
Všechny tyto funkce jsou prováděny pomocí několika základních tříd a typů. Nejzákladnější z nich jsou výčtového typu StaticPayloadType, a tříd StaticPayloadFormat a DynamicPayloadFormat.
Nejdůležitější z nich jsou třídy RTPSession, SyncSource, účastníků a AppDataUnit, které představují RTP relace, zdroje synchronizace, účastníky v aplikaci RTP a aplikace datových jednotek zaslané v RTP datových paketů, resp.
Při použití ccRTP, odesílání a přijímání dat přepravovaných přes RTP sezení se provádí prostřednictvím přijímání a předávání fronty řešených RTP zásobníku. V nejběžnějším případě, samostatné provedení závit pro každou relaci RTP zpracovává fronty. Tento případ je threading model, který budeme obecně předpokládat v celém tomto dokumentu. Všimněte si však, že ccRTP podporuje i další modely závitů, zejména ccRTP podporuje použití jednoho provedení závitu sloužit sadu RTP sezení. Je také možné, že nebude spojovat žádný samostatné vlákno s jakýmkoli zasedání RTP, ručně volání hlavních dat a služby řízení metod z jakékoliv jiné vlákno.
Základní myšlenkou pro packet recepce s ccRTP je, že aplikace není přímo číst pakety z zásuvek, ale dostává je z příjmu fronty. Stack je zodpovědný za vkládání přijatých paketů v recepci fronty a manipulaci s tímto frontu. Obecně platí, že příjem paketů a vložení do přijímacího frontě se nevyskytuje ve stejné době aplikace dostane to z fronty.
Naopak, základní myšlenka pro přenos paketů s ccRTP je to, že pakety nejsou přímo zapsána do zásuvek, ale vložení do frontě přenosu ovládal zásobníku. Obecně platí, že vkládání a přenos paketu se vyskytují v různých časech, i když to není nutné.
Aby bylo možné používat ccRTP, musíte zahrnout hlavní záhlaví (#include Dva další hlavičky jsou poskytovány ccRTP.:
#include     Třídy pro bazény RTP služeb nití.
#include
    Třídy pro rozšíření RTP, které ještě nejsou zralé.
Musíte také propojit v knihovně, v současné době ccrtp1

Vlastnosti :..

  • Vysoce rozšiřitelný na specializované komíny
  • · Podporuje unicast, multi-unicast a multicast. Kliky více zdrojů (včetně zdrojů synchronizace a přispívajících zdrojů) a destinací. Také podporuje symetrické RTP.
  • Automatické RTCP funkce manipulace, jako například sdružení zdrojů synchronizace z téhož účastníka nebo NTP-RTP mapování časového razítka.
  • genericity jako pro podkladové síťové a transportních protokolů přes šablony.
  • Je threadsafe a podporuje téměř jakýkoliv threading model.
  • Obecné a rozšiřitelné RTP a RTCP kontroly validity záhlaví.
  • Držadla zdrojové stavy a informací, jakož i statistiky nahrávání.
  • automaticky zpracovává SSRC kolizím a provádí detekci smyčky.
  • Realizuje časovače přehodnocení a zvrátit přehodnocení.
  • poskytuje dobrou náhodných čísel, založené na / dev / urandom, nebo alternativně, na MD5.

Co je nového v této verzi:

  • Kód vyčištění, opravy chyb pro RTP odesílatele informace, a slučování záplaty Debianu proti proudu.

Ostatní software developer David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Komentáře k Common C++ RTP

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!