Common C++ RTP

Software screenshot:
Common C++ RTP
Software detaljer:
Version: 2.0.0
Upload dato: 11 May 15
Udvikler: David Sugar
Licens: Gratis
Popularitet: 35

Rating: nan/5 (Total Votes: 0)

GNU ccRTP er en implementering af RTP, realtids-transport-protokol fra IETF (se RFC 3550, RFC 3551 og RFC 3555). ccRTP er et C ++ bibliotek baseret på GNU Common C ++, der giver en høj ydeevne, fleksible og udvidelige standardkompatible RTP stak med fuld RTCP støtte. Udformningen og gennemførelsen af ​​ccRTP gør den velegnet til høje kapacitet servere og gateways samt personlige klient applikationer.
Ved udformningen ccRTP, har vi taget hensyn til, at RTP er blevet defineret som en ansøgning niveau protokol ramme snarere end en typisk Internet transport protokol som TCP og UDP. Således er RTP næsten aldrig implementeret som et lag adskilt fra programmet.
Derfor RTP applikationer ofte skal tilpasse tilpasningsdygtige RTP packet layout og forarbejdning regler, timing begrænsninger, regler session medlemskab samt andre RTP og RTCP mekanismer. ccRTP sigter mod at skabe en ramme for RTP rammer, snarere end at være bare en RTP packet manipulation bibliotek.
Støtte til både lyd og video data anses også i udformningen af ​​ccRTP, der kan gøre en delvis ramme splitter / re-forsamling. Unicast, multi-unicast og multicast transportmodeller er understøttet, samt flere aktive synkronisering kilder, flere RTP sessioner (SSRC mellemrum), og flere RTP applikationer (CNAME mellemrum). Dette tillader det bruger til at bygge alle former for internet-standarder baseret lyd og visuelle konferencesystemer.
GNU ccRTP er threadsafe og høj ydeevne. Det bruger pakke kø lister til modtagelse og transmission af datapakker. Både indbyrdes medier og intra-media synkronisering automatisk håndteres inden for de indgående og udgående pakke køer. GNU ccRTP tilbyder support til RTCP og mange andre standard og udvidede funktioner, der er nødvendige for både kompatible og avancerede streaming applikationer.
Det kan blande flere nyttelast typer i åen, og derfor kan bruges til at impliment RFC 2833-kompatible signalsystemer applikationer samt andre specialiserede ting. GNU ccRTP tilbyder også direkte RTP og RTCP pakkefiltrering.
GNU ccRTP bruger skabeloner til at isolere threading og stik relaterede afhængigheder, så det kan bruges til at impliment realtime streaming med forskellige threading modeller og underliggende transportprotokoller, ikke bare med IPV4 UDP sockets. For en mere detaljeret liste over ccRTP funktioner, du kan få et kig på manuel programmørerne '.
På det højeste niveau, ccRTP giver klasser for real-time transport af data via RTP-sessioner, samt kontrolfunktioner RTCP.
Det vigtigste begreb i ccRTP gennemførelsen af ​​RTP sessioner er brugen af ​​pakkekøer at håndtere transmission og modtagelse af RTP datapakker / anvendelse dataenheder. I ccRTP, er en datablok transmitteret ved at sætte det ind i transmissionen (udgående pakker) kø, og modtaget ved at få det fra receptionen (indkommende pakker) kø.
Der er flere niveauer af interface (offentlige interface, offentlig eller beskyttet arv, etc.) i ccRTP. For eksempel rtphello demo programmet distribueres med ccRTP bare bruger den offentlige grænseflade RTPSession klasse og ikke omdefinere den virtuelle metode onGotSR, dermed, hvad dette program ved om SR rapporter er de fremførte oplysninger i den sidste afsender rapport fra enhver kilde, som kan hentes via getMRSenderInfo fremgangsmåden SyncSource klasse.
Tværtimod det rtplisten demo program omdefinerer onGotSR ved arv og kunne gøre specialiseret behandling af disse RTCP pakker. Generelt både data og kontrol pakker, der ikke er direkte tilgængelige gennem den mest eksterne grænseflade.
Alt dette funktioner udføres gennem et par væsentlige klasser og typer. De mest basale er opregnet typen StaticPayloadType og klasserne StaticPayloadFormat og DynamicPayloadFormat.
De vigtigste er klasserne RTPSession, SyncSource, Deltager og AppDataUnit, der repræsenterer RTP sessioner, synkronisering kilder, deltagerne i en RTP ansøgning, og anvendelse dataenheder formidles i RTP datapakker hhv.
Når du bruger ccRTP, både afsendelse og modtagelse af data transporteres over RTP sessioner sker gennem modtagelse og transmission køer behandles af RTP stakken. I det mest almindelige tilfælde, en separat udførelse tråd for hver RTP session håndterer køerne. Dette tilfælde er threading model, som vi normalt vil antage i hele dette dokument. Bemærk dog, at ccRTP understøtter andre threading modeller, især ccRTP understøtter brugen af ​​en enkelt henrettelse tråd til at tjene et sæt af RTP sessioner. Det er også muligt at ikke knytte nogen separat tråd med nogen RTP session manuelt kalde de vigtigste data og kontrol tjeneste metoder fra enhver anden tråd.
Den grundlæggende idé for pakke modtagelse med ccRTP er, at ansøgningen ikke direkte læse pakker fra stikkontakter, men får dem fra en reception kø. Stakken er ansvarlig for at indsætte modtagne pakker i receptionen køen og håndtering af dette kø. Generelt betyder en pakke modtagelse og indsættelse i receptionen køen ikke ske samtidig programmet får det fra køen.
Omvendt er den grundlæggende idé for pakketransmission med ccRTP er, at pakker, der ikke er direkte skrevet til stikkontakter men findes i en transmission kø håndteres af stablen. Generelt packet isætning og transmission opstår på forskellige tidspunkter, selv om det ikke er nødvendigt.
For at kunne bruge ccRTP, skal du medtage de vigtigste header (#include To ekstra headers leveres af ccRTP.:
# include     Klasser for puljer af RTP service-tråde.
# include
    Klasser for RTP udvidelser, som ikke er modne endnu.
Du skal også linke i biblioteket, i øjeblikket ccrtp1

Funktioner :..

  • Meget strækbar til specialiserede stakke
  • · Understøtter unicast, multi-unicast og multicast. Håndterer flere kilder (herunder synkronisering kilder og bidrager kilder) og destinationer. Understøtter også symmetrisk RTP.
  • Automatisk RTCP funktioner håndtering, såsom sammenslutning af synkronisering kilder fra samme deltager eller NTP-RTP tidsstemplet mapping.
  • typeparametrisering som for underliggende netværk og transportprotokoller gennem skabeloner.
  • Det er threadsafe og understøtter næsten enhver threading model.
  • Generiske og Extensible RTP og RTCP header gyldighed kontrol.
  • Håndterer kilde stater og oplysninger samt statistik optagelse.
  • håndterer automatisk SSRC kollisioner og udfører loop afsløring.
  • Redskaber timer revurdering og vende fornyet behandling.
  • Giver gode tilfældige tal, baseret på / dev / urandom eller alternativt, om MD5.

Hvad er nyt i denne udgivelse:

  • Kode oprydning, fejlrettelser til RTP afsender info, og sammenlægning af Debian patches opstrøms.

Andre software developer David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Kommentarer til Common C++ RTP

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!