CHƢƠNG 2 : STREAMING VIDEO
2.1 Tổng quan về Streaming Media
Streaming Media là một dạng dữ liệu truyền thông có thể nhận một cách liên tục và hiển thị trên màn hình của ngƣời dùng trong khi dữ liệu vẫn đƣợc chuyển bởi nhà cung cấp. Loại dữ liệu này thông thƣờng đƣợc sử dụng trong các ứng dụng truyền thông đa phƣơng tiện qua mạng nhƣ radio, truyền hình …
2.1.1 Lịch sử
Nhu cầu hiển thị các dữ liệu truyền thông trên máy tính đã có từ những ngày đầu xuất hiện máy tính vào giữa thế kỷ 20, tuy nhiên vào thời điểm đấy cũng còn rất nhiều hạn chế do giá thành thiết bị khá cao và sự giới hạn về công nghệ của các thiết bị phần cứng.
Các nghiên cứu mang tính khoa học vào những năm 1970 đã đƣa ra đƣợc một số khái niệm cơ bản về truyền thông dòng (Streaming media) trên máy tính.
Vào những năm 1980, các thiết bị phần cứng máy tính mới trở nên mạnh mẽ, đủ khả năng hiển thị nhiều loại dữ liệu truyền thông. Các vấn đề kỹ thuật chính trong streaming là:
- Bộ vi xử lý và băng thông bus đủ mạnh để hỗ trợ cho các yêu cầu về tốc độ truyền dữ liệu
- Tạo ra các đƣờng ngắt trễ thấp trong hệ điều hành để bảo vệ bộ đệm khi thực thi
Tuy nhiên, mạng máy tính vẫn bị hạn chế và dữ liệu truyền thông vẫn thông thƣờng đƣợc truyền nhận qua các kênh không ở dạng streaming nhƣ các đĩa CD-ROM. Vào cuối những năm 1990:
- băng thông mạng đã lớn hơn, đặc biệt trong các ứng dụng truyền hình - tăng khả năng truy cập mạng, đặc biệt là mạng Internet
- sử dụng các giao thức và định dạng nhƣ TCP/IP, HTTP và HTML - thƣơng mại hóa internet
Các ƣu điểm của mạng máy tính cùng với sự phát triển mạnh mẽ của công nghệ phần cứng máy tính cũng nhƣ các hệ điều hành hiện đại đã làm cho khả năng truyền dữ liệu truyền thông dòng trở nên thực tế và tin cậy hơn.
Nhìn chung, nội dung đa phƣơng tiện là một phạm trù rộng, do đó chi phí lƣu trữ và truyền dữ liệu vẫn còn là rất đáng kể. Để bù đắp một phần nào đó, thông thƣờng dữ liệu sẽ đƣợc nén trƣớc khi lƣu trữ hoặc truyền đi trên mạng.
Một dòng dữ liệu truyền thông có thể là trực tiếp hoặc theo yêu cầu người dùng (on- demand streaming). Các dòng theo yêu cầu đƣợc lƣu trữ trong một thời gian dài và có thể đƣợc truyền đi mỗi khi có yêu cầu của ngƣời dùng. Các dòng trực tiếp chỉ đƣợc lƣu trữ và cung cấp trong một khoảng thời gian nào đó, ví dụ nhƣ các dòng video về một sự kiện thể thao trực tiếp.
2.1.1 Băng thông và dung lƣợng lƣu trữ streaming
Kích thƣớc lƣu trữ dữ liệu truyền thông Streaming (thông thƣờng đƣợc đo bằng megabyte, gigabyte, terabyte …) đƣợc tính toán từ băng thông streaming và độ dài của dữ liệu với công thức sau (dùng cho một file hoặc ngƣời dùng đơn):
Kích thƣớc lƣu trữ (mebibyte) = độ dài (giây) · tốc độ (kbit/s) / 8,388.608
(do 1 mebibyte = 8 * 1,048,576 bits = 8,388.608 kilobits)
Ví dụ: Với đoạn video dài một giờ đƣợc nén với tốc độ 300 kbit/s (đây là băng thông thông thƣờng cho video tại thời điểm năm 1005 và dữ liệu đƣợc nén với kích thƣớc cửa sổ là 320×240 điểm ảnh) sẽ là:
nếu file này đƣợc lƣu trữ trên một máy chủ cho dòng theo yêu cầu ngƣời dùng (on- demand streaming). Nếu dòng này đƣợc xem bởi 1000 ngƣời thì chúng ta sẽ cần: 300 kbit/giây · 1,000 = 300,000 kbit/giây = 300 Mbit/s băng thông
Điều này tƣơng đƣơng với 125.68 GiB trên một giờ.