Common C++ RTP

Software skärmdump:
Common C++ RTP
Mjukvaruinformation:
Version: 2.0.0
Ladda upp dagen: 11 May 15
Utvecklare: David Sugar
Licens: Gratis
Popularitet: 35

Rating: nan/5 (Total Votes: 0)

GNU ccRTP är en implementering av RTP, realtidstransportprotokoll från IETF (se RFC 3550, RFC 3551 och RFC 3555). ccRTP är en C ++ bibliotek baserat på GNU Common C ++, som ger en hög prestanda, flexibla och töjbara standardiserad RTP stack med full RTCP stöd. Utformningen och genomförandet av ccRTP gör den lämplig för hög kapacitet servrar och gateways samt personliga klientprogram.
Vid utformningen ccRTP, har vi tagit hänsyn till att RTP har definierats som en protokoll ansökan ram nivå snarare än en typisk Internet transportprotokoll som TCP och UDP. Således är RTP nästan aldrig implementeras som ett skikt separerat från applikationen.
Följaktligen RTP applikationer ofta måste anpassa anpassnings RTP paket layout och bearbetningsregler, timing begränsningar, regler session medlemskap samt andra RTP och RTCP mekanismer. ccRTP syftar till att ge en ram för ram RTP, snarare än bara ett RTP-paket manipulation bibliotek.
Stöd för både ljud och videodata anses också i utformningen av ccRTP, som kan göra partiella ram delar / återsamlings. Unicast, multi-unicast och multicast transportmodeller stöds, liksom flera aktiva synkroniseringskällor, flera RTP sessioner (SSRK mellanslag), och flera RTP applikationer (CNAME mellanslag). Detta gör att det är använda för att bygga alla former av Internet-standarder baserade ljud och visuella konferenssystem.
GNU ccRTP är threadsafe och hög prestanda. Den använder paket kö listor för mottagning och sändning av datapaket. Både intermedia och synkronisering inom media hanteras automatiskt i inkommande och utgående paketköer. GNU ccRTP erbjuder stöd för RTCP och många andra standard och utökade funktioner som behövs för både kompatibla och avancerade strömmande applikationer.
Det kan blanda flera nyttolasttyper i strömmen, och därmed kan användas för att impliment RFC 2833-kompatibla signaleringsapplikationer samt andra specialiserade saker. GNU ccRTP erbjuder också direkt RTP och RTCP paketfiltrering.
GNU ccRTP använder mallar för att isolera gäng och uttag relaterade beroenden, så att det kan användas för att impliment realtime streaming med olika gängmodeller och underliggande transportprotokoll, inte bara med IPV4 UDP sockets. För en mer detaljerad lista över ccRTP funktioner kan du ta en titt på programmerare "handbok.
På sin högsta nivå, ccRTP erbjuder klasser för realtids transport av data genom RTP-sessioner, samt kontrollfunktioner RTCP.
Grundidén i ccRTP genomförandet av RTP-sessioner är att använda paketköer för att hantera sändning och mottagning av RTP datapaket / applikationsdataenheter. I ccRTP, är ett datablock som överförs genom att sätta den i transmissionen (utgående paket) kö, och fick genom att få det från receptionen (inkommande paket) kö.
Det finns flera nivåer av gränssnitt (public interface, offentlig eller skyddad arv, etc) i ccRTP. Till exempel rtphello demo program som distribueras med ccRTP bara använder det offentliga gränssnittet för RTPSession klassen och inte omdefiniera den virtuella metoden onGotSR, alltså vad det här programmet vet om SR rapporter är den information som förmedlas i den sista sändaren rapporten från vilken källa som helst, som kan hämtas via getMRSenderInfo förfarandet enligt SyncSource klassen.
Tvärtom, omdefinierar rtplisten demoprogram onGotSR genom arv och kunde göra specialiserad behandling av dessa RTCP-paket. I allmänhet, både data och kontrollpaketen inte är direkt tillgängliga via de flesta externa gränssnitt.
Allt detta funktioner utförs genom några viktiga klasser och typer. De mest grundläggande är den uppräknad typ StaticPayloadType, och klasserna StaticPayloadFormat och DynamicPayloadFormat.
De viktigaste av dessa är klasserna RTPSession, SyncSource, deltagare och AppDataUnit, som representerar RTP-sessioner, synkroniseringskällor, deltagare i en RTP program och programdataenheter som förmedlas i RTP datapaket, respektive.
När du använder ccRTP, både sändning och mottagning av data som transporteras över RTP-sessioner sker genom mottagnings- och sändningsköer hanteras av RTP stacken. I det vanligaste fallet, en separat exekveringstråd för varje RTP-session hanterar köerna. Detta fall är gäng modell som vi i allmänhet kommer att ta hela det här dokumentet. Observera dock att ccRTP stödjer andra gängmodeller särskilt ccRTP stöder användningen av en enda exekveringstråd för att tjäna en uppsättning RTP-sessioner. Det är också möjligt att inte associera något separat tråd med någon RTP session manuellt ringa de viktigaste uppgifter och kontrollera servicemetoder från vilken annan tråd.
Grundtanken för paket mottagning med ccRTP är att ansökan inte direkt läsa paket från uttag men får dem från en mottagningskön. Stapeln är ansvarig för insättning av mottagna paket i mottagningskön och hantering denna kö. I allmänhet gör en paketmottagning och insättning i mottagningskön inte ske samtidigt ansökan blir det från kön.
Omvänt är den grundläggande idén för paketöverföring med ccRTP att paket inte är direkt skrivs till uttag men insatt i en transmissions kö hanteras av stapeln. I allmänhet paket insättning och sändning uppträder vid olika tidpunkter, men det är inte nödvändigt.
För att kunna använda ccRTP, måste du inkludera huvudrubriken (#include Ytterligare två rubriker tillhandahålls av ccRTP.:
#include     Klasser för pooler av RTP tjänste trådar.
#include
    Klasser för RTP tillägg som inte är mogna ännu.
Du måste också länka i biblioteket, för närvarande ccrtp1

Egenskaper :..

  • Mycket töjbart till specialiserade staplar
  • · Stöder unicast, multi-unicast och multicast. Hanterar flera källor (inklusive synkroniseringskällor och bidra källor) och destinationer. Stöder även symmetrisk RTP.
  • Automatisk RTCP funktioner hantering, såsom en sammanslutning av synkroniseringskällor från samma deltagare eller NTP-RTP tidsstämpel kartläggning.
  • Genericity som för underliggande nätverk och transportprotokoll genom mallar.
  • Det är threadsafe och stöder nästan alla gäng modell.
  • Generic och utdragbara RTP och RTCP header granskningskontroller.
  • Handtag källstater och information samt statistik inspelning.
  • hanterar automatiskt SSRK kollisioner och utför loop upptäckt.
  • Redskap timer omprövning och vända omprövning.
  • Ger bra slumptal baserade på / dev / urandom eller, alternativt, på MD5.

Vad är nytt i den här versionen:

  • Kod rensning, buggfixar för RTP avsändare info, och sammanslagning av Debian patchar uppströms.

Annan programvara för utvecklare David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Kommentarer till Common C++ RTP

Kommentarer hittades inte
Kommentar
Slå på bilder!