Khi một khách hàng yêu cầu một đoạn ở thời gian cụ thể của tệp tin MP4 nguồn, máy chủ sẽ tự động tìm kiếm đoạn phù hợp từ tập tin MP4 đó (tập tin này đang đƣợc lƣu trữ thực tế trên đĩa) và gửi đoạn đó nhƣ một tập tin độc lập cho khách hàng. Chính vì vậy, đối với Smooth streaming, các đoạn đƣợc tạo ra theo mỗi yêu cầu của khách hàng, và tệp tin video MP4 thực tế đƣợc lƣu trữ trên đĩa là tập tin có độ dài đầy đủ theo từng tốc độ bit.
Smooth Streaming sử dụng “.isma” và “.ismv” làm hai phần mở rộng của tập tin MP4.
- Phần mở rộng “.ismv” sử dụng cho tập tin video (có thể có âm thanh), mỗi một tệp tin ismv đƣợc mã hóa với 1 tốc độ bit của video.
- Phần mở rộng “.isma” sử dụng cho tập tin âm thanh. Trong các video có chứa âm thanh, các track âm thanh sẽ đƣợc ghép vào tập tin .ismv, thay vì tạo ra một tập tin .isma riêng biệt.
Smooth Streaming sử dụng 2 tập tin chỉ mục cho mỗi tệp tin video.
Tập tin chỉ mục của máy chủ sử dụng phần mở rộng “.ism”, mô tả mối quan hệ giữa các track của dữ liệu truyền thông đa phƣơng tiện, tốc độ bit và thông tin các tệp tin trên đĩa. Các tập tin chỉ mục này chỉ đƣợc sử dụng bởi máy chủ smooth streaming, các máy khách không đƣợc quyền truy cập tới các tập tin này.
Tập tin chỉ mục của ngƣời dùng cũng sử dụng phần mở rộng “.ism”, mô tả các dòng sẵn có cho máy khách, các codec đƣợc sử dụng, tốc độ bit đã đƣợc dùng để mã hóa, độ phân giải video, ghi chú,... Đây cũng là tập tin phân phối đầu tiên cho máy khách. Các tập tin chỉ mục của máy chủ và ngƣời dùng đều tuân theo định dạng XML.
2.2.4 Giao thức HLS
HTTP Live Streaming [16] (HLS) là một giao thức truyền thông dữ liệu đa phƣơng tiện đƣợc đề xuất bởi Apple Inc vào năm 2009. HLS sử dụng video định dạng MPEG-2 Transport Stream.
Hình 2.7: Các thành phần và hoạt động của HLS