Common C++ RTP

Sagteware kiekie:
Common C++ RTP
Sagteware besonderhede:
Weergawe: 2.0.0
Upload datum: 11 May 15
Ontwikkelaar: David Sugar
Lisensie: Gratis
Populariteit: 35

Rating: nan/5 (Total Votes: 0)

GNU ccRTP is 'n implementering van RTP, die real-time vervoer protokol uit die IETF (sien RFC 3550, RFC 3551 en RFC 3555). ccRTP is 'n C ++ biblioteek gebaseer op GNU Algemene C ++ wat 'n hoë werkverrigting, buigsaam en brei die standaarde voldoen RTP stapel met volle ondersteuning bied RTCP. Die ontwerp en implementering van ccRTP maak dit geskik vir 'n hoë kapasiteit bedieners en poorte sowel as persoonlike kliënt aansoeke.
In die ontwerp van ccRTP, het ons in ag geneem word dat RTP is gedefinieer as 'n aansoek vlak protokol raamwerk eerder as 'n tipiese Internet vervoer protokol soos TCP en UDP. So, is RTP skaars geïmplementeer as 'n laag geskei van die aansoek.
Gevolglik RTP aansoeke dikwels moet die aanpasbaar RTP pakkie uitleg en verwerking reëls aan te pas, tydsbeperkinge, reëls sessie lidmaatskap asook ander RTP en RTCP meganismes. ccRTP het ten doel om 'n raamwerk te voorsien vir die RTP raamwerk, eerder as om net 'n pakkie RTP manipulasie biblioteek.
Ondersteuning vir beide klank en video data word ook beskou as in die ontwerp van ccRTP, kan dit doen gedeeltelike raam split / re-vergadering. Unicast, multi-unicast en multicast vervoer modelle word ondersteun, sowel as verskeie aktiewe sinchronisasie bronne, verskeie RTP sessies (SSRC spasies), en verskeie RTP aansoeke (CNAME spasies). Dit laat dit gebruik vir die bou van alle vorme van Internet standaarde gebaseer klank en visuele konferensies stelsels.
GNU ccRTP is threadsafe en hoë werkverrigting. Dit maak gebruik van pakkie tou lyste vir die ontvangs en oordrag van data pakkies. Beide inter-media en intra-media sinchronisasie outomaties binne die inkomende en uitgaande pakkie toue hanteer. GNU ccRTP bied ondersteuning vir RTCP en baie ander standaard en uitgebreide funksies wat nodig is vir beide versoenbaar en gevorderde streaming aansoeke.
Dit kan verskeie tipes loonvrag meng in stroom, en dus gebruik kan word om RFC 2833 voldoen sein aansoeke sowel as ander gespesialiseerde dinge impliment. GNU ccRTP bied ook direkte RTP en RTCP pakket filter.
GNU ccRTP gebruik templates te isoleer threading en voetstukke verwante afhanklikhede, sodat dit gebruik kan word om realtime streaming met verskillende threading modelle en onderliggende vervoer protokolle, nie net met IPv4 UDP voetstukke impliment. Vir 'n meer gedetailleerde lys van ccRTP eienskappe wat jy kan 'n blik op die handleiding programmeerders 'het.
Op sy hoogste vlak, ccRTP bied klasse vir die real-time vervoer van data deur middel van RTP sessies, sowel as die beheer funksies van RTCP.
Die belangrikste konsep in die ccRTP implementering van RTP sessies is die gebruik van pakkie toue om die oordrag en ontvangs van RTP data pakkies / aansoek data eenhede hanteer. In ccRTP, is 'n data blok oorgedra deur dit in die oordrag (uitgaande pakkies) ry, en deur om dit uit die ontvangs (inkomende pakkies) tou ontvang.
Daar is verskeie vlakke van koppelvlak (openbare koppelvlak, openbare of beskerm erfenis, ens) in ccRTP. Byvoorbeeld, die rtphello demo program versprei met ccRTP gebruik net die publiek koppelvlak van die klas RTPSession en nie die virtuele metode onGotSR herdefinieer, dus wat hierdie program weet SR verslae is die vervoer in die laaste sender verslag inligting uit enige bron, wat kan opgespoor word via die getMRSenderInfo metode van die SyncSource klas.
Inteendeel, die rtplisten demo program herdefinieer onGotSR deur middel van erfenis en kon gespesialiseerde verwerking van hierdie RTCP pakkies te doen. Oor die algemeen, sowel data en beheer pakkies is nie direk toeganklik is deur middel van die mees eksterne koppelvlak.
Dit alles word uitgevoer deur 'n paar noodsaaklike klasse en tipes. Die mees basiese kinders is die versyferde tipe StaticPayloadType en die klasse StaticPayloadFormat en DynamicPayloadFormat.
Die belangrikste hiervan is die klasse RTPSession, SyncSource Deelnemer en AppDataUnit dat RTP sessies, sinchronisasie bronne, deelnemers in 'n RTP aansoek, en die toepassing data eenhede oorgedra in RTP data pakkies onderskeidelik, verteenwoordig.
Wanneer die gebruik van ccRTP beide die stuur en ontvang van meer as RTP sessies vervoer data word gedoen deur die ontvangs en transmissie toue hanteer word deur die RTP stapel. In die mees algemene geval, 'n aparte uitvoering draad vir elke RTP sessie hanteer die toue. Hierdie geval is die threading model wat ons in die algemeen sal aanvaar in hierdie dokument. Let egter daarop dat ccRTP ondersteun ander threading modelle, veral ccRTP ondersteun die gebruik van 'n draad enkele uitvoering van 'n stel RTP sessies dien. Dit is ook moontlik om nie te assosieer enige afsonderlike draad met enige RTP sessie, met die hand die roeping van die belangrikste data en beheer diens metodes van watter ander draad.
Die basiese idee vir pakkie ontvangs met ccRTP is dat die aansoek nie direk lees pakkies van voetstukke, maar kry hulle van 'n onthaal tou. Die stapel is verantwoordelik vir die inbring ontvang pakkies in die onthaal tou en die hantering van hierdie tou. In die algemeen, het 'n pakkie ontvangs en voeg in die onthaal tou nie plaasvind op dieselfde tyd die aansoek kry dit van die tou.
Omgekeerd, die basiese idee vir pakkie oordrag met ccRTP is dat pakkies nie direk geskryf voetstukke maar ingevoeg in 'n transmissie tou hanteer word deur die stapel. In die algemeen, pakkie inplanting en oordrag plaasvind op verskillende tye, maar dit is nie nodig nie.
. Ten einde ccRTP gebruik, moet jy die belangrikste header (# include Twee addisionele headers word deur ccRTP sluit in:
# include     Klasse vir poele RTP diens drade.
# include
    Klasse vir RTP uitbreidings wat nog nie volwasse.
Jy moet ook 'n skakel in die biblioteek, tans ccrtp1

Eienskappe :..

  • hoogs extensible gespesialiseerde stapels
  • · Ondersteun unicast, multi-unicast en multicast. Hanteer verskeie bronne (insluitend sinchronisasie bronne en dra bronne) en bestemmings. Ondersteun simmetriese RTP ook.
  • Outomatiese RTCP funksies hanteer, soos vereniging van sinchronisasie bronne van dieselfde deelnemer of NTP-RTP tyd stempel kartering.
  • Genericity as onderliggende netwerk en vervoer protokolle deur templates.
  • Dit is threadsafe en ondersteun feitlik enige threading model.
  • Generiese en extensible RTP en RTCP geldigheid kop tjeks.
  • Hanteer bron state en inligting asook statistiek opname.
  • Outomaties hanteer SSRC botsings en voer lus opsporing.
  • Implemente timer heroorweging en reverse heroorweging.
  • Verskaf goeie ewekansige getalle, gebaseer op / dev / urandom of, alternatiewelik, op MD5.

Wat is nuut in hierdie release:

  • Kode opruim, bugfixes vir RTP sender inligting, en samesmelting van Debian kolle stroomop.

Ander sagteware ontwikkelaar David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Kommentaar te Common C++ RTP

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!