Hình 2. 8: Định dạng tập tin chỉ mục của HLS

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 43)

chứa 3 thông tin chỉ mục con bên trong. 3 thông tin chỉ mục con này lần lƣợt tham chiếu đến các đoạn có tốc độ bit cao, vừa, và thấp của tập tin dữ liệu đa phƣơng tiện.

3.1 Động cơ của đề xuất

Thời gian bắt đầu (start up time) của video định dạng MP4 khi streaming là lớn, do tại bƣớc đầu tiên của quá trình streaming, phần mềm play dữ liệu đa phƣơng tiện tại máy khách phải tiến hành tải về toàn bộ nội dung atom header của tệp tin video và xử lý phần nội dung này trƣớc khi gửi tiếp các yêu cầu lấy dữ liệu video thực sự (phần dữ liệu atom MDAT).

Đối với các tệp tin video định dạng MP4 có thời lƣợng ngắn, phần nội dung atom header này nhỏ, nhƣng với các tệp tin video định dạng MP4 thời lƣợng dài, phần nội dung atom header này khá lớn. Điều này dẫn tới việc tải về toàn bộ nội dung atom header mất khá nhiều thời gian, và trực tiếp làm tăng thời gian bắt đầu của video định dạng MP4 khi streaming.

Thời gian bắt đầu của video lớn sẽ ảnh hƣởng đến tâm lý của ngƣời dùng khi sử dụng các ứng dụng streaming video. Thời gian bắt đầu lớn làm cho ngƣời dùng cảm thấy khó chịu và có thể sẽ chuyển sang sử dụng dịch vụ của các nhà cung cấp khác hoặc chuyển sang nội dung video khác.

Ngoài ra các phƣơng pháp, giao thức streaming video giới thiệu ở chƣơng II vẫn chƣa tối ƣu đƣợc thời gian bắt đầu của định dạng video MP4, chƣa tận dụng đặc điểm của định dạng MP4 giúp giảm thời gian bắt đầu khi streaming định dạng video này. Hơn nữa các giao thức streaming nhƣ HLS, Microsoft Smooth Streaming, MPEG-DASH tiến hành chia tệp tin video thành nhiều tập tin nhỏ với thời gian ngắn làm cho số lƣợng các tập tin nhỏ này trên máy chủ streaming rất lớn, gây khó khăn cho việc quản lý. Đồng thời máy khách (client) phải tải về trƣớc tập tin chỉ mục của video làm cho thời gian bắt đầu khi streaming video chƣa đƣợc tối ƣu.

Chính vì vậy tác giả đề xuất phƣơng pháp Atom Caching nhằm giảm thời gian bắt đầu cho các ứng dụng streaming định dạng này. Ý tƣởng chính của Atom Caching là thực hiện chủ động lấy trƣớc các thông tin header của các tệp tin video trên máy chủ ngay cả khi ngƣời dùng chƣa thực sự thực hiện thao tác xem video. Các nội dung header này đƣợc cache lại trong ứng dụng máy khách để sẵn sàng phục vụ cho một phiên xem lại nội dung video stream từ trên máy chủ dịch vụ. Sự sẵn sàng của các thông tin header này sẽ giúp giảm đáng kể thời gian trễ khởi động (start up time). Giá phải trả cho ƣu điểm đó là máy khách phải tốn một phần dung lƣợng lƣu trữ cũng nhƣ năng lực tính toán để phục vụ cho việc lấy trƣớc thông tin header.

3.2 Mô hình hoạt động của Atom Caching

Hình 3.1: Mô hình hoạt động của phương pháp đề xuất

Hệ thống Atom Caching hoạt động dựa trên mô hình máy chủ-máy khách. Bao gồm hai phần: các ứng dụng tại máy chủ MP4_atom_caching (máy chủ streaming), và các ứng dụng tại máy khách MP4_atom_caching (máy khách streaming). Trên hình vẽ 3.1, những phần có màu khác màu trắng là những phần liên quan trực tiếp và quan trọng trong phƣơng pháp đề xuất của tác giả, còn những phần có màu trắng là những phần hỗ trợ cho phƣơng pháp Atom Caching đƣợc đề xuất.

Ban đầu, các tập tin video định dạng MP4 đƣợc các phần mềm tại máy khách upload lên khu vực “Publishing area” của máy chủ MP4_atom_caching (Mp4_atom_caching server), máy chủ streaming sẽ liên tục tiến hành chia tách mỗi video nằm trong “publising area” thành 2 tệp tin nhỏ hơn: tệp tin atom header và tệp tin MDAT sau đó đẩy 2 tệp tin này vào khu vực “Public area” của máy chủ Mp4_atom_caching.

Khi ngƣời dùng (Mp4_atom_caching client) có nhu cầu xem một video đang có trên máy chủ Mp4_atom_caching, phần mềm phía máy khách sẽ tiến hành kiểm tra xem trong cache của máy khách đã có tệp tin atom header của video đó chƣa. Nếu trên cache của máy khách đã có tệp tin atom header của video đó, thì phần mềm play dữ liệu đa phƣơng tiện tại máy khách (Player) sẽ chỉ tiến hành yêu cầu lấy nội dung của tệp tin MDAT của video đó từ khu vực “Public area” của máy chủ Mp4_atom_caching và trình chiếu nội dung video

cho ngƣời dùng. Nếu trên cache của máy khách chƣa có tệp tin atom header của video đó, thì Player sẽ tiến hành yêu cầu lấy nội dung của của hai tệp tin: atom header và MDAT của video đó từ khu vực “Public area” trên máy chủ Mp4_atom_caching và sau đó trình chiếu nội dung video cho ngƣời dùng.

Thời gian bắt đầu của một video sẽ giảm xuống nếu tại cache của máy khách đã có sẵn tệp tin atom header của video đó.

Quá trình Prefetching:

Ứng dụng tại máy khách sẽ chủ động tiến hành lấy trƣớc dữ liệu atom header của video và lƣu trữ tại ứng dụng phía máy khách (Prefetching). Quá trình này đƣợc thực hiện khi máy khách rảnh rỗi hoặc trong quá trình đang play một video khác.

Số lƣợng các atom header của video đƣợc cache và thời điểm lấy trƣớc atom header của các video này do ngƣời sử dụng tự cấu hình hoặc sẽ đƣợc thiết lập mặc định tùy thuộc vào bộ nhớ thiết bị của ngƣời dùng và việc dự đoán nhu cầu sử dụng của ngƣời dùng đối với các video.

3.3 Các thành phần trên máy chủ MP4_atom_caching

Hình 3.2: Các thành phần trên máy chủ MP4_atom_caching

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 43)