Thức HTTP

Một phần của tài liệu Giảm thiểu thời gian bắt đầu cho các ứng dụng truyền tải video định dạng MP4 sử dụng kỹ thuật lấy trước và cache thông tin header (Trang 33)

2.2.1 Streaming thích ứng tốc độ bit

Streaming thích ứng tốc độ bit (Adaptive bitrate streaming) là một kỹ thuật đƣợc sử dụng trong việc truyền tải dữ liệu đa phƣơng tiện qua mạng máy tính dựa trên giao thức HTTP.

Kỹ thuật này hoạt động dựa trên việc phát hiện sự thay đổi băng thông và khả năng cung cấp tài nguyên tại máy khách trong thời gian thực và điều chỉnh chất lƣợng video cho phù hợp. Khả năng cung cấp tài nguyên tại máy khách trong thời gian thực có thể là năng lực xử lý của CPU, khả năng hiển thị hình ảnh (độ phân giải) của màn hình thiết bị tại máy khách, …..

Hình 2.1: Tổng quan về kỹ thuật streaming thích ứng tốc độ bit dựa trên giao thức HTTP

Hoạt động của phương pháp streaming thích ứng tốc độ bit:

Ban đầu, dữ liệu video trên máy chủ sẽ đƣợc encode thành nhiều dòng với tốc độ bít khác nhau. Mỗi dòng này sau đó sẽ đƣợc tách thành nhiều đoạn nhỏ đƣợc gọi là các „chunk‟ hoặc các „segment‟ (theo đơn vị thời gian), kích thƣớc mỗi đoạn thƣờng từ khoảng 2 đến 10 giây. Phía máy khách sẽ biết trƣớc đặc điểm của các dòng này (tốc độ bit, thời gian bắt đầu và kết thúc của các đoạn nhỏ trong mỗi dòng) nhờ việc tải về trƣớc một tập tin chỉ mục (tệp tin này còn đƣợc gọi là tập tin index hoặc tập tin manifest).

Sau khi tải về và phân tích tập tin chỉ mục này, máy khách sẽ gửi yêu cầu (HTTP GET) để lấy về các đoạn từ dòng có tốc độ bit thấp nhất. Trong quá trình nhận và xử lý các luồng video từ máy chủ, nếu nhận thấy tài nguyên trên thực tế của mình có thể play video ở tốc độ bit lớn hơn, máy khách sẽ yêu cầu các đoạn ở các dòng có tốc độ bit cao hơn và ngƣợc lại.

Việc tính toán để yêu cầu dòng tiếp theo có tốc độ phù hợp với băng thông thực hiện nhƣ sau:

+ Sau khi nhận về 1 đoạn video, phần mềm phía máy khách sẽ tiến hành so sánh thời gian tải về của đoạn đó với thời gian thực tế của đoạn (thời gian thực tế của đoạn đã đƣợc biết trƣớc khi phân tích tập tin chỉ mục). Nếu thời gian tải về của đoạn đó nhanh hơn thời gian thực tế của đoạn đƣợc lƣu trong tập tin chỉ mục thì phía máy khách sẽ yêu cầu đoạn tiếp theo với tốc độ bit cao hơn tốc độ bit của đoạn vừa tải. Và ngƣợc lại, nếu thời gian tải về của đoạn đó chậm hơn thời gian của đoạn đƣợc lƣu trong tập tin chỉ mục thì máy khách sẽ yêu cầu đoạn tiếp theo với tốc độ bit thấp hơn tốc độ bit của đoạn vừa tải.

Ngoài ra, ngay sau khi phân tích tập tin chỉ mục, máy khách cũng có thể lựa chọn đƣợc ngay các dòng phù hợp với độ phân giải màn hình của mình.

Kỹ thuật streaming thích ứng tốc độ bit dựa trên giao thức HTTP có một số ƣu điểm:

- Truyền thông dựa trên giao thức HTTP, giao thức này giúp cho các gói tin video truyền đi trên mạng không bị cản trở bởi các bộ định tuyến và các tƣờng lửa bởi thông thƣờng các bộ định tuyến và các tƣờng lửa đều đƣợc thiết lập để cho phép các gói tin HTTP đi qua. Điều là lợi thế rất lớn so với các kỹ thuật streaming video sử dụng các giao thức khác nhƣ RTP, RTMP.

- Các ứng dụng phía máy khách tự kiểm tra đƣợc tốc độ bit, độ phân giải màn hình của thiết bị, codec, năng lực của CPU,… sau đó lựa chọn dòng phù hợp thông qua việc xử lý tập tin chỉ mục đã tải về mà không cần phải gửi những yêu cầu này tới máy chủ streaming.

- Chức năng điều khiển phát lại đƣợc hỗ trợ bằng việc tại thời điểm bắt đầu máy khách sẽ sử dụng dòng video có tốc độ bit thấp nhất, sau đó chuyển sang các dòng khác có tốc độ bit cao hơn. Điều này làm tăng tốc thời gian khởi động (start-up time) của video và giảm thời gian chờ khi tua lại (seek time).

- Có thể sử dụng kết hợp với các HTTP proxy, cache và các dịch vụ phân phối nội dụng trên mạng đang sử dụng cho các truy cập web.

2.2.2 Phƣơng pháp MPEG DASH

MPEG DASH hay DASH [14] là phƣơng pháp streaming tự động thích ứng dựa trên giao thức HTTP (Dynamic Adaptive Streaming over HTTP) đƣợc phát triển bởi MPEG (Moving Picture Experts Group). MPEG DASH đƣợc đề xuất lần đầu tiên vào năm 2009, sau đó trở thành dự thảo tiêu chuẩn quốc tế vào tháng 1-2011 và đã đƣợc công bố theo tiêu chuẩn ISO/IEC 23.009-1:2012 vào tháng 4-2012.

Theo mô tả ISO/ IEC 23.009-1, MPEG DASH có thể đƣợc xem là sự hợp nhất của 3 giao thức tự động thích ứng: HDS (HTTP dynamic streaming Adobe), HLS (HTTP Live Streaming Apple), Microsoft IIS smooth streaming. Tuy vậy DASH không phải là một hệ thống, một giao thức, một codec, hoặc một đặc tả cho máy khách mà là một kỹ thuật bao gồm một loạt các đặc tả.

2.2.2.1 Hoạt động của DASH

Theo [14], hoạt động của DASH dựa trên streaming thích nghi năng động sử dụng HTTP, dữ liệu đa phƣơng tiện cũng đƣợc chia thành các đoạn nhỏ với các tốc độ bit khác nhau và đƣợc lƣu trữ trên máy chủ DASH. Các đoạn nhỏ này sẽ đƣợc phân phối tới các máy khách thông qua giao thức HTTP.

Một phần của tài liệu Giảm thiểu thời gian bắt đầu cho các ứng dụng truyền tải video định dạng MP4 sử dụng kỹ thuật lấy trước và cache thông tin header (Trang 33)