Kỹ thuật streaming dựa trên ý tưởng 'tải về cải tiến', từng phần nội dung được truyền đến client và chơi ngay trong khi những phần khác tiếp tục được truyền đến; và nội dung không lưu lại trên máy client.
Streaming đặt ra những thách thức về công nghệ, vì để đảm bảo chất lượng audio và video phát trực tuyến. Bước đột phá tạo nên cuộc cách mạng trong lĩnh vực audio/video trực tuyến đó là sự xuất hiện các giao thức Internet mới như UDP (User Datagram Protocol), RTP (Realtime Tranfer Protocol), và RTSP (RealTime Streaming Protocol) cho phép truyền nội dung audio/video trên Internet hiệu quả hơn các giao thức trước đây.
Trước khi có UDP, dữ liệu được truyền trên web chủ yếu dùng giao thức TCP (Transmission Control Protocol). TCP được thiết kế nhằm đảm bảo độ tin cậy, toàn vẹn và chính xác thông tin cho việc truyền dữ liệu, email, trang web HTML trên Internet.
UDP được thiết kế ưu tiên cho việc truyền dữ liệu liên tục hơn là nhằm đảm bảo tính toàn vẹn dữ liệu, vì vậy đặc biệt thích hợp cho việc truyền phát audio/video. Không giống phương thức truyền TCP, khi gói dữ liệu audio/video truyền theo giao thức UDP bị trục trặc (hoặc bị mất), máy chủ vẫn gửi tiếp các gói dữ liệu khác.
RTSP cho phép truyền hai chiều (nghĩa là người dùng có thể tương tác với máy chủ để điều khiển quay lui, tiến tới... giống chức năng bộ điều khiển từ xa của đầu VCR hay DVD).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Vì vậy bài toán thử nghiệm đã chọn giao thức RTSP làm bài toán thực nghiệp. Bài toán thực hiện tạo một trang Web chia sẻ nhạc và cấu hình giao thức RSTP sử dụng Wireshark để bắt và kiểm tra gói tin truyền giữa WebAudio Server và WebAudio Client.
Mô hình tổng quan:
HTTP GET
Presentation Description File Setup Play Media Stream Pause Teardown Web Browser VLC Player Web Server Server VLC Player HTTP RTSP
Hình 3.1a: Mô hình tổng quan mô phỏng WebAudio
Trong hình 3.1a:
- Mô hình bao gồm máy chủ Web Server được Cài đặt Apache2.2 chứa cơ sở dữ liệu giao diện WebAudio và Application của Web được viết bằng ngôn ngữ PHP.
- Streamming Server là máy chủ chứa file Audio/ Video. Và dùng VLC player làm công cụ thể hiện các bản nhạc.
Quá trình hoạt động đƣợc mô tả nhƣ sau:
Client muốn nghe bản nhạc sử dụng giao thức HTTP gửi yêu cầu đến máy chủ. Máy chủ kiểm tra trong cơ sở dữ liệu về thông tin bài hát yêu cầu, các kết nối điều khiển RTSP được thiết lập. Nếu thành công sẽ diễn ra quá trình truyền file giữa máy chủ và Client sử dụng giao thức RTP trên UDP để truyền. Giao thức RTCP là giao thức thông báo các kết quả truyền nhận của RTP. Hinh 3.1b mô tả các giao thức ở tầng ứng dụng và tầng mạng hỗ trợ truyền file âm thanh thời gian thực:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/
Hình 3.1b: Các giao thức hỗ trợ quá trình truyền nhận Audio
Dưới chế độ này hình 3.1c 3 liên kết riêng lẻ được thiết lập để cung cấp sự truyền thông giữa RTSP client và một WebAudio Server:
Hình 3.1c: Các kết nố ệc
- Một liên kết báo hiệu ngoài được thiết lập để mang thông tin điều khiển RTSP. Giao thức lớp vận chuyển được sử dụng bởi liên kết này có thể là TCP hoặc UDP. Ngoài việc mang các thông tin điều khiển kết nối này còn mang cả nội dụng của Audio.
- Một liên kết RTP dựa trên UDP được thiết lập để mang nội dung Audio được mă hóa.
- Liên kết thứ 3 này mang RTCP trên UDP để mang các thông tin đồng bộ. Sẽ cung cấp các phản hồi về server dựa trên chất lượng của luồng đang được phân phối.
Các phương pháp RTSP cung cấp một proxy với tất cả các thông tin cần thiết để mở cổng, so và các cổng gần SETUP và teardown. Máy chủ cần phải duy trì trạng thái phiên để có thể tương quan RTSP yêu cầu với một luồng. Các phương pháp đóng một vai trò trung tâm trong việc phân bổ và sử dụng tài nguyên dụng trên máy chủ là SETUP, PLAY, RECORD, PAUSE, và teardown.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Hỗ trợ cả unicast và mutilcast. RTSP cho phép để điều khiển cả các luồng multicast và unicast. Nhưng trong luồng mutilcast không cho phép khả năng tua nhanh, tua lùi.
Độc lập vơi giao thức lớp vận chuyển. RTSP có thể hoạt động trên cả UDP và TCP.
Làm việc trong mối liên kết với RTP. RTSP và RTP làm việc cùng nhau để phân phối nội dung qua mạng
Cấu trúc bản tin của RTSP. Bản tin được chia ra làm hai loại: yêu cầu và phúc đáp:
- Cấu trúc chung của RTSP request là : {method name} {URL} {Protocol Version} CRLF {Parameters}
- Cấu trúc chung của RTSP response là: {Protocol Version} {status code} {reason phrase} CRLF {Parameters}