Tải bản đầy đủ (.pdf) (71 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.8 MB, 71 trang )

1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ





NGUYỄN TIẾN NAM



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

(Reducing Startup Time for MP4 Video Streaming Applications using Atom
Header Prefetching)






LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN










Hà Nội – 2014
2

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ





NGUYỄN TIẾN NAM



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

(Reducing Startup Time for MP4 Video Streaming Applications using Atom
Header Prefetching)


Ngành : Công nghệ thông tin
Chuyên ngành : Truyền dữ liệu và Mạng máy tính
Mã số




LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN





NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. HOÀNG XUÂN TÙNG

Hà Nội – 2014
3

LỜI CAM ĐOAN

Tôi xin cam đoan, đây là công trình nghiên cứu của bản thân. Các số liệu,
kết quả trình bày trong luận văn là trung thực và chƣa từng đƣợc ai công bố
trong bất kỳ công trình luận văn nào trƣớc đây.

. Hà nội, ngày 30 tháng 10 năm 2014




Nguyễn Tiến Nam
4


MỤC LỤC
Lời cam đoan

Mục lục
Danh mục các ký hiệu, các chữ viết tắt
Danh mục các bảng
Danh mục các hình vẽ, đồ thị
MỞ ĐẦU
1 CHƢƠNG I: Video streaming trên mạng Internet 12
1.1 Tổng quan về video streaming trên mạng Internet. 12
1.2 Kiến trúc hệ thống video streaming 13
1.2.1 Kiến trúc chung và chức năng các thành phần 13
1.2.2 Một số giao thức thƣờng dùng cho video streaming 15
1.2.3 Video Cache 17
1.2.4 Các định dạng tệp tin video thƣờng dùng cho video streaming 19
1.3 Định dạng MP4 20
1.3.1 Sự phổ biến của định dạng MP4 20
1.3.2 Cấu trúc của tập tin MP4 21
1.4 Quá trình streaming video định dạng MP4 30
2 CHƢƠNG II - Một số phƣơng pháp video streaming sử dụng video định
dạng MP4 32
2.1 Phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP 32
2.2 Các phƣơng pháp, giao thức video streaming sử dụng giao thức HTTP
dựa trên streaming thích ứng tốc độ bit. 33
2.2.1 Streaming thích ứng tốc độ bit 33
2.2.2 Phƣơng pháp MPEG DASH 35
2.2.3 Giao thức Microsoft Smooth Streaming 39
2.2.4 Giao thức HLS 41
3 CHƢƠNG III: Phƣơng pháp Atom Caching. 44
3.1 Động cơ của đề xuất 44
3.2 Mô hình hoạt động của Atom Caching 45
5


3.3 Các thành phần trên máy chủ MP4_atom_caching 46
3.3.1 Hoạt động của máy chủ MP4_atom_caching 47
3.4 Các thành phần trên máy khách MP4_atom_caching 52
3.4.1 Ứng dụng Media player 52
3.4.2 Thƣ viện xử lý video 52
3.5 Triển khai 54
3.5.1 Giao thức truyền tải giữa máy chủ và máy khách 54
3.5.2 Triển khai máy chủ MP4_atom_caching 54
3.5.3 Triển khai máy khách MP4_atom_caching 55
4 CHƢƠNG IV: Đánh giá hiệu năng của phƣơng pháp Atom Caching 58
4.1 Kết quả thí nghiệm 59
4.2 So sánh Atom Caching và phƣơng pháp tải về tiến bộ sử dụng giao thức
HTTP. 61
4.2.1 Trƣờng hợp 1: Băng thông giữa máy chủ và máy khách là 512
Kbps. 61
4.2.2 Trƣờng hợp 2: Băng thông giữa máy chủ và máy khách là 2 Mbps.
62
4.3 So sánh Atom Caching với HLS. 64
4.3.1 Trƣờng hợp 1: Băng thông giữa máy chủ và máy khách là 512
Kbps. 64
4.3.2 Trƣờng hợp 2: Băng thông giữa máy chủ và máy khách là 2 Mbps.
65
4.4 Đánh giá kết quả mô phỏng. 66

KẾT LUẬN
TÀI LIỆU THAM KHẢO
6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT



Viết tắt


Tiếng Anh



Tiếng Việt
DASH


Dynamic Adaptive
Streaming over
HTTP



Streaming tự động
thích ứng dựa trên giao
thức truyền tải siêu văn
bản
FTP


File Transfer
Protocol




Giao thức truyền tập tin
HLS


Hypertext Transfer
Protocol Live
Streaming



Truyền dòng dữ liệu
trực tiếp sử dụng giao
thức truyền tải siêu văn
bản
HTTP


Hypertext Transfer
Protocol



Giao thức truyền tải
siêu văn bản
IEC


International
Electrotechnical
Commission




Ủy ban kỹ thuật điện
quốc tế
ISO


International
Organization for
Standardization



Tổ chức tiêu chuẩn hóa
quốc tế
MDAT


Media data



Dữ liệu truyền thông đa
phƣơng tiện
MOOV


Movie metadata




Siêu dữ liệu video
MPEG


Moving Picture
Experts Group



Nhóm các chuyên gia
hình ảnh động
RTCP


Real-Time Control
Protocol



Giao thức quản lý thời
gian thực
RTP


Real-time Transport
Protocol




Giao thức truyền thông
thời gian thực
RTSP


Real-Time
Streaming Protocol



Giao thức truyền dòng
dữ liệu thời gian thực



7

DANH MỤC CÁC BẢNG
Bảng 1.1: Một số định dạng tập tin thƣờng dùng cho video streaming 19
Bảng 1.2: Thông tin một số phần của chuẩn MPEG-4 22
Bảng 1.3: Một số kiểu atom của định dạng MP4 27
Bảng 1.4: Một số thông số của 4 tập tin video MP4 mẫu 28
Bảng 4.1: Thông số 3 tệp tin video sử dụng để đo đạc 59
Bảng 4.2: Kết quả đo thời gian bắt đầu trung bình khi sử dụng phƣơng pháp
Atom Caching và sử dụng phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP
trong trƣờng hợp thiết lập tốc độ tối đa của kết nối HTTP giữa máy chủ và máy
khách bằng 512 Kbps 62
Bảng 4.3: Kết quả đo thời gian bắt đầu trung bình khi sử dụng phƣơng pháp
Atom Caching và sử dụng phƣơng pháp tải về tiến bộ sử dụng giao thức HTTP

trong trƣờng hợp tốc độ tối đa của kết nối HTTP giữa máy chủ và máy khách
bằng 2 Mbps 63
Bảng 4.4: Kết quả đo thời gian bắt đầu trung bình khi sử dụng phƣơng pháp
Atom Caching và sử dụng HLS trong trƣờng hợp thiết lập tốc độ tối đa của kết
nối HTTP giữa máy chủ và máy khách là 512 Kbps 64
Bảng 4.5: Kết quả đo thời gian bắt đầu trung bình khi sử dụng phƣơng pháp
Atom Caching và sử dụng HLS trong trƣờng hợp thiết lập tốc độ tối đa của kết
nối HTTP giữa máy chủ và máy khách bằng 2 Mbps 66








8

DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1:Kiến trúc của hệ thống video streaming 13
Hình 1.2 :Cấu trúc bộ mã hóa và giải mã video MPEG-4 23
Hình 1.3: Định dạng MP4 là mở rộng của định dạng tệp tin ISO (ISO base
media file format, MPEG-4 Part 12) 24
Hình 1.4:Cấu trúc định đạng ISO Base Media Format MPEG-4 part 12 26
Hình 1.5: Ví dụ một đoạn nhỏ của tệp tin MP4 26
Hình 1.6: Một vài atom của một tập tin MP4 mẫu 27
Hình 1.7: Tập tin MP4 trƣớc khi sử dụng kỹ thuật MP4 fast start 30
Hình 1.8: Tập tin MP4 sau khi sử dụng kỹ thuật fast start 31
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 33

Hình 2.2: Ví dụ đơn giản về hoạt động của DASH 35
Hình 2.3: Kiến trúc DASH 37
Hình 2.4: Cấu trúc tệp tin trình bày phƣơng tiện truyền thông của DASH 38
Hình 2.5: Cấu trúc định dạng tệp tin MP4 dùng cho Microsoft Smooth
Streaming 40
Hình 2.6: Cấu trúc từng „chunk‟ của Microsoft Smooth Streaming 40
Hình 2.7: Các thành phần và hoạt động của HLS 42
Hình 2.8 : Định dạng tập tin chỉ mục của HLS 43
Hình 3.1: Mô hình hoạt động của phƣơng pháp đề xuất 45
Hình 3.2: Các thành phần trên máy chủ MP4_atom_caching 46
Hình 3.3 : Hoạt động của dịch vụ upload video 47
Hình 3.4 :M_process và S_process thao tác với Q_ring 48
Hình 3.5: Cấu trúc hàng đợi Q_ring 49
Hình 3.6: Hoạt động của M_process 50
Hình 3.7: Hoạt động của S_process 51
Hình 3.8: Hoạt động của dịch vụ phân phối video 51
Hình 3.9: Các thành phần trên máy khách MP4_atom_caching 52
Hình 3.10: Lƣu đồ hoạt động của plugin atom header caching ở máy khách 53
Hình 4.1: Thông tin cài đặt hệ thống đánh giá hiệu năng 58
Hình 4.2: Cấu trúc tệp tin emulator.txt 61
Hình 4.3 :Kết quả đo đạc trong trƣờng hợp thiết lập tốc độ tối đa của kết nối
HTTP giữa máy chủ và máy khách bằng 512 Kbps. 62
Hình 4.4 :Kết quả đo đạc trong trƣờng hợp thiết lập tốc độ tối đa của kết nối
HTTP giữa máy chủ và máy khách bằng 2Mbps 63
9

Hình 4.5: Kết quả đo đạc trong trƣờng hợp thiết lập tốc độ tối đa của kết nối
HTTP giữa máy chủ và máy khách bằng 512 Kbps 65



10

LỜI MỞ ĐẦU
Khoảng những năm nửa cuối thập niên 90, việc xem một video trên mạng
là rất khó khăn. Tuy nhiên, sau khi Internet bùng nổ vào năm 1993, ngƣời ta đã
bắt đầu thử nghiệm việc truyền video trên Internet. Ngày nay, với sự phát triển
nhanh chóng của mạng Internet, các ứng dụng đa phƣơng tiện trong đó có video
streaming đã trở thành nhu cầu không thể thiếu của ngƣời dùng.
Đối với các định dạng tệp tin video truyền thống, dữ liệu chỉ có thể hiển
thị khi đã đƣợc tải về toàn bộ tệp tin. Với các tệp tin video chất lƣợng cao có
dung lƣợng lớn thì công việc này sẽ tiêu tốn rất nhiều thời gian. Một tập tin
video có thể mất thời gian thực tế để tải về lớn hơn chiều dài của video.
Streaming video cho phép ngƣời sử dụng bắt đầu xem các video đƣợc lƣu
trữ trên máy chủ streaming mà không cần tải về trƣớc tập tin.
Mục tiêu chính của luận văn là cung cấp cái nhìn tổng thể về video
streaming trên mạng Internet, một số mô hình video streaming trên mạng
Internet và đề xuất phƣơng pháp mới giúp 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. Phƣơng pháp đề xuất, Atom caching,
sử dụng kỹ thuật lấy trƣớc và cache thông tin header của file video nhằm rút
ngắn thời gian trễ khởi động của một phiên xem video. Tác giả cũng tiến hành
phân tích, đo đạc, và đánh giá ƣu, nhƣợc điểm của các mô hình video streaming
đang đƣợc áp dụng trên thực tế so với phƣơng pháp đƣợc đề xuất.
Bố cục luận văn đƣợc tuân thủ chặt chẽ theo mẫu ban hành của trƣờng
Đại Học Công Nghệ - ĐHQGHN gồm 4 chƣơng chính, ngoài ra còn có các phần
mở đầu, kết luận và tài liệu tham khảo. Phần kết luận nêu tóm tắt các vấn đề đã
trình bày trong các chƣơng, đánh giá các kết quả đã đạt đƣợc, đồng thời đƣa ra
các định hƣớng nghiên cứu, phát triển tiếp theo. Nội dung các chƣơng đƣợc tóm
tắt nhƣ sau:
Chƣơng 1: Video streaming trên mạng Internet.
Chƣơng 2: Một số phƣơng pháp video streaming sử dụng video định dạng

MP4.
Chƣơng 3: Phƣơng pháp Atom Caching
Chƣơng 4: Đánh giá hiệu năng của phƣơng pháp Atom Caching.
Trong quá trình hoàn thành luận văn của mình, tác giả đã hết sức cố gắng,
song luận văn còn những hạn chế nhất định, tác giả rất mong nhận đƣợc những
góp ý để vấn đề nghiên cứu này ngày càng đƣợc hoàn thiện hơn. Qua đây, tác
giả xin chân thành cảm ơn TS. Hoàng Xuân Tùng, thầy đã gợi ý về đề tài, thầy
11

đã hƣớng dẫn, chỉ bảo tận tình và cung cấp nhiều tài liệu quý liên quan trong quá
trình tác giả thực hiện luận văn này. Tác giả cũng xin chân thành cảm ơn các
Thầy, Cô đã dạy, giúp đỡ và truyền cảm hứng học tập, nghiên cứu trong suốt
quá trình học tập tại Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội.
Xin trân trọng cảm ơn!
Tác giả: Nguyễn Tiến Nam

12

1.1 Tổng quan về video streaming trên mạng Internet.
Video là một loại dữ liệu đa phƣơng tiện rất quan trọng phục vụ cho
truyền thông hoặc cho nhu cầu giải trí của con ngƣời trong nhiều thập niên. Thời
kỳ đầu, video đƣợc xử lý và truyền dƣới dạng tín hiệu tƣơng tự. Tuy nhiên, với
sự phát triển và phổ biến của Internet vào giữa những năm 90 đã định hƣớng
việc truyền tải video qua mạng chuyển mạch gói. Ngày nay, với sự phát triển
không ngừng của vi mạch điện tử và mạng máy tính dẫn đến số hóa video và
đang mở ra một cuộc cách mạng về nén và truyền tải video trên mạng Internet.
Video Streaming đƣợc định nghĩa là một “dòng chảy” video, nghĩa là dữ
liệu video đƣợc truyền liên tục từ nguồn đến một đích nào đó thông qua Internet.
Video Streaming thƣờng đƣợc sử dụng trong lĩnh vực giải trí hoặc dạy học,
dùng để truyền tải các tập tin video hoặc các bài học, cung cấp cho ngƣời sử

dụng các tiện ích nhƣ tìm kiếm, liệt kê, khả năng hiển thị hoặc hiển thị lại các dữ
liệu video theo yêu cầu.
Với các định dạng tập tin video truyền thống, dữ liệu chỉ có thể hiển thị
khi đã đƣợc tải về (download) toàn bộ, vì vậy đối với các tập tin video chất
lƣợng cao có dung lƣợng lớn thì công việc này sẽ tiêu tốn rất nhiều thời gian.
Một tập tin video có thể mất thời gian thực tế để tải về lớn hơn chiều dài của
video đó. Streaming video tiết kiệm thời gian cho ngƣời sử dụng bằng cách sử
dụng các công nghệ giải nén kết hợp với khả năng hiển thị dữ liệu đồng thời
trong lúc vẫn tiếp tục tải về tệp tin video của các ứng dụng trình diễn dữ liệu đa
phƣơng tiện (player). Quá trình này của các player còn đƣợc gọi là quá trình
“đệm” (buffering).
Theo nhu cầu sử dụng video streaming đƣợc thể hiện dƣới hai dạng:
- Video theo yêu cầu (Video on demand): là các dữ liệu video đƣợc lƣu
trữ trên máy chủ đa phƣơng tiện và sẽ đƣợc truyền đến ngƣời dùng khi có yêu
cầu, ngƣời dùng có toàn quyền để hiển thị cũng nhƣ thực hiện các thao tác (tua,
dừng, quay lại…) với các đoạn dữ liệu này.
- Video thời gian thực (Live streaming) là các dữ liệu video đƣợc chuyển
đổi trực tiếp từ các nguồn cung cấp dữ liệu theo thời gian thực nhƣ: camera,
microphone, các thiết bị phát dữ liệu video Các dữ liệu này sẽ đƣợc phát
quảng bá thành các kênh và ngƣời dùng sẽ có quyền truy nhập bất kỳ kênh nào
lấy về dữ liệu video nhƣng sẽ không thực hiện đƣợc các thao tác tua, dừng,
trên các dữ liệu video đó.
1 CHƢƠNG I: Video streaming trên mạng Internet
13

Theo [1], nếu phân chia theo các cách thức truyền tải, video streaming
đƣợc thể hiện dƣới hai dạng:
- True Streaming: tín hiệu video đến theo thời gian thực và nội dung
video chỉ cần một vài giây để đệm trƣớc khi play và máy chủ sẽ không lƣu các
tập tin vào đĩa cứng. Video thời gian thực thƣờng đƣợc phân phối theo cách này

và mỗi tệp tin video cũng chỉ có sẵn trong một khoảng thời gian nhất định.
- Progressive Download hoặc Progressive Streaming: Phƣơng pháp này
lƣu tập tin vào đĩa cứng sau đó play từ đó. Video theo yêu cầu thƣờng đƣợc
phân phối theo cách này và video sẽ đƣợc lƣu vào ổ cứng và máy chủ trong
khoảng thời gian tùy theo quy định của phần mềm phía máy chủ và máy khách.
Việc streaming video qua mạng Internet mang lại rất nhiều lợi ích, tuy
nhiên dữ liệu video khi streaming qua mạng lại gặp phải rất nhiều yếu tố bất lợi
nhƣ băng thông, độ trễ và mất gói tin. Các yếu tố bất lợi đó trực tiếp làm tăng
thời gian bắt đầu của quá trình streaming video.
Thời gian bắt đầu khi streaming video là thời gian ngƣời dùng phải chờ kể
từ khi gửi yêu cầu video đến máy chủ cung cấp video cho đến khi khung hình
đầu tiên của video đó hiện thị trên thiết bị của ngƣời dùng.
Thời gian bắt đầu lớn là vấn đề gây ảnh hƣởng trực tiếp và đầu tiên ngƣời
dùng có thể cảm nhận đƣợc khi sử dụng các dịch vụ streaming video. Đã có rất
nhiều giải pháp đƣợc nghiên cứu và phát triển nhằm khắc phục vấn đề này.
1.2 Kiến trúc hệ thống video streaming
1.2.1 Kiến trúc chung và chức năng các thành phần

Hình 1.1:Kiến trúc của hệ thống video streaming
14

Theo [2], một hệ thống video streaming bao gồm 6 thành phần nhƣ hình
vẽ 1.1.
Hoạt động:
Đầu tiên video và âm thanh thô đƣợc nén bằng cách sử dụng các thuật toán
nén video và âm thanh rồi sau đó đƣợc lƣu vào trong thiết bị lƣu trữ .
Khi có yêu cầu từ khách hàng, máy chủ streaming sẽ lấy video và âm
thanh đã đƣợc nén và lƣu trong các thiết bị lƣu trữ sau đó cùng với phần mềm
quản lý chất lƣợng dịch vụ QoS (Quality of Service) tầng ứng dụng điều chỉnh
video và âm thanh thành các luồng bit tùy theo tình trạng mạng và các yêu cầu

QoS. Tiếp theo sử dụng các giao thức truyền tải nén các chuỗi bit rồi gửi các gói
tin video và âm thanh qua mạng Internet. Các gói tin truyền tải trong mạng
Internet có thể sẽ bị trễ quá mức do tắc nghẽn, hoặc cũng có thể sẽ bị hƣ hỏng
do bị lỗi bit. Để nâng cao chất lƣợng truyền video và âm thanh đƣợc truyền liên
tục, hệ thống phân phối phƣơng tiện truyền thông liên tục sẽ đƣợc triển khai trên
mạng và chuyển tiếp các gói tin đƣợc gửi đến nơi nhận. Sau khi nhận đƣợc các
luồng bit từ máy chủ streaming, máy khách sẽ tiến hành giải mã thành video và
âm thanh thực sự để trình chiếu cho ngƣời dùng. Để đồng bộ hóa giữa video và
âm thanh , các cơ chế đồng bộ truyền thông đƣợc yêu cầu ở phía máy khách.
Từ hình vẽ 1.1, có thể thấy đƣợc các thành phần trong kiến trúc video
streaming có sự liên quan rất chặt chẽ với nhau.
Các thành phần của hệ thống video streaming:
- Nén video: Dữ liệu video nguyên gốc cần phải đƣợc nén trƣớc khi đƣợc
truyền đi trên mạng nhằm để đạt đƣợc hiệu quả tốt nhất và tiết kiệm băng thông.
Các chƣơng trình nén video có thể chia làm hai loại:
+ Khả năng mở rộng nén video (scalable video coding)
+ Không có khả năng mở rộng nén video (nonscalable video coding).
Khả năng mở rộng nén video là tính năng cho phép các ứng dụng quan sát
sự biến động băng thông trên đƣờng truyền để từ đó sử dụng phƣơng pháp nén
thích hợp.
Không mở rộng khả năng nén video sẽ không làm đƣợc điều này, video sẽ
đƣợc nén ngay từ đầu và không quan tâm tới biến động băng thông trên đƣờng
truyền.
- Cơ chế điều khiển chất lượng dịch vụ tầng ứng dụng: Để đối phó với sự
biến thiên của tài nguyên mạng hoặc để cung cấp chất lƣợng hình ảnh nhằm đáp
ứng theo yêu cầu của từng ngƣời sử dụng, nhiều kỹ thuật điều khiển chất lƣợng
dịch vụ tầng ứng dụng đã đƣợc đƣa ra. Có 2 kỹ thuật thƣờng đƣợc dùng ở đây:
15

+ Kỹ thuật điều khiển tắc nghẽn

+ Kỹ thuật kiểm soát lỗi.
Kỹ thuật điều khiển tắc nghẽn đƣợc sử dụng để ngăn ngừa mất gói dữ liệu
và giảm trễ nhằm kiểm soát lỗi.
Kỹ thuật kiểm soát lỗi nhằm phát hiện và sửa đổi khi các gói tin bị lỗi bit
trong quá trình truyền tải trên mạng.
- Dịch vụ phân phát video trên đường truyền: Để cung cấp các dịch vụ đa
phƣơng tiện có chất lƣợng tốt, sự hỗ trợ của mạng rất quan trọng. Sự hỗ trợ của
mạng sẽ giúp giảm trễ khi truyền tải và giảm tỷ lệ mất gói tin. Đƣợc xây dựng
trên nền của Internet (giao thức IP), dịch vụ phân phối video trên đƣờng truyền
cho phép sử dụng QoS (kiểm soát chất lƣợng dịch vụ) mang lại hiệu quả cao cho
việc phân phát video qua mạng Internet.
- Máy chủ Streaming: máy chủ streaming đóng vai trò quan trọng trong
việc cung cấp dịch vụ truyền thông dữ liệu đa phƣơng tiện trực tuyến. Để cung
cấp các dịch vụ truyền thông dữ liệu đa phƣơng tiện trực tuyến chất lƣợng cao,
các máy chủ streaming đƣợc yêu cầu phải xử lý dữ liệu video với sự ràng buộc
về thời gian, hạn chế thời gian trễ và hỗ trợ các hoạt động tƣơng tác của ngƣời
dùng với video nhƣ tạm dừng (pause), tua (fast forward), tiếp tục, nhanh chóng
chuyển tiếp và nhanh chóng quay lại. Một máy chủ streaming thƣờng bao gồm
ba hệ thống con: một hệ thống giao tiếp kết nối (ví dụ, giao thức vận chuyển),
một hệ điều hành, và một hệ thống lƣu trữ.
- Cơ chế đồng bộ dữ liệu phương tiện truyền thông: với cơ chế đồng bộ
dữ liệu phƣơng tiện truyền thông, ứng dụng tại bên nhận có thể hiển thị video
gần giống nhƣ khi đƣợc khởi tạo tại bên gửi. Một ví dụ về tác dụng của cơ chế
đồng bộ dữ liệu phƣơng tiện truyền thông là cử động môi của ngƣời nói phải
phù hợp với tiếng nói họ phát ra.
- Các giao thức cho truyền thông dữ liệu đa phương tiện: các giao thức
đƣợc thiết kế và chuẩn hóa cho việc truyền tải video streaming giữa máy chủ và
máy khách. Các giao thức sẽ cung cấp các dịch vụ nhƣ địa chỉ mạng, vận
chuyển và kiểm soát phiên.
1.2.2 Một số giao thức thƣờng dùng cho video streaming

Giao thức sử dụng cho video streaming có thể đƣợc chia làm 3 loại:
- Giao thức tầng mạng : Internet Protocol (IP)
- Giao thức tầng giao vận:
+ Lớp thấp sử dụng Use Datagram Protocol (UDP) và Giao thức điều
khiển truyền vận (Transmission Control Protocol TCP).
16

+ Lớp cao sử dụng Real-time Transport Protocol (RTP) hoặc Real-
Time Control Protocol (RTCP), Hypertext Transfer Protocol
(HTTP).
- Giao thức điều khiển phiên nhƣ Real-Time Streaming Protocol (RTSP),
Session Initiation Protocol (SIP).
a) Họ giao thức RTP (Real Time Transport Protocol) :
RTP [3] là một giao thức đã từng đƣợc sử dụng cho việc truyền tải video
trong một thời gian dài. RTP dựa trên UDP (có thể sử dụng TCP), đƣợc coi là
một phần của lớp vận chuyển và có liên quan chặt chẽ với giao thức điều khiển
thời gian thực RTCP (hoạt động ở tầng phiên). Chức năng chính của RTCP là
cung cấp thông tin phản hồi về chất lƣợng dịch vụ của RTP từ đó đƣa ra các
hành động điều chỉnh tốc độ truyền của dữ liệu.
Một số giao thức khác cũng thƣờng đƣợc dùng với RTP nhƣ RTSP (Real
Time Streaming Protocol). Giao thức này hỗ trợ thêm các yêu cầu phản hồi nhƣ
play, tạm dừng, và ghi âm. RTP, RTCP, RTSP hoạt động trên các cổng khác
nhau, thông thƣờng khi cổng của giao thức RTP là n thì RTCP sẽ là trên cổng
n+1.
Có nhiều player đã hỗ trợ RTP nhƣ: RealPlayer, Windows media player,
Quicktime player. Các trình duyệt có sử dụng Flash cũng cho phép play luồng
dữ liệu RTP/UDP.
b) RTMP ( Real Time Messaging Protocol):
RTMP [4] là một giao thức độc quyền sử dụng chủ yếu bởi Flash, nhƣng
cũng đƣợc sử dụng cho một vài ứng dụng khác. RTMP sử dụng TCP, hoạt động

ở trong ứng dụng thông qua lớp phiên.
Sự phát triển của RTMP phụ thuộc vào sự phát triển của Flash. Do đó một
số thiết bị của Apple sẽ không chấp nhận dòng RTMP nếu không sử dụng các
ứng dụng của bên thứ ba ngoài Adobe.
RTMP có thể tạo đƣờng hầm thông qua HTTP (RTMPT) cho phép vƣợt
tƣờng lửa khi RTMP bị chặn. RTMP có một số biến thể nhƣ RTMPE (RTMP
với mã hóa đơn giản ), RTMPTE (đƣờng hầm với mã hóa đơn giản), RTMPS
(mã hóa sử dụng SSL).
c) HTTP:
Cùng với sự tăng lên nhanh chóng của số lƣợng các website chia sẻ video
trên mạng hiện nay, sử dụng giao thức HTTP cho việc truyền tải video trên
mạng đang trở thành một xu hƣớng mới. Các gói tin khi truyền theo giao thức
HTTP thƣờng mặc định đƣợc các bộ định tuyến, tƣờng lửa,… cho phép đi qua,
17

đồng thời việc xây dựng một hệ thống video streaming sử dụng giao thức HTTP
dễ dàng hơn so với các giao thức khác. Các lý do này làm cho việc streaming sử
dụng giao thức HTTP ngày càng trở nên phổ biến.
d) Các giao thức dựa trên BitTorrent
Có khá nhiều đề xuất sử dụng BitTorrent cho streaming video nhƣ [5] và
[6]. Trong đó BitTorrent Live [6] đƣợc phát triển nhƣ là một phần của dự án mã
nguồn mở BitTorrent. Đây là một giao thức peer-to-peer có thể mở rộng tới rất
nhiều ngƣời dùng. Mỗi ngƣời dùng sẽ đóng vai trò một nguồn phát video
(broadcaster) và tốc độ streaming sẽ phụ thuộc vào số lƣợng ngƣời dùng upload
tại cùng một thời điểm.
1.2.3 Video Cache
Với các hệ thống trình chiếu video trực truyến hoặc các hệ thống cung cấp
các video bằng việc tải về theo yêu cầu ngƣời dùng đang đƣợc sử dụng hiện nay,
mỗi yêu cầu của ngƣời dùng đến máy chủ đều phải đƣợc xử lý để đảm bảo yêu
cầu đó là hợp lệ. Tiếp sau đó, máy chủ sẽ truy xuất đến ổ cứng (hoặc thiết bị lƣu

trữ cục bộ) để lấy tập tin đƣợc yêu cầu đó và gửi về cho ngƣời dùng.
Tuy nhiên, tốc độ truy xuất ổ cứng thƣờng khá chậm. Bên cạnh đó, có
những tập tin video đƣợc nhiều ngƣời dùng cùng quan tâm trong một thời điểm
và chỉ sai khác nhỏ về thời gian, việc truy xuất ổ cứng liên tục để lấy cùng một
tập tin video nhƣ cách làm thông thƣờng rất lãng phí và tốn kém năng lực xử lý
của máy chủ. Để giải quyết vấn đề này, giải pháp sử dụng video Cache đã đƣợc
đề xuất.
Video Cache là phƣơng pháp lƣu trữ sẵn dữ liệu video để chờ xử lý.
Video Cache có thể là một vùng của bộ nhớ chính hoặc một thiết bị lƣu trữ tốc
độ cao độc lập. Video Cache có thể đƣợc lƣu trữ rất nhiều nơi nhƣ: Cache của
CPU, Cache trong RAM, Cache của trình duyệt phía máy khách, …
Video Cache đƣợc chia thành 3 loại: video Cache tại máy chủ, video
Cache tại các đối tƣợng trung gian trong mạng và video Cache tại máy khách.
Việc đầu tƣ cho thiết bị video Cache kết hợp với một giải pháp quản lý video
Cache hiệu quả sẽ giảm tải cho máy chủ và cũng tăng tốc độ truyền tải video
streaming lên rất nhiều.
Cách thức hoạt động của video Cache trên máy chủ:
- Dữ liệu đƣợc truy xuất từ ổ cứng đƣợc đẩy lên video Cache.
- Với mỗi yêu cầu từ ngƣời nhận gửi tới, máy chủ sẽ tìm kiếm dữ liệu đã
tồn tại trên video Cache chƣa, nếu dữ liệu tồn tại đã tồn tại trên video Cache thì
18

dữ liệu đó sẽ đƣợc truyền trực tiếp đến ngƣời dùng và bỏ qua giai đoạn truy xuất
từ ổ cứng.
- Cơ chế để quản lý dữ liệu trên video Cache sẽ quyết định dữ liệu nào
đƣợc đƣa vào hoặc loại bỏ ra khỏi video Cache. Để xây dựng cơ chế quản lý dữ
liệu của video Cache thƣờng phải thông qua việc phân tích thông tin truy xuất
dữ liệu của máy khách để đƣa ra một giải thuật quản lý video Cache hợp lý.
Cách thức hoạt động của video Cache tại các đối tƣợng trung gian trong
mạng:

- Đầu tiên, việc triển khai hệ thống video Cache tại các đối tƣợng trung
gian trong mạng yêu cầu việc tạo ra các đối tƣợng trung gian giữa máy chủ và
máy khách, các đối tƣợng này sẽ lƣu trữ một phần hoặc tất các video có trên
máy chủ.
- Với mỗi yêu cầu của ngƣời dùng, máy chủ sẽ trả về một phần dữ liệu
đang có hoặc chuyển tiếp yêu cầu đó đến các đối tƣợng trung gian gần với ngƣời
dùng hơn. Sau khi nhận đƣợc yêu cầu, các đối tƣợng trung gian lại tiếp tục
truyền tải phần dữ liệu đang có trong video Cache của chúng. Khi yêu cầu của
ngƣời dùng nằm ngoài khoảng dữ liệu các đối tƣợng trung gian đang có, các yêu
cầu đó sẽ đƣợc chuyển tiếp đến các đối tƣợng khác trong mạng đang chứa dữ
liệu đó.
- Cơ chế quản lý dữ liệu: cơ chế quản lý dữ liệu sẽ quyết định dữ liệu nào
đƣợc lƣu trữ trên máy chủ (có thể là thông tin header, dữ liệu gốc, thông tin về
các đối tƣợng caching trung gian trong mạng). Ngoài ra cơ chế này còn quyết
định dữ liệu nào sẽ lƣu trữ tại các đối tƣợng trung gian, thời gian lƣu trữ các dữ
liệu này và thời điểm đồng bộ dữ liệu với máy chủ.
Cách thức hoạt động của video Cache tại máy khách.
- Đối với phƣơng pháp này, dữ liệu video sẽ đƣợc lƣu trữ một tại máy
khách. Khi có yêu cầu của ngƣời dùng, phần mềm play dữ liệu đa phƣơng tiện
phía máy khách sẽ tìm nội dung video trong video Cache của máy khách trƣớc
sau đó mới gửi tiếp những yêu cầu về phần dữ liệu còn thiếu lên máy chủ chứa
video. Phƣơng pháp này cũng có tác dụng giảm thời gian bắt đầu khi streaming
video cho ngƣời dùng.
- Cơ chế quản lý dữ liệu: cơ chế quản lý dữ liệu sẽ quyết định phần dữ
liệu nào sẽ đƣợc lƣu trữ trƣớc tại máy khách (thƣờng là các thông tin về header
của video), dữ liệu nào sẽ lƣu trữ trên máy chủ.
19

1.2.4 Các định dạng tệp tin video thƣờng dùng cho video streaming
Các tệp tin video thƣơng đƣợc chia thành 2 loại: tệp tin video codec và

tệp tin video không codec. Một số định dạng tập tin video, khi nhìn vào phần mở
rộng của tập tin video có thể xác định đƣợc loại codec mà video đó sử dụng nhƣ:
WMV, MOV… Tuy nhiên, một số loại tập tin không chỉ định chính xác loại
codec nào khi nhìn vào phần mở rộng của tập tin nhƣ: MP4, AVI, MKV… Các
loại tập tin trên là các hộp đựng (container) để chứa nội dung video thực sự
(luồng âm thanh, hình ảnh, phụ đề) đã đƣợc encode. Bảng 1.1 là ví dụ về một số
loại định dạng tập tin video hiện nay các website chia sẻ video trên mạng thƣờng
sử dụng:
Bảng 1.1: Một số định dạng tập tin thường dùng cho video streaming
Định dạng
Giới thiệu
3GP – 3GPP Multimedia
Định dạng 3GP là định dạng video đƣợc phát
triển bởi dự án 3rd Generation Partnership dựa
trên chuẩn MPEG-4. 3GP đƣợc sử dụng cho các
tập tin đa phƣơng tiện trên mạng không dây 3G
tốc độ cao, sử dụng phổ biến trên điện thoại có
hỗ trợ quay phim.
ASF – Advanced Systems
Format
Định dạng ASF đƣợc Microsoft phát triển. ASF
đƣợc dùng để truyền tải các tập tin đa phƣơng
tiện chứa văn bản, đồ họa, âm thanh, video. Tập
tin ASF chủ yếu là tập tin Windows Media
Audio (wma) và Windows Media Video (wmv).
AVI – Audio Video
Interleave
Định dạng AVI cũng đƣợc phát triển bởi
Microsoft và chứa dữ liệu đƣợc mã hóa theo các
codec khác nhau (có thể dùng các codec nhƣ

DivX để mã hóa tập tin AVI). AVI bao gồm hai
loại định dạng chính DivX, Xvid. AVI cũng là
một định dạng rất phổ biển hiện nay.
Dữ liệu của tập tin AVI đƣợc chia trong các
khối, mỗi khối đƣợc xác định bởi một nhãn.
Khối đầu tiên chứa dữ liệu về video, những
thông tin về chiều dài, chiều rộng, tỷ lệ khung.
Khối thứ 2 chứa dữ liệu thật sự của tập tin AVI.
Khối thứ 3 chứa các chỉ mục của các khối dữ
20

Định dạng
Giới thiệu
liệu trong tập tin video.
FLV – Flash Video
Flash Video là một định dạng video thƣờng
đƣợc dùng cho những website chia sẻ nhƣ
Youtube hoặc những website chiếu phim trực
tuyến, đƣợc phát triển bởi Adobe System
(Macromedia).
Định dạng này có chất lƣợng chấp nhận đƣợc,
trong khi kích thƣớc tập tin nhỏ, nên rất hiệu
quả trong môi trƣờng Internet. FLV phù hợp
với các hệ thống trình chiếu video trực tuyến và
hệ thống dạy học bằng video.
MP4 – MPEG-4 Video
Hiện nay, MP4 đang là định dạng phổ biến nhất
của video trên các website. MP4 đƣợc phát triển
bởi Moving Picture Experts Group, đƣợc sử
dụng trên rất nhiều điện thoại và các thiết bị

play video. Hiện tại, với việc các trình duyệt hỗ
trợ HTML5 có thể play trực tiếp tập tin MP4
của các website sử dụng HTML 5.
MOV – Apple QuickTime
Movie
QuickTime Movie là định dạng đƣợc Apple
phát triển. Cũng là một định dạng thƣờng đƣợc
sử dụng trên Internet.
1.3 Định dạng MP4
1.3.1 Sự phổ biến của định dạng MP4
Theo khảo sát của Sorenson Media [7], định dạng MP4 đã trở thành định
dạng video phổ biến nhất sử dụng bởi các website. MP4 chiếm tới 69% định
dạng video sử dụng trên các website, và 58% định dạng video sử dụng trên các
thiết bị di động.
MP4 tƣơng thích với hầu hết các máy tính, điện thoại di động, máy tính
bảng , đồng thời MP4 cũng đƣợc sử dụng bởi hầu hết các dịch vụ lƣu trữ video
và các website hiện nay.
Trƣớc kia, muốn play các video thông qua trình duyệt web thì trình duyệt
web phải cài sẵn flash plugin, và định dạng của những video đó phải đƣợc flash
hỗ trợ. Tuy nhiên hiện nay, video MP4 có thể đƣợc nhúng trực tiếp vào mã
HTML5 thông qua thẻ <video>, và các trình duyệt hỗ trợ HTML5 có thể play
21

trực tiếp video này mà không cần cài đặt thêm bất cứ plugin nào. Điều này hứa
hẹn sự phát triển mạnh mẽ của số lƣợng các video định dạng MP4 trên Internet
trong tƣơng lai.
1.3.2 Cấu trúc của tập tin MP4
Ngƣời dùng phổ thông thƣờng nhầm lẫn giữa MP4 và MPEG-4.
- MPEG-4 là một phƣơng pháp nén âm thanh, hình ảnh kỹ thuật số,
MPEG-4 đƣợc thiết kế để trở thành một chuẩn cho một nhóm các phƣơng pháp

mã hóa âm thanh và video. MPEG-4 có thể đƣợc sử dụng để nén dữ liệu audio,
video cho các trang web, sử dụng cho phƣơng tiện truyền thông, cũng nhƣ cho
các ứng dụng phát sóng truyền hình bằng giọng nói.
- MP4 là một định dạng container, dựa trên loại tập tin MOV [8] của
Apple. Đầu tiên, MPEG-4 Part 12 đƣợc phát triển từ tập tin MOV của Apple,
tiếp sau đó MPEG-4 Part 14 (MP4) đƣợc phát triển từ MPEG-4 Part 12. MP4 có
thể đƣợc sử dụng để lƣu trữ dữ liệu âm thanh, video, phụ đề. Video định dạng
MP4 cũng thƣờng dùng để streaming qua Internet.
1.3.2.1 MPEG-4
MPEG (Moving Picture Expert Group) là nhóm chuyên gia về hình ảnh,
đƣợc thành lập từ tháng 2 năm 1988 với nhiệm vụ xây dựng các tiêu chuẩn cho
tín hiệu âm thanh và video số. Ngày nay, MPEG đã trở thành một kỹ thuật nén
âm thanh và video phổ biến nhất vì MPEG không phải là một tiêu chuẩn riêng
biệt mà tuỳ thuộc vào yêu cầu cụ thể của từng thiết bị sẽ có một tiêu chuẩn thích
hợp nhƣng vẫn trên cùng một nguyên lý thống nhất.
Tiêu chuẩn đầu tiên đƣợc nhóm MPEG đƣa ra là MPEG-1, mục tiêu của
MPEG-1 là mã hoá tín hiệu âm thanh/video với tốc độ khoảng 1.5Mb/s và lƣu
trữ trong đĩa CD với chất lƣợng tƣơng đƣơng với VHS (Video Home System).
Tiêu chuẩn MPEG-4 [9] đƣợc giới thiệu vào năm 1988 trở thành chuẩn
thiết kế cho một nhóm các định dạng audio và video coding (ISO/IEC 14496 -
Coding of audio-visual objects). MPEG-4 có thể đƣợc sử dụng để nén dữ liệu
âm thanh, video cho các trang web, sử dụng cho phƣơng tiện truyền thông, hoặc
cho các ứng dụng phát sóng truyền hình bằng giọng nói.
MPEG-4 bao gồm nhiều tiêu chuẩn nhỏ hơn gọi là các phần (part), mỗi
phần mô tả một khía cạnh nhất định của một đặc tả kỹ thuật.


22

Bảng 1.2: Thông tin một số phần của chuẩn MPEG-4

Chuẩn MPEG-4 là một chuẩn động, dễ dàng thay đổi. MPEG-4 quy ƣớc
các đối tƣợng khác nhau trong một khung hình đƣợc mô tả, mã hoá và truyền đi
một cách riêng biệt đến bộ giải mã trong các dòng cơ bản ES (Elementary
Stream) khác nhau.
Phần
Số
Tiêu đề
Đặc tả
Phần 1
ISO/IEC
14496-1
Systems
Mô tả về cách thức đồng bộ hóa,
ghép video và âm thanh.
Phần 3
ISO/IEC
14496-3
Audio
Một tập hợp các định dạng nén
cho tín hiệu âm thanh bao gồm
một số biến thể của AAC
(Advance Audio Coding) và một
số chuẩn khác nhƣ ALS (Audio
Lossless Coding), SLS ( Scalable
Lossless Coding),
Phần 10
ISO/IEC
14496-10
Advanced
Video Coding

Thƣờng đƣợc gọi tắt là H.264, là
một chuẩn mã hóa/giải mã video
và định dạng video đang đƣợc sử
dụng rộng rãi nhất hiện nay để
ghi, nén và chia sẻ video phân
giải cao.
Phần 12
ISO/IEC
14496-12
ISO base
media file
format.
Một định dạng tệp tin để lƣu trữ
nội dung phƣơng tiện truyền
thông thời gian thực. Đây là một
định dạng chung để hình thành rất
nhiều định dạng tập tin cụ thể nhƣ
3GP, Motion JPEG 2000, MPEG-
4 Part 14 dựa trên chuẩn của định
dạng MOV (Apple).
Phần 14
ISO/IEC
14496-14
MP4 file
format.
Còn đƣợc gọi là MPEG-4 phiên
bản 2. Đây là một container của
MPEG-4 part12.
23


Cũng nhờ việc xác định, tách và xử lý riêng các đối tƣợng (nhƣ nhạc nền,
âm thanh xa gần, đồ vật, đối tƣợng ảnh video nhƣ con ngƣời hay động vật, nền
khung hình,…) nên ngƣời sử dụng có thể loại bỏ riêng từng đối tƣợng khỏi
khuôn hình. Sự tổ hợp lại thành khung hình chỉ đƣợc thực hiện sau khi giải mã
các đối tƣợng đó.

Hình 1.2 :Cấu trúc bộ mã hóa và giải mã video MPEG-4
Cấu trúc của bộ mã hoá và giải mã video MPEG-4
Các thiết bị mã hoá và giải mã video đều áp dụng sơ đồ mã hoá nhƣ nhau
cho mỗi đối tƣợng video (video-object) riêng biệt. Ví dụ khi mã hoá và tổng hợp
một khung hình, các đối tƣợng nhƣ: ôtô, ngƣời, cây cối, nhà cửa… đƣợc tách ra
khỏi video đầu vào. Mỗi đối tƣợng video này sau đó đƣợc mã hoá riêng rẽ bởi
từng bộ mã hoá đối tƣợng video VO (video object) sau đó đƣợc truyền đi trên
mạng. Ở bên thu, từng đối tƣợng này đƣợc giải mã riêng rẽ nhờ bộ giải mã các
đối tƣợng video (VO decoder) sau đó gửi các dữ liệu này đến bộ tổng hợp các
đối tƣợng video (Video Object compositor) .Vì vậy, ngƣời dùng có thể thực hiện
các hoạt động tƣơng tác riêng với từng đối tƣợng video nhƣ: di chuyển, thay đổi
tỷ lệ, kết nối, loại bỏ, bổ xung các đối tƣợng video mới… ngay tại nơi giải mã
hay mã hoá.
Ngƣời dùng cũng có thể tải về các đối tƣợng khác từ thƣ viện cơ sở dữ
liệu có sẵn trên thiết bị hay từ xa thông qua mạng LAN, WAN hay mạng
Internet sau đó ghép thêm vào hoặc thay thế các đối tƣợng có trong khuôn hình
gốc.
Các bộ phận chức năng chính trong các thiết bị MPEG -4 bao gồm:
- Bộ mã hoá hình dạng ngoài (shape coder): dùng để nén đoạn thông tin,
giúp xác định khu vực và đƣờng viền bao quanh đối tƣợng trong khung hình.
- Bộ dự đoán và tổng hợp động: dùng để giảm thông tin dƣ thừa theo thời
gian.
24


- Bộ kết cấu mặt ngoài (texture coder): dùng để xử lý dữ liệu bên trong
và các dữ liệu còn lại sau khi đã bù chuyển động.
Trong MPEG-4, tất cả các đối tƣợng có thể có thể đƣợc mã hoá với sơ đồ
mã hoá riêng của nó: video đƣợc mã hoá theo các phƣơng pháp mã hóa video,
dữ liệu text đƣợc mã hoá theo phƣơng pháp mã hóa dữ liệu text, dữ liệu âm
thanh đƣợc mã hóa theo các phƣơng pháp mã hóa âm thanh… thay vì việc xử lý
tất cả các điểm ảnh với cùng một kiểu mã hóa nhƣ trong mã hoá ảnh động. Do
các quá trình mã hoá đã đƣợc tối ƣu hoá cho từng loại dữ liệu thích hợp, nên
chuẩn MPEG-4 sẽ cho phép mã hoá với hiệu quả cao tín hiệu video, audio và cả
với các nội dung khác.
1.3.2.2 MP4 (MPEG-4 part 14)
MP4 (MPEG-4 part 14) là một container, thƣờng dùng để chứa âm thanh
và hình ảnh, tuy nhiên nó cũng đƣợc sử dụng để chứa dữ liệu nhƣ phụ đề và các
hình ảnh tĩnh.
Có 2 thành phần bên trong MP4 container dựa trên MPEG-4 part 12 và có
thêm phần mở rộng MP4.

Hình 1.3: Định dạng MP4 là mở rộng của định dạng tệp tin ISO (ISO
base media file format, MPEG-4 Part 12)
Các codec thƣờng đƣợc sử dụng để nén các dòng dữ liệu (Video, Audio,
Subtiles) của MP4:
- Dòng dữ liệu Video: thƣờng sử dụng MPEG-4-Part10 (H264), MPEG-4
part2, MPEG-2, MPEG-1.
25

- Dòng dữ liệu Audio: thƣờng sử dụng Advanced Audio Coding (AAC),
Audio Lossless Coding (ALS), Scalable Lossless Coding (SLS), MP3,
MPEG-1 Audio Layer II (MP2), ….
- Dòng dữ liệu Subtitles (Phụ đề): thƣờng sử dụng MPEG-4 timed Text
(còn đƣợc gọi là 3GPP Timed Text).

1.3.2.3 MPEG-4 part 12:
MPEG-4 part 12 [10] đã đƣợc khái quát hóa thành định dạng tệp tin dữ
liệu truyền thông đa phƣơng tiện cơ sở “ISO Base Media File Format” (ISO /
IEC 14.496-12). MPEG-4 part 12 mô tả một cấu trúc chung và các yếu tố bắt
buộc hoặc tùy chọn của tập tin dữ liệu đa phƣơng tiện thời gian thực. “ISO Base
Media File Format” là cơ sở để phát triển các container phƣơng tiện truyền
thông nhƣ MP4, 3GP.
Theo định nghĩa của “ISO Base Media File format”, cấu trúc của các tập
tin media là hƣớng đối tƣợng, mỗi một tập tin có thể chia thành các đối tƣợng rất
đơn giản và từ kiểu của các đối tƣợng có thể suy ra cấu trúc của nó.
Tổng thể của một tập tin dữ liệu đa phƣơng tiện đƣợc gọi là một movie,
và chia thành các track, mỗi track đại diện cho một khoảng thời gian của tập tin
dữ liệu đa phƣơng tiện này. Trong mỗi track, mỗi đơn vị thời gian đƣợc gọi là
một mẫu (sample), có thể là một khung hình của video hoặc âm thanh.
Mỗi một track có thể chứa thông tin về một đoạn video hoặc thông tin về
một đoạn âm thanh của tệp tin dữ liệu truyền thông đa phƣơng tiện.

×