3 minute read

Hình 4.8. Header của RTP Packet

hạn. Trên thực tế, gói tin RTP sử dụng địa chỉ IP trên mạng để định danh các máy tính gửi và nhận. RTP cũng hỗ trợ truyền dữ liệu tới nhiều điểm đích thông qua địa chỉ IP multicast. RTP đƣợc phát triển bởi tổ chức Audio/Video Transport của tổ chức tiêu chuẩn IETF. RTP đƣợc sử dụng kết hợp với các giao thức khác nhƣ H.323 và giao thức RTSP. Chuẩn RTP định nghĩa một cặp giao thức làm việc với nhau đó là RTP và RTCP. RTP đƣợc sử dụng để truyền tải dữ liệu đa phƣơng tiện và giao thức RTCP đƣợc sử dụng để gửi các thông tin điều khiển với các tham sốQoS. Các giao thức thành phần: RTP gồm 2 giao thức con là RTP và RTCP. Giao thức truyền, RTP quy định cách thức truyền dữ liệu theo thời gian thực. Thông tin đƣợc cung cấp bởi giao thức này bao gồm thời gian đồng bộ (timestamps), số thứ tự gói tin (phục vụ cho việc tìm gói tin bị lạc) và chi phí cho việc mã hóa định dạng dữ liệu. Giao thức điều khiển, RTCP đƣợc sử dụng cho việc kiểm tra chất lƣợng (QoS) luồng dữ liệu và thực hiện đồng bộ giữa các luồng dữ liệu. So với RTP, thì băng thông của RTCP sẽ nhỏ hơn, vào cỡ 5%. Một giao thức cho phép miêu tả dữ liệu đa phƣơng tiện nhƣng không bắt buộc phải kèm theo là giao thức miêu tả phiên (Session Description Protocol – SDP).

Phiên (Session): Một phiên RTP đƣợc thiết lập cho mỗi luồng dữ liệu. Một phiên bao gồm một địa chỉ IP với một cặp cổng của giao thức RTP và RTCP. Ví dụ, các luồng video và audio sẽ có các phiên RTP khác nhau, bên nhận sẽ nhận một cách riêng biệt giữa dữ liệu video và audio thông qua 2 cổng khác nhau cho 2 giao thức RTP và RTCP. Thƣờng thì số hiệu cổng của RTP là một số chẵn trong khoảng 1024tới 65535 và cổng của RTCP là một số lẻ kế tiếp.

Advertisement

Hình 4.8 Header của RTP Packet Kích thƣớc nhỏ nhất của một header của gói tin RTP là 12 bytes. Sau phần header chính, là phần header mở rộng và không cần thiết phải có phần header này. Chi tiết các trƣờng trong một header nhƣ sau:

Version (2 bits): Cho biết phiên bản của giao thức này. Phiên bản hiện tại là phiên bản 2.

P (Padding) (1 bit): Cho biết số các byte mở rộng cần thêm vào cuối của gói tin RTP. Ví dụ trong trƣờng hợp ta muốn sử dụng các thuật toán mã hóa, ta có thể thêm vào một số byte vào phần kết thúc của gói tin để tiến hành mã hóa frame trên đƣờng truyền.

X (Extension) (1bit): Cho biết có thêm phần header mở rộng vào sau phần header chính hay không.

CC (CSRC Count) (4 bit): Chứa con số định danh CSRC cho biết kích thƣớc cố định của header.

M (Marker) (1 bit): Cho biết mức của ứng dụng và đƣợc định nghĩa bởi một profile. Nếu đƣợc thiết lập, có nghĩa là dữ liệu hiện tại đã đƣợc tính toán chi phí một cách thíchhợp.

PT (Payload Type) (7 bit): Cho biết định dạng của file video. Đây là một đặc tả đƣợc định nghĩa bởi một profile RTP.

Sequence Number (16 bits): số hiệu của frame. Và sẽ đƣợc tăng lên 1 đơn vị cho mỗi gói tin RTP trƣớc khi gửi và đƣợc sử dụng bởi bên nhận để dò ra các gói bị lạc và có thể phục hồi lại gói có số thứ tự đó.

Timestamp (32 bits): Đƣợc sử dụng thông báo cho bên nhận biết để phát lại frame này trong khoảng thời gian thích hợp.

SSRC (32 bits): Định danh cho nguồn streaming. Mỗi nguồn cho phép streaming video sẽ định danh bởi một phiên RTP duy nhất.

c. Giao thức RTMP - Real Time Messaging Protocol

RTMP (Real Time Messaging Protocol) là giao thức không công khai do Adobe phát triển và giữ bản quyền, đƣợc thiết kế cho ứng dụng thời gian thực, cho phép ứng dụng sử dụng video và âm thanh với tốc độ nhanh, hạn chế bị giật hình hoặc méo tiếng.

This article is from: