Giao thức RTSP hay còn gọi là giao thức truyền dòng thời gian thực là giao thức nằm trên tầng ứng dụng trong mô hình mạng Interent. RTSP được thiết kế để thiết lập và điều khiển phiên truyền dòng dữ liệu đa phương tiện trên mạng
IP cho ứng dụng dựa trên công nghệ streaming. Các chức năng chính của RTSP là:
- Cho phép người dùng thực hiện hoạt động điều khiển như tạm dừng,
tiếp tục, xác định vị trí phát, tua nhanh, tua chậm và lấy dòng dữ liệu đa phương tiện.
- Cho phép việc lựa chọn phương thức truyền thông theo UDP hay TCP,
multicast hay unicast.
- Ghi lại nội dung đang truyền thông, cũng như thêm dữ liệu đa phương
tiện trong khi hệ thống đang hoạt động
Hình 11: Minh họa quá trình hoạt động của giao thức RTSP
Với chức năng như vậy, giao thức RTSP là giao thức điều khiển cho quá trình truyền dữ liệu đa phương tiện qua mạng IP giữa máy chủ streaming và máy phía người dùng. RTSP có cấu trúc và cú pháp tương tự như HTTP. Hoạt động của RTSP gồm bốn bước như sau :
- Bước 1: Client thực hiện thiết lập kết nối tới máy chủ streaming
- Bước 2: Client thực hiện đưa ra một chuỗi các lệnh xác định để mô tả
Thông tin này được đặt trong tiêu đề SETUP và DESCRIBE kèm theo với chỉ số phiên của máy người dùng.
- Bước 3: Sau khi đã thiết lập xong các tham số truyền thông, phía clients
hay máy người dùng đưa ra lệnh PLAY để hướng dẫn máy chủ bắt đầu quá trình truyền thông luông dữ liệu.
- Bước 4: Nếu phía người dùng đưa ra quyết định đóng truyền thông, lệnh
TEARDOWN và kèm theo ID của phiên truyền được gửi tới máy chủ streaming để chấm dứt quá trình truyền bằng RTP.
- RTSP có nhiều lệnh thực hiện việc điều khiển quá trình streaming như
PLAY, SETUP, RECORD, PAUSE, TEARDOWN. Dưới đây là minh họa quá trình hoạt động của giao thức RTSP với một số lệnh đó.
Qua hình 11, Chúng ta thấy rằng ban đầu máy người dùng (Client C) thiết lập kết nối tới máy chủ web (web server) để lấy thông tin mô tả ban đầu cho quá trình truyền thông đa phương tiện sau này. Tiếp theo, phía máy người dùng đưa ra những yêu cầu OPTIONS và thông tin liên quan đến dữ liệu đa phương tiện tới máy chủ streaming (media server) và chờ máy chủ chấp nhận lựa chọn này.
Khi máy chủ đã chấp nhận, thì Client C tiếp tục gửi các yêu cầu mô tả DESCRIBE tới media server thông qua giao thức TCP hoặc UDP. Thông tin quan trọng nhất trong quá trình là chính là thông tin về streamid của video và streamid của âm thanh.
Tiếp theo, client C tiếp tục gửi yêu cầu SETUP tới media server. Yêu cầu SETUP có nhiệm vụ chi ra cách mà một dòng dữ liệu truyền đi. Dưới đây là minh họa một yêu cầu SETUP Request.
Sau khi quá trình SETUP thành công, thì client C gửi yêu cầu PLAY để media server thực hiện việc truyền các khung dữ liệu từ media server tới client C. Các khung dữ liệu này sẽ được lưu tại bộ đệm của client C, được giải mã và hiển thị tới thiết bị hiển thị và âm thanh tương ứng. Trong quá trình gửi yêu cầu PLAY, client C có thể gửi thêm các thông tin về dải truyền, truyền toàn bộ, hay tạm dừng, quá trình này thực chất là việc chỉ ra số chỉ số khung bắt đầu và chỉ số khung kết thúc của quá trình truyền thông đa phương tiện. Khi cần kết thúc quá trình truyền thông thì yêu cầu TEARDOWN được thực hiện giữa client C và media server. Quá trình truyền dữ liệu đa phương tiện này sẽ RTP và RTCP thực hiện. [7], [16], [21].