Bosh sahifa Wiki RTP

RTP

RTP — Real-time Transport Protocol, audio va video kabi vaqtga sezgir media oqimlarini IP tarmoq orqali tashish uchun packet format va session qoidalarini belgilovchi protokol. U ko‘pincha UDP ustida ishlaydi, sequence number, timestamp, payload type va source identifier beradi, biroq paket yetib borishi, tartibi yoki maxfiyligini o‘zi kafolatlamaydi.

Paket sarlavhasi

Sequence number har RTP paketda ortadi va receiverga yo‘qolgan yoki tartibi almashgan paketlarni aniqlashga yordam beradi. U media vaqti emas. Timestamp sample clock bo‘yicha media qaysi paytga tegishli ekanini ko‘rsatadi; audio va video uchun clock rate payload profilida belgilanadi.

Payload type codec yoki format bilan bog‘lanadi. Static mappinglar mavjud bo‘lsa-da, zamonaviy sessionlarda qiymat SDP orqali dinamik kelishiladi. SSRC bitta synchronization sourceni ajratadi. Mixer yoki bir necha stream bo‘lsa CSRC ro‘yxati contributorlarni ko‘rsatishi mumkin.

Jitter va yo‘qotish

UDP paketlari kechikishi, yo‘qolishi yoki boshqa tartibda kelishi mumkin. Receiver jitter buffer bilan ozroq kutib, tartibsizlikni tekislaydi. Katta buffer yo‘qotishni kamaytiradi, ammo end-to-end latencyni oshiradi. Juda kech paket real-time playback uchun amalda yo‘qolgan hisoblanadi.

Codec packet loss concealment, forward error correction yoki retransmission ishlatishi mumkin. Interaktiv qo‘ng‘iroqda kech retransmission foydasiz bo‘lishi, streamingda esa ko‘proq vaqt mavjud bo‘lishi mumkin.

RTCP va sessiya

RTCP RTP bilan bog‘liq control protokoldir. Receiver report loss, jitter va sequence statistikasi beradi; sender report RTP timestampni wall-clock vaqt bilan bog‘lab, audio-video synchronizationga yordam beradi. RTCP media paketini tashimaydi va odatda RTPga nisbatan kichik bandwidth ulushida yuboriladi.

RTP portni o‘zi topmaydi. SIP/SDP, WebRTC signaling yoki boshqa control plane IP, port, codec va encryption parametrlarini kelishadi. NAT va firewall uchun ICE, STUN, TURN yoki media relay kerak bo‘lishi mumkin.

Xavfsizlik

Oddiy RTP payload ochiq va o‘zgartirilishi mumkin. SRTP encryption, integrity va replay protection qo‘shadi; keylar DTLS-SRTP yoki signaling orqali kelishiladi. Faqat transport tunneliga ishonish end-to-end trust modelidan farq qiladi.

Monitoring packet loss, round-trip time, jitter, bitrate va audio concealment kabi sifat ko‘rsatkichlarini SSRC bo‘yicha kuzatadi. Sequence gap har doim network loss emas: sender restart yoki SSRC almashishi ham hisobga olinadi.

Audio va video sinxronligi

Audio va video alohida SSRC va turli RTP clock ratelaridan foydalanadi. Ularning timestamp qiymatlarini to‘g‘ridan-to‘g‘ri solishtirib bo‘lmaydi. RTCP sender report har streamdagi RTP timestampni umumiy NTP vaqtiga bog‘laydi; receiver shu mapping orqali lip-sync qiladi. Sender report kelmasa playback lokal arrival vaqtiga tayansa drift paydo bo‘lishi mumkin.

Payload packetization ham sifatga ta’sir qiladi. Bitta audio paketga ko‘proq millisekund sample joylashsa header overhead kamayadi, lekin bitta packet loss ko‘proq ovozni yo‘qotadi va algorithmic delay oshadi. Video frame bir necha RTP packetga bo‘linishi mumkin; muhim fragment yo‘qolsa butun frame decode qilinmasligi ehtimol. MTUga mos packet size IP fragmentationdan saqlaydi.

RTP header extension transport-wide sequence, audio level yoki orientation kabi qo‘shimcha metadata olib yurishi mumkin. Extension ID va encryption qoidasi sessionda kelishiladi; noma’lum extension receiver tomonidan xavfsiz e’tiborsiz qoldiriladi.

Bog‘liq tushunchalar

RTCP, SRTP, UDP, Jitter buffer, SDP, Codec, WebRTC, Packet loss