Qua hình 1, Hệ thống streaming gồm hai thành phần chính là Streaming server và clients. Hệ thống này được kết nối với nhau thông qua mạng IP như Internet hoặc 3G.
Trong đó:
Streaming server: Đóng vai trò là một máy chủ cung cấp dung lượng lưu trữ dữ liệu của hệ thống (video, văn bản, âm thanh…), hệ thống nền và các chương trình của nhà cung cấp dịch vụ cho người dùng.
Hình 1: Mô hình chung về hệ thống streaming thời gian thực
Clients: Là máy của người dùng để truy cập vào hệ thống streaming thời gian thực qua mạng IP. Tùy theo chức năng của hệ thống mà cho phép người dùng có thể kết nối với các thiết bị ngoài như Camera, hay TV để cung cấp dữ liệu trực tuyến từ một hay nhiều nguồn khác nhau
Để mô tả rõ hơn về các thành phần trong hệ thống streaming thời gian thực, hình dưới đây đã trình bày về kiến trúc chung hệ thống video streaming như sau:
Từ hình 2, Chúng ta rằng một hệ thống video streaming cũng gồm 2 thành phần chính trong quá trình video streaming của hệ thống đó là:
Máy chủ streaming: Máy chủ streaming thực hiện việc quản lý dữ liệu lưu trữ, quản lý chất lượng dịch vụ và chứa đựng các giao thức truyền thông. Dữ liệu lưu trữ được nén lại để giảm kích thước gói tin, cũng như việc bảo mật. Dữ liệu này có thể là video, audio, văn bản hoặc được lấy trực tiếp từ các thiết bị thu như camera, TV. Trong quá trình truyền thông, máy chủ streaming thực hiện việc kiểm soát dữ liệu nhằm đảm bảo thích ứng được những thay đổi về tài nguyên trong quá trình hoạt động của hệ thống đó như việc kiểm soát lỗi, nâng cao chất lượng dữ liệu. Đồng thời, máy chủ streaming cũng thực hiện nhiệm vụ quan trọng đó là xử lý dữ liệu đảm bảo sự ràng buộc về thời gian, trễ dữ liệu, các hoạt động tương tác với người dùng. Bên cạnh đó, giao thức truyền thông được cài đặt trên máy chủ streaming để thực hiện việc truyền thông qua mạng IP. Ngoài các giao thức trên mạng IP thì máy chủ streaming được tích hợp các giao thức phục vụ cho hệ thống streaming đó là RTP, RTSP, RTCP, RTMP.
Clients: Dữ liệu nhận được phía clients thông qua giao thức của hệ thống streaming được gửi tới thành phần quản lý chất lượng dịch vụ nhằm đảm bảo chất lượng dữ liệu cho hệ thống streaming phía người dùng. Sau đó, dữ liệu này sẽ được giải nén, giải mã để hiển thị lên thiết bị đầu cuối của người dùng. Một vai trò quan trọng phía mà hệ thống phía clients thực hiện là đồng bộ dữ liệu âm thanh, hình ảnh. Bên cạnh đó, các giao thức truyền thông cho streaming được cài đặt trên clients để đảm bảo quá trình truyền thông giữa clients với máy chủ streaming được trong suốt.
Qua đó, chúng ta kiến trúc hệ thống video streaming được xây dựng theo theo kiến trúc client/server. Tức là máy chủ đóng vai trò quản lý dữ liệu, xử lý và thực hiện giao tiếp với các clients. Tùy theo chức năng yêu cầu mà mữ liệu sẽ được server quản lý gửi tới từng clients hay tất cả clients đang tham gia vào hệ thống streaming này.
Đối với hệ thống video streaming thời gian thực thì ngoài việc nhận dữ liệu từ máy chủ streaming thì clients còn có thể thực hiện việc truyền dữ liệu thời gian thực của mình (video, audio, văn bản) tới máy chủ để máy chủ streaming thực hiện việc phân phối dữ liệu này theo yêu cầu của người dùng.
Như vậy, hoạt động của hệ thống video streamng thời gian thực được mô tả như sau:
- Tại phía clients, sau khi đã thực hiện việc kết nối với máy chủ streaming,
người dùng thông qua giao diện hệ thống sẽ thực hiện việc lựa chọn các chức năng và đưa ra các yêu cầu. Các yêu cầu này sẽ được gửi tới máy chủ streaming. Dữ liệu đa phương tiện của clients sẽ được gửi tới máy chủ streaming.
- Tại phía máy chủ streaming, nó sẽ thực hiện việc xử lý các yêu cầu của
người dùng, cũng như dữ liệu để đưa ra đáp ứng phù hợp. Đồng thời, máy chủ có thể tiếp nhận dữ liệu từ các clients còn lại khác đang hoạt động mạng. Tiếp theo, máy chủ streaming gửi dữ liệu tới phía clients theo cơ chế streaming của hệ thống.
- Tại phía clients, dữ liệu được truyền từ máy chủ streaming sẽ tới bộ đệm
và được xử lý đồng bộ để hiển thị tại phía người dùng thông qua chương
trình clients được cài trên máy của người dùng. [1]