yêu cầu lấy phần atom mdat, là phần chứa các dữ liệu về khung hình video và âm thanh thực sự của tệp tin video. Khi đã „đệm‟ đủ trong bộ đệm của player, video sẽ bắt đầu đƣợc hiển thị cho ngƣời dùng.
Nhƣ vậy, thời gian bắt đầu khi streaming video định dạng MP4 phụ thuộc rất lớn vào độ lớn của atom header. Nhƣ trong bảng 1.4, độ lớn của atom header phụ thuộc vào thời lƣợng video. Đối với các video thời lƣợng dài, độ lớn atom header sẽ là đáng kể. Chính vì vậy thời gian bắt đầu của các video này cũng sẽ khá lớn. Hiện nay, các phƣơng pháp đang đƣợc áp dụng trong thực tế có thể giúp giảm thời gian bắt đầu khi streaming video định dạng MP4 dựa chủ yếu trên hai kỹ thuật:
+ Kỹ thuật caching: atom header đƣợc lƣu trữ ở nơi gần ngƣời dùng hơn so với máy chủ streaming. Với kỹ thuật này, atom header sẽ nhanh chóng đƣợc truyền tải đến máy khách.
+ Kỹ thuật chia nhỏ: video sẽ đƣợc chia thành các đoạn nhỏ hơn. Mỗi đoạn video nhỏ này có thời gian ngắn nên sẽ có thời gian bắt đầu nhỏ hơn.
2.1 Phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP
Phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP [12] (HTTP progressive download) cho phép máy khách lấy tập tin video từ máy chủ web sử dụng giao thức HTTP và tập tin video đó sẽ có thể đƣợc play trƣớc khi toàn bộ tập tin đƣợc tải về.
Hiện nay, hầu hết các phần mềm play video nhƣ: Adobe Flash, Windows Media Player, Apple Quicktime,…đều hỗ trợ tải về tiến bộ sử dụng giao thức HTTP. Rất nhiều trang web cung cấp dịch vụ video streaming cũng sử dụng phƣơng pháp này.
Đối với việc truyền tải video MP4 theo phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP, các player bắt buộc phải tiến hành tải về và đọc nội dung atom header của video đó trƣớc khi trình chiếu nội dung video cho ngƣời dùng.
Khi ngƣời dùng muốn di chuyển đến một vị trí nào đó của tập tin video (tua), player sẽ tiến hành gửi các gói tin yêu cầu phạm vi byte (HTTP GET byte ranges [13]) của tập tin video đó đến máy chủ web. Do việc gửi và nhận các gói tin yêu cầu phạm vi byte chỉ đƣợc hỗ trợ trong HTTP 1.1 nên muốn hỗ trợ tua video thì các ứng dụng tại máy chủ web cung cấp dịch vụ streaming video và ứng dụng tại máy khách phải hỗ trợ HTTP 1.1.
Do sử dụng giao thức HTTP làm giao thức truyền tải nên phƣơng pháp tải về tiến bộ sử dụng HTTP mang lại khá nhiều lợi ích nhƣ:
Các gói tin video truyền đi trên mạng dễ dàng vƣợt qua các tƣờng lửa, các bộ định tuyến (do các thiết bị này thông thƣờng mặc định cho phép các gói tin HTTP đi qua).
Dễ dàng triển khai kết hợp với các mạng lƣới phân phối nội dung (Content delivery network- CDN), việc kết hợp này giúp giảm tải cho các máy chủ streaming, làm cho nội dung video sẵn sàng hơn,….
Tuy nhiên khi sử dụng phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP cũng gặp một số vấn đề:
Sử dụng tải về tiến bộ sử dụng giao thức HTTP sẽ không truyền tải đƣợc các video trực tuyến, phƣơng pháp này chỉ truyền tải đƣợc các video đã đƣợc lƣu trữ trên máy chủ đến máy khách.
Tải về tiến bộ sử dụng giao thức HTTP không có khả năng tự động điều chỉnh tốc độ truyền dữ liệu khi băng thông của khách hàng thay đổi.
2 CHƢƠNG II - Một số phƣơng pháp video streaming sử dụng video định dạng MP4
Băng thông của ngƣời dùng bị lãng phí khi họ dừng xem các nội dung sau khi tải về tiến bộ sử dụng HTTP đã bắt đầu.
2.2 Các phƣơng pháp, giao thức video streaming sử dụng giao thức HTTP