1. Trang chủ
  2. » Luận Văn - Báo Cáo

LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN

42 550 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 1,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN PHÂN CÔNG CÔNG VIỆC3MỞ ĐẦU4CHƯƠNG 1. TỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN51.1.Một số khái niệm51.1.1.Môi trường đa phương tiện51.1.2.Lập trình đa phương tiện51.2.Lập trình đa phương tiện trên Windows61.2.1.Tổng quan kiến trúc môi trường61.2.2.Windows API71.2.3.Thư viện liên kết động (DLL)91.2.4.Drivers91.2.5.Hardware Abstraction Layer (HAL)101.3.Một số bộ API hỗ trợ lập trình đa phương tiện trên Windows101.3.1.DirectX101.3.2.FFmpeg11CHƯƠNG 2. CẤU TRÚC MỘT SỐ ĐỊNH DẠNG VIDEO132.1.Định dạng AVI132.1.1.Giới thiệu132.1.2.Cấu trúc AVI RIFF132.1.3.Thành phần MainAVIHeader172.1.4.Khối LIST “movi”182.1.5.Khối “idxl”202.1.6.Các khối dữ liệu khác202.2.Định dạng MPEG212.2.1.Giới thiệu212.2.2.Cấu trúc tập tin MPEG212.3.So sánh hai định dạng AVI và MPEG22CHƯƠNG 3. TỔNG QUAN VỀ STREAMING VIDEO233.1.Định nghĩa233.2.Các giao thức trong streaming video243.2.1.Giao thức RTSP (RealTime Streaming Protocol)243.2.2.Giao thức RTP (Realtime Transport Protocol)27CHƯƠNG 4. THỬ NGHIỆM ỨNG DỤNG304.1.Ứng dụng thao tác với video304.1.1.Các công cụ, thư viện sử dụng304.1.2.Kịch bản mô phỏng chức năng304.2.Mô phỏng ứng dụng streaming video334.2.1.Cài đặt phía server334.2.2.Cài đặt phía client374.2.3.Nhận xét39KẾT LUẬN40

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ───────

TRUYỀN THÔNG ĐA PHƯƠNG TIỆN

THỬ NGHIỆM CÁC ỨNG DỤNG ĐA PHƯƠNG TIỆN

Lâm Minh Anh – 2011 1113Nguyễn Văn Tuấn – 2011 2710Ngô Thiện Thắng – 2011 2228

Giảng viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan

HÀ NỘI – THÁNG 12 NĂM 2014

Trang 2

M c l c ục lục ục lục

PHÂN CÔNG CÔNG VI C ỆC 3

M Đ U Ở ĐẦU ẦU 4

CH ƯƠNG 1 TỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN NG 1 T NG QUAN V L P TRÌNH ĐA PH ỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN Ề LẬP TRÌNH ĐA PHƯƠNG TIỆN ẬP TRÌNH ĐA PHƯƠNG TIỆN ƯƠNG 1 TỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN NG TI N ỆC 5

1.1 M t s khái ni m ột số khái niệm ố khái niệm ệm 5

1.1.1 Môi tr ường đa phương tiện ng đa ph ương tiện ng ti n ện 5

1.1.2 L p trình đa ph ập trình đa phương tiện ương tiện ng ti n ện 5

1.2 L p trình đa ph ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n trên Windows ệm 6

1.2.1 T ng quan ki n trúc môi tr ổng quan kiến trúc môi trường ến trúc môi trường ường đa phương tiện 6 ng 1.2.2 Windows API 7

1.2.3 Th vi n liên k t đ ng (DLL) ư ện ến trúc môi trường ộng (DLL) 9

1.2.4 Drivers 9

1.2.5 Hardware Abstraction Layer (HAL) 10

1.3 M t s b API h tr l p trình đa ph ột số khái niệm ố khái niệm ột số khái niệm ỗ trợ lập trình đa phương tiện trên Windows ợ lập trình đa phương tiện trên Windows ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n trên Windows ệm 10

1.3.1 DirectX 10

1.3.2 FFmpeg 11

CH ƯƠNG 1 TỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN NG 2 C U TRÚC M T S Đ NH D NG VIDEO ẤU TRÚC MỘT SỐ ĐỊNH DẠNG VIDEO ỘT SỐ ĐỊNH DẠNG VIDEO Ố ĐỊNH DẠNG VIDEO ỊNH DẠNG VIDEO ẠNG VIDEO 13

2.1 Đ nh d ng AVI ịnh dạng AVI ạng AVI 13

2.1.1 Gi i thi u ới thiệu ện 13

2.1.2 C u trúc AVI RIFF ấu trúc AVI RIFF 13

2.1.3 Thành ph n MainAVIHeader ần MainAVIHeader 17

2.1.4 Kh i LIST “movi” ối LIST “movi” 18

2.1.5 Kh i “idxl” ối LIST “movi” 20

2.1.6 Các kh i d li u khác ối LIST “movi” ữ liệu khác ện 20

2.2 Đ nh d ng MPEG ịnh dạng AVI ạng AVI 21

2.2.1 Gi i thi u ới thiệu ện 21

2.2.2 C u trúc t p tin MPEG ấu trúc AVI RIFF ập trình đa phương tiện 21

2.3 So sánh hai đ nh d ng AVI và MPEG ịnh dạng AVI ạng AVI 22

CH ƯƠNG 1 TỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN NG 3 T NG QUAN V STREAMING VIDEO ỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN Ề LẬP TRÌNH ĐA PHƯƠNG TIỆN 23

3.1 Đ nh nghĩa ịnh dạng AVI 23

Trang 3

3.2 Các giao th c trong streaming video ức trong streaming video 24

3.2.1 Giao thức RTSP (Real-Time Streaming Protocol) 24

3.2.2 Giao thức RTP (Real-time Transport Protocol) 27

CH ƯƠNG 1 TỔNG QUAN VỀ LẬP TRÌNH ĐA PHƯƠNG TIỆN NG 4 TH NGHI M NG D NG Ử NGHIỆM ỨNG DỤNG ỆC ỨNG DỤNG ỤNG 30

4.1 ỨNG DỤNG ng d ng thao tác v i video ục lục ới video 30

4.1.1 Các công c , th vi n s d ng ụ, thư viện sử dụng ư ện ử dụng ụ, thư viện sử dụng 30

4.1.2 K ch b n mô ph ng ch c năng ịch bản mô phỏng chức năng ản mô phỏng chức năng ỏng chức năng ức năng 30

4.2 Mô ph ng ng d ng streaming video ỏng ứng dụng streaming video ức trong streaming video ục lục 33

4.2.1 Cài đ t phía server ặt phía server 33

4.2.2 Cài đ t phía client ặt phía server 37

4.2.3 Nh n xét ập trình đa phương tiện 39

K T LU N ẾT LUẬN ẬP TRÌNH ĐA PHƯƠNG TIỆN 40

TÀI LI U THAM KH O ỆC ẢO 41

Trang 4

Phân công công vi c ệm

Lâm Minh Anh Tìm hiểu về lập trình đa phương tiện trong môitrường Windows và một số bộ API thường sử

dụng

Ngô Thi n Th ng ệm ắng

Tìm hiểu về cấu trúc các định dạng AVI và MPEG

và thử nghiệm kịch bản streaming video trênWindows

Nguy n Văn Tu n ễn Văn Tuấn ấn Tìm hiểu về streaming video và lập trình ứng

dụng thao tác với video trên Windows

Trang 5

M đ u ở đầu ầu

Đa phương tiệnng ti n (ện multimedia) là s k t h p c a nhi u khuôn d ng d li u nh vănự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ợp của nhiều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ữ liệu khác ện ư

b n, hình nh, âm thanh, video, … Hi n nay đa phản mô phỏng chức năng ản mô phỏng chức năng ện ương tiệnng ti n đã có r t nhi u các phátện ấu trúc AVI RIFF ều khuôn dạng dữ liệu như vănminh, sáng ch công ngh ng d ng trong th c ti n, góp ph n làm cho cu c s ng trến trúc môi trường ện ức năng ụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ễn, góp phần làm cho cuộc sống trở ần MainAVIHeader ộng (DLL) ối LIST “movi” ởnên thân thi n và tr c quan h n Và đ t o ra các phát minh đó không th không nh cện ự kết hợp của nhiều khuôn dạng dữ liệu như văn ơng tiện ể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ắc

đ n l p trình đa phến trúc môi trường ập trình đa phương tiện ương tiệnng ti n.ện

Báo cáo này sẽ trình bày m t s v n đ c b n liên quan đ n l p trình đa phộng (DLL) ối LIST “movi” ấu trúc AVI RIFF ều khuôn dạng dữ liệu như văn ơng tiện ản mô phỏng chức năng ến trúc môi trường ập trình đa phương tiện ương tiệnng

ti n, c u trúc m t s đ nh d ng video, streaming video, và ti n hành th nghi m ngện ấu trúc AVI RIFF ộng (DLL) ối LIST “movi” ịch bản mô phỏng chức năng ạng dữ liệu như văn ến trúc môi trường ử dụng ện ức năng

d ng tụ, thư viện sử dụng ương tiệnng tác đa phương tiệnng ti n N i dung báo cáo đện ộng (DLL) ượp của nhiều khuôn dạng dữ liệu như vănc chia làm 4 chương tiệnng:

Ch ương 1 Tổng quan về lập trình đa phương tiện ng 1 T ng quan v l p trình đa ph ổng quan về lập trình đa phương tiện ề lập trình đa phương tiện ập trình đa phương tiện ương 1 Tổng quan về lập trình đa phương tiện ng ti n ện : Trình bày m t s nét khái quátộng (DLL) ối LIST “movi”

v l p trình đa phều khuôn dạng dữ liệu như văn ập trình đa phương tiện ương tiệnng ti n và m t s đ c đi m c a ki n trúc môi trện ộng (DLL) ối LIST “movi” ặt phía server ể tạo ra các phát minh đó không thể không nhắc ủa nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ường đa phương tiệnng l p trìnhập trình đa phương tiện

đa phương tiệnng ti n.ện

Ch ương 1 Tổng quan về lập trình đa phương tiện ng 2 C u trúc m t s đ nh d ng video ấu trúc một số định dạng video ột số định dạng video ố định dạng video ịnh dạng video ạng video : Trình bày c u trúc m t s đ nh d ngấu trúc AVI RIFF ộng (DLL) ối LIST “movi” ịch bản mô phỏng chức năng ạng dữ liệu như vănvideo ph bi n hi n nay là AVI và MPEG, trong đó ch y u t p trung vào đ nhổng quan kiến trúc môi trường ến trúc môi trường ện ủa nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ập trình đa phương tiện ịch bản mô phỏng chức năng

d ng AVI do các tài li u v c u trúc đ nh d ng MPEG có r t ít.ạng dữ liệu như văn ện ều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ịch bản mô phỏng chức năng ạng dữ liệu như văn ấu trúc AVI RIFF

Ch ương 1 Tổng quan về lập trình đa phương tiện ng 3 T ng quan v streaming video ổng quan về lập trình đa phương tiện ề lập trình đa phương tiện : Gi i thích m t s khái ni m liên quan đ nản mô phỏng chức năng ộng (DLL) ối LIST “movi” ện ến trúc môi trườngkhái ni m truy n dòng, ho t đ ng streaming video và ng d ng c a nó trong th cện ều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ộng (DLL) ức năng ụ, thư viện sử dụng ủa nhiều khuôn dạng dữ liệu như văn ự kết hợp của nhiều khuôn dạng dữ liệu như văn

ti n ễn, góp phần làm cho cuộc sống trở

Ch ương 1 Tổng quan về lập trình đa phương tiện ng 4 Th nghi m ng d ng ử nghiệm ứng dụng ện ứng dụng ụng : Th c hi n l p trình xây d ng ng d ng thự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ập trình đa phương tiện ự kết hợp của nhiều khuôn dạng dữ liệu như văn ức năng ụ, thư viện sử dụng ử dụngnghi m biên t p video v i m t s thao tác nh c t video, tách audio-video…, cùngện ập trình đa phương tiện ới thiệu ộng (DLL) ối LIST “movi” ư ắc

v i đó là th nghi m m t k ch b n ng d ng streaming video.ới thiệu ử dụng ện ộng (DLL) ịch bản mô phỏng chức năng ản mô phỏng chức năng ức năng ụ, thư viện sử dụng

V i ki n th c còn h n ch , b n báo cáo ch c ch n không th tránh kh i nh ng thi uới thiệu ến trúc môi trường ức năng ạng dữ liệu như văn ến trúc môi trường ản mô phỏng chức năng ắc ắc ể tạo ra các phát minh đó không thể không nhắc ỏng chức năng ữ liệu khác ến trúc môi trườngsót Em xin nh n m i s góp ý, s a ch a c a cô v các n i dung đã đập trình đa phương tiện ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ự kết hợp của nhiều khuôn dạng dữ liệu như văn ử dụng ữ liệu khác ủa nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ộng (DLL) ượp của nhiều khuôn dạng dữ liệu như vănc trình bàytrong báo cáo

Trang 6

Ch ương tiện trên Windows ng 1 T ng quan v l p trình đa ph ổng quan về lập trình đa phương tiện ề lập trình đa phương tiện ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n ệm

1.1 M t s khái ni m ột số khái niệm ố khái niệm ệm

1.1.1 Môi tr ường đa phương tiện ng đa ph ương tiện trên Windows ng ti n ệm

Môi tr ường đa phương tiện ng đa ph ương tiện trên Windows ng ti n ệm bao g m toàn b h th ng thi t b và h th ngồm toàn bộ hệ thống thiết bị và hệ thống ộng (DLL) ện ối LIST “movi” ến trúc môi trường ịch bản mô phỏng chức năng ện ối LIST “movi”

ph n m m h tr các lo i phần MainAVIHeader ều khuôn dạng dữ liệu như văn ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ương tiệnng ti n (media) và môi trện ường đa phương tiệnng m ng truy nạng dữ liệu như văn ều khuôn dạng dữ liệu như vănthông cho phép xây d ng và truy n t i các ng d ng multimedia.ự kết hợp của nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ức năng ụ, thư viện sử dụng

Hình 1.1 Môi trường đa phương tiện

1.1.2 L p trình đa ph ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n ệm

L p trình đa ph ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n ệm là vi c s d ng ngôn ng l p trình trong vi cện ử dụng ụ, thư viện sử dụng ữ liệu khác ập trình đa phương tiện ệnsáng t o, thi t k nh ng ng d ng mang tính đa phạng dữ liệu như văn ến trúc môi trường ến trúc môi trường ữ liệu khác ức năng ụ, thư viện sử dụng ương tiệnng ti n và tện ương tiệnng tác ngức năng

d ng trong các lĩnh v c truy n thông, qu ng cáo, giáo d c và gi i trí d a trên cụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ụ, thư viện sử dụng ản mô phỏng chức năng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ơng tiện

s n n t ng c a môi trở ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ường đa phương tiệnng đa phương tiệnng ti n ện

M t vài ví d đ n gi n đó là vi c thi t k đ h a, trò ch i đi n t , làm ho tộng (DLL) ụ, thư viện sử dụng ơng tiện ản mô phỏng chức năng ện ến trúc môi trường ến trúc môi trường ồm toàn bộ hệ thống thiết bị và hệ thống ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ơng tiện ện ử dụng ạng dữ liệu như vănhình 3D, thi t k web, biên t p âm thanh, phim nh H u h t các s n ph mến trúc môi trường ến trúc môi trường ập trình đa phương tiện ản mô phỏng chức năng ần MainAVIHeader ến trúc môi trường ản mô phỏng chức năng ẩmtruy n thông (qu ng cáo, truy n hình, Internet,…) và gi i trí hi n đ i (game,ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ện ạng dữ liệu như văn

đi n nh, ho t hình,…) chúng ta s d ng ngày nay đ u là s n ph m c a l pện ản mô phỏng chức năng ạng dữ liệu như văn ử dụng ụ, thư viện sử dụng ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ẩm ủa nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiệntrình đa phương tiệnng ti n.ện

S đ dơng tiện ồm toàn bộ hệ thống thiết bị và hệ thống ưới thiệui đây sẽ trình bày s lơng tiện ượp của nhiều khuôn dạng dữ liệu như vănc v l p trình đa phều khuôn dạng dữ liệu như văn ập trình đa phương tiện ương tiệnng ti n nói chung:ện

Trang 7

Hình 1.2 Tổng quan về lập trình đa phương tiện

o Ph n c ng: ầu ức trong streaming video bao g mồm toàn bộ hệ thống thiết bị và hệ thống các thi t b thu nh n (webcam, microphone, máy scan,ến trúc môi trường ịch bản mô phỏng chức năng ập trình đa phương tiệnbàn phím, …), các thi t b hi n th , trình di n (màn hình, máy chi u, loa, …)ến trúc môi trường ịch bản mô phỏng chức năng ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng ễn, góp phần làm cho cuộc sống trở ến trúc môi trường

o H đi u hành ệm ề lập trình đa phương tiện : là môi trường đa phương tiệnng đ l p trình và trình di n các ng d ng đaể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ễn, góp phần làm cho cuộc sống trở ức năng ụ, thư viện sử dụng

phương tiệnng ti n.ện

o Driver: là trình đi u khi n ph n c ng, ng v i m t thi t b c th và m tều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ần MainAVIHeader ức năng ức năng ới thiệu ộng (DLL) ến trúc môi trường ịch bản mô phỏng chức năng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ộng (DLL)

h đi u hành c th ện ều khuôn dạng dữ liệu như văn ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc

o API: giao di n l p trình ng d ng, cung c p các framework (khung làm vi c)ện ập trình đa phương tiện ức năng ụ, thư viện sử dụng ấu trúc AVI RIFF ệncho vi c thao tác v i d li u đa phện ới thiệu ữ liệu khác ện ương tiệnng ti n API trên các h đi u hành khácện ện ều khuôn dạng dữ liệu như vănnhau là khác nhau

o Công c l p trình ục lục ập trình đa phương tiện trên Windows : Ph n m m đ l p trình viên s d ng đ xây d ng cácần MainAVIHeader ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ử dụng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ự kết hợp của nhiều khuôn dạng dữ liệu như văn

ng d ng (Visual Studio, Eclipse, Netbeans, …) d a trên các ngôn ng l p

ức năng ụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ữ liệu khác ập trình đa phương tiệntrình, ví d nh C/C++, C#, Java, …ụ, thư viện sử dụng ư

1.2 L p trình đa ph ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n trên Windows ệm

1.2.1 T ng quan ki n trúc môi tr ổng quan về lập trình đa phương tiện ến trúc môi trường ường đa phương tiện ng

Vi c l p trình đa phện ập trình đa phương tiện ương tiệnng ti n nói chung sẽ bao g m hai ki u, tện ồm toàn bộ hệ thống thiết bị và hệ thống ể tạo ra các phát minh đó không thể không nhắc ương tiệnng ng v i hai ức năng ới thiệu

ch đ làm vi c c a CPU:ến trúc môi trường ộng (DLL) ện ủa nhiều khuôn dạng dữ liệu như văn

o Kernel Mode: tương tiệnng ng v i l p trình c p th p, ngức năng ới thiệu ập trình đa phương tiện ấu trúc AVI RIFF ấu trúc AVI RIFF ường đa phương tiện ập trình đa phương tiệni l p trình s d ngử dụng ụ, thư viện sử dụngngôn ng Assembly tác đ ng tr c ti p vào các thi t b ph n c ng Khi CPUữ liệu khác ộng (DLL) ự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ến trúc môi trường ịch bản mô phỏng chức năng ần MainAVIHeader ức năng trong Kernel Mode, nó có th th c thi b t c ch th nào và tham chi u

ở ể tạo ra các phát minh đó không thể không nhắc ự kết hợp của nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ức năng ỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ến trúc môi trường

đ n b t kì thi t b ph n c ng nào Kernel mode che gi u các thao tác v iến trúc môi trường ấu trúc AVI RIFF ến trúc môi trường ịch bản mô phỏng chức năng ần MainAVIHeader ức năng ấu trúc AVI RIFF ới thiệu

ph n c ng kh i ngần MainAVIHeader ức năng ỏng chức năng ường đa phương tiệni dùng Tuy nhiên, l p trình trong Kernel Mode là vôập trình đa phương tiệncùng khó khăn và ngày nay ít đượp của nhiều khuôn dạng dữ liệu như văn ử dụng ụ, thư viện sử dụngc s d ng do đã có s h tr r t nhi u tự kết hợp của nhiều khuôn dạng dữ liệu như văn ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ều khuôn dạng dữ liệu như văn ừcác API

o User Mode: tương tiệnng ng v i l p trình c p cao Khi CPU trong User Mode,ức năng ới thiệu ập trình đa phương tiện ấu trúc AVI RIFF ở

nó không th truy c p t i ph n c ng ho c tham chi u đ n ph n c ng m tể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ới thiệu ần MainAVIHeader ức năng ặt phía server ến trúc môi trường ến trúc môi trường ần MainAVIHeader ức năng ộng (DLL)cách tr c ti p Các đo n mã trong User Mode sẽ đự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ạng dữ liệu như văn ượp của nhiều khuôn dạng dữ liệu như vănc chuy n đ i thành cácể tạo ra các phát minh đó không thể không nhắc ổng quan kiến trúc môi trường

Trang 8

hàm API h th ng đ có th truy c p t i b nh và ph n c ng M t s bện ối LIST “movi” ể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ới thiệu ộng (DLL) ới thiệu ần MainAVIHeader ức năng ộng (DLL) ối LIST “movi” ộng (DLL)API ph bi n trong l p trình đa phổng quan kiến trúc môi trường ến trúc môi trường ập trình đa phương tiện ương tiệnng ti n đó là DirectX, OpenGL,…ện

Hình 1.3 Kiến trúc môi trường lập trình đa phương tiện trong Windows

API (Application Programming Interface – giao di n l p trình ng d ng) là hện ập trình đa phương tiện ức năng ụ, thư viện sử dụng ện

th ng th vi n mã ngu n l p trình đối LIST “movi” ư ện ồm toàn bộ hệ thống thiết bị và hệ thống ập trình đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc m t h th ng máy tính hay m t ngộng (DLL) ện ối LIST “movi” ộng (DLL) ức năng

d ng cung c p đ h tr các l p trình viên, cho phép các yêu c u d ch v có thụ, thư viện sử dụng ấu trúc AVI RIFF ể tạo ra các phát minh đó không thể không nhắc ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiện ần MainAVIHeader ịch bản mô phỏng chức năng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc

đượp của nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như vănc t o ra t các chừ ương tiệnng trình máy tính khác, và/ho c cho phép d li u có thặt phía server ữ liệu khác ện ể tạo ra các phát minh đó không thể không nhắc

đượp của nhiều khuôn dạng dữ liệu như vănc trao đ i qua l i gi a chúng Cũng gi ng nh bàn phím là thi t b giao ti pổng quan kiến trúc môi trường ạng dữ liệu như văn ữ liệu khác ối LIST “movi” ư ến trúc môi trường ịch bản mô phỏng chức năng ến trúc môi trường

gi a ngữ liệu khác ường đa phương tiệni dùng và máy tính, m t API là m t giao ti p ph n m m gi a các côngộng (DLL) ộng (DLL) ến trúc môi trường ần MainAVIHeader ều khuôn dạng dữ liệu như văn ữ liệu khác

c l p trình và h đi u hành ụ, thư viện sử dụng ập trình đa phương tiện ện ều khuôn dạng dữ liệu như văn

B API c a t ng h đi u hành không gi ng nhau Nh ng ph n m m trên máyộng (DLL) ủa nhiều khuôn dạng dữ liệu như văn ừ ện ều khuôn dạng dữ liệu như văn ối LIST “movi” ữ liệu khác ần MainAVIHeader ều khuôn dạng dữ liệu như vănMacOSX không th ch y trên Windows 7, b i vì MacOSX và Windows 7 có các APIể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ởhoàn toàn khác nhau Tuy nhiên có nh ng ph n m m có th ch y đa n n t ng,ữ liệu khác ần MainAVIHeader ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng

th c ch t là do có nhi u phiên b n ng v i t ng h đi u hành, b n ch t chúngự kết hợp của nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ức năng ới thiệu ừ ện ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ấu trúc AVI RIFF

đượp của nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiệnc l p trình b i các b API khác nhau đ i v i t ng h đi u hành đ xây d ngở ộng (DLL) ối LIST “movi” ới thiệu ừ ện ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ự kết hợp của nhiều khuôn dạng dữ liệu như vănnên các phiên b n khác nhau đó.ản mô phỏng chức năng

V b n ch t, API trên b t kì h đi u hành nào, đ u cung c p kh năng truyều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ấu trúc AVI RIFF ấu trúc AVI RIFF ện ều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ản mô phỏng chức năng

xu t đ n m t t p các thao tác hay s d ng, ví d nh thao tác vẽ các c a s hayấu trúc AVI RIFF ến trúc môi trường ộng (DLL) ập trình đa phương tiện ử dụng ụ, thư viện sử dụng ụ, thư viện sử dụng ư ử dụng ổng quan kiến trúc môi trường

Trang 9

các icon trên màn hình, hay thao tác ch n t p t đĩa c ng Chúng bao g m các t pọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ện ừ ức năng ồm toàn bộ hệ thống thiết bị và hệ thống ập trình đa phương tiệncác hàm, th t c, bi n và các c u trúc d li u đ th c hi n các ch c năng nh tủa nhiều khuôn dạng dữ liệu như văn ụ, thư viện sử dụng ến trúc môi trường ấu trúc AVI RIFF ữ liệu khác ện ể tạo ra các phát minh đó không thể không nhắc ự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ức năng ấu trúc AVI RIFF

đ nh Và th c ch t, l p trình đa phịch bản mô phỏng chức năng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ập trình đa phương tiện ương tiệnng ti n cũng tện ương tiệnng t nh vi c l p trình cácự kết hợp của nhiều khuôn dạng dữ liệu như văn ư ện ập trình đa phương tiện

ức năng ụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ỉ thị nào và tham chiếu ở ử dụng ụ, thư viện sử dụng ương tiện

v i h th ng ph n c ng đa phới thiệu ện ối LIST “movi” ần MainAVIHeader ức năng ương tiệnng ti n.ện

Các thành ph n trong Windows API nói riêng, và trong các API nói chung đ uần MainAVIHeader ều khuôn dạng dữ liệu như vănbao g m:ồm toàn bộ hệ thống thiết bị và hệ thống

o Các hàm (function): là h t nhân c a Window API Đó là nh ng mã l nhạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ữ liệu khác ện

đ hoàn thành các công vi c c th Chúng để tạo ra các phát minh đó không thể không nhắc ện ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như vănc ch a trong các thức năng ư

vi n DLL (sẽ đện ượp của nhiều khuôn dạng dữ liệu như vănc trình bày s lơng tiện ượp của nhiều khuôn dạng dữ liệu như văn ởc ph n sau) và có th đần MainAVIHeader ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như vănc truy

xu t m t cách d dàng b i các chấu trúc AVI RIFF ộng (DLL) ễn, góp phần làm cho cuộc sống trở ở ương tiệnng trình trên Windows

o C u trúc (structure): ấn là s k t h p c a nhi u bi n riêng bi t, thự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ợp của nhiều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ến trúc môi trường ện ường đa phương tiệnng

đượp của nhiều khuôn dạng dữ liệu như vănc dùng đ nhóm các thông tin có liên quan v i nhau thành m tể tạo ra các phát minh đó không thể không nhắc ới thiệu ộng (DLL)nhóm Ví d c u trúc Sinh Viên g m các thông tin: tên (string), mã sinhụ, thư viện sử dụng ấu trúc AVI RIFF ồm toàn bộ hệ thống thiết bị và hệ thốngviên (big int), s đi n tho i (big int), tu i (int), l p (string) ối LIST “movi” ện ạng dữ liệu như văn ổng quan kiến trúc môi trường ới thiệu

o Các h ng s (constant): ằng số (constant): ố khái niệm các h ng s là m t cách th c thu n l i đằng số là một cách thức thuận lợi để ối LIST “movi” ộng (DLL) ức năng ập trình đa phương tiện ợp của nhiều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắctham chi u đ n các giá tr đến trúc môi trường ến trúc môi trường ịch bản mô phỏng chức năng ượp của nhiều khuôn dạng dữ liệu như vănc s d ng l i nhi u l n b ng vi c đ tử dụng ụ, thư viện sử dụng ạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ần MainAVIHeader ằng số là một cách thức thuận lợi để ện ặt phía server

h ng s ph i đằng số là một cách thức thuận lợi để ối LIST “movi” ản mô phỏng chức năng ượp của nhiều khuôn dạng dữ liệu như vănc đ nh nghĩa đ u m i file mã ngu n.ịch bản mô phỏng chức năng ở ần MainAVIHeader ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ồm toàn bộ hệ thống thiết bị và hệ thống

Riêng đ i v i Windows API thì h u h t các mã l nh đối LIST “movi” ới thiệu ần MainAVIHeader ến trúc môi trường ện ượp của nhiều khuôn dạng dữ liệu như vănc ch a trong các fileức năng

*.DLL (Dynamic Link Library – th vi n liên k t đ ng) ch a trong th m c hư ện ến trúc môi trường ộng (DLL) ức năng ư ụ, thư viện sử dụng ện

th ng c a Windows (thối LIST “movi” ủa nhiều khuôn dạng dữ liệu như văn ường đa phương tiệnng là C:\Windows\System32) Các file DLL cho phépcác chương tiệnng trình bên ngoài dùng các hàm c a chúng H u h t các hàm API ch aủa nhiều khuôn dạng dữ liệu như văn ần MainAVIHeader ến trúc môi trường ức năngtrong user32.dll (các hàm giao di n ngện ường đa phương tiệni dùng), kernel32.dll (các hàm c a hủa nhiều khuôn dạng dữ liệu như văn ện

đi u hành), gdi32.dll (các hàm giao ti p thi t b đ h a) và shell32.dll (các h vều khuôn dạng dữ liệu như văn ến trúc môi trường ến trúc môi trường ịch bản mô phỏng chức năng ồm toàn bộ hệ thống thiết bị và hệ thống ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ện ỏng chức năngWindows)

Trên Windows, đ th c hi n l p trình đa phể tạo ra các phát minh đó không thể không nhắc ự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ập trình đa phương tiện ương tiệnng ti n, Microsoft cung c pện ấu trúc AVI RIFFmôi trường đa phương tiệnng Microsoft Multimedia Extensions (MME) v i m t s đ c tr ng:ới thiệu ộng (DLL) ối LIST “movi” ặt phía server ư

 Media types: Audio WAVE file format, nh c MIDI format, nh BMP/DIB,ạng dữ liệu như văn ản mô phỏng chức năngvideo AVI

 X lí thao tác trong MME: các thao tác x lí đử dụng ử dụng ượp của nhiều khuôn dạng dữ liệu như vănc th c hi n trên n n thi tự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ều khuôn dạng dữ liệu như văn ến trúc môi trường

b và ph n m m.ịch bản mô phỏng chức năng ần MainAVIHeader ều khuôn dạng dữ liệu như văn

M t trong các thành ph n quan tr ng c a h th ng multimedia trên Windowsộng (DLL) ần MainAVIHeader ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ủa nhiều khuôn dạng dữ liệu như văn ện ối LIST “movi”chính là MCI (Multimedia Control Interface – Giao di n đi u khi n đa phện ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ương tiệnng

ti n) MCI cung c p l p đ m gi a l p trình viên và các thi t b ph n c ng MCI làện ấu trúc AVI RIFF ới thiệu ện ữ liệu khác ập trình đa phương tiện ến trúc môi trường ịch bản mô phỏng chức năng ần MainAVIHeader ức năng

m t đ i tộng (DLL) ối LIST “movi” ượp của nhiều khuôn dạng dữ liệu như vănng đ c l p, nó có th động (DLL) ập trình đa phương tiện ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiệnc l p trình và có ngôn ng l p trình riêng ữ liệu khác ập trình đa phương tiện

Có 9 hàm b t đ u b ng ắc ần MainAVIHeader ằng số là một cách thức thuận lợi để mci đ truy xu t Media Control Interface: ể tạo ra các phát minh đó không thể không nhắc ấu trúc AVI RIFF

* mciExecute * mciGetYielProc

* mciGetCreatorTask * mciSendCommand

Trang 10

* mciGetDeviceID * mciSendString

* mciGetDeviceIDFromElementID * mciSendYieldProc

* mciGetErrorString

1.2.3 Th vi n liên k t đ ng (DLL) ư ệm ến trúc môi trường ột số khái niệm

Th vi n liên k t đ ng ư ệm ến trúc môi trường ột số khái niệm là m t th vi n cho phép các ng d ng có th liênộng (DLL) ư ện ức năng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc

k t đ n và s d ng nó Nó đến trúc môi trường ến trúc môi trường ử dụng ụ, thư viện sử dụng ượp của nhiều khuôn dạng dữ liệu như vănc xem là m t t h p các hàm và d li u mà có thộng (DLL) ổng quan kiến trúc môi trường ợp của nhiều khuôn dạng dữ liệu như văn ữ liệu khác ện ể tạo ra các phát minh đó không thể không nhắc

đượp của nhiều khuôn dạng dữ liệu như văn ử dụng ụ, thư viện sử dụngc s d ng b i nhi u ng d ng khác nhau cùng m t th i đi m.ở ều khuôn dạng dữ liệu như văn ức năng ụ, thư viện sử dụng ở ộng (DLL) ờng đa phương tiện ể tạo ra các phát minh đó không thể không nhắc

Khi đã đượp của nhiều khuôn dạng dữ liệu như vănc vi t và đóng gói trong m t DLL, m t hàm có th đến trúc môi trường ộng (DLL) ộng (DLL) ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như văn ử dụng ụ, thư viện sử dụngc s d ng ở

b t c ng d ng nào dấu trúc AVI RIFF ức năng ức năng ụ, thư viện sử dụng ưới thiệu ạng dữ liệu như văni d ng mã máy c a nó mà không ph i quan tâm đ nủa nhiều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ến trúc môi trường

mã ngu n nó đồm toàn bộ hệ thống thiết bị và hệ thống ượp của nhiều khuôn dạng dữ liệu như vănc vi t chi ti t ra sao V i các ng d ng trến trúc môi trường ến trúc môi trường ới thiệu ức năng ụ, thư viện sử dụng ưới thiệuc kia, ta có th đínhể tạo ra các phát minh đó không thể không nhắckèm file mã ngu n và s dùng các hàm trong chồm toàn bộ hệ thống thiết bị và hệ thống ử dụng ương tiệnng trình; tuy nhiên, gi s nhản mô phỏng chức năng ử dụng ư

đ có th thao tác v i máy in, in m t n i dung ta c n g i hàm print() và ta đã cóể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ới thiệu ộng (DLL) ộng (DLL) ần MainAVIHeader ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày

mã ngu n c a hàm print này Gi s nh không có DLL, thì b t c ng d ng nàoồm toàn bộ hệ thống thiết bị và hệ thống ủa nhiều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ử dụng ư ấu trúc AVI RIFF ức năng ức năng ụ, thư viện sử dụng

mu n s d ng hàm print() sẽ bao g m c hàm này vào trong mã ngu n: tối LIST “movi” ử dụng ụ, thư viện sử dụng ồm toàn bộ hệ thống thiết bị và hệ thống ản mô phỏng chức năng ồm toàn bộ hệ thống thiết bị và hệ thống ừ

chương tiệnng trình Word, Excel, Internet Explorer, nh v y trong h th ng sẽ có r tư ập trình đa phương tiện ện ối LIST “movi” ấu trúc AVI RIFFnhi u b n sao c a hàm print() này, làm cho dung lều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ượp của nhiều khuôn dạng dữ liệu như vănng đ ch a các chể tạo ra các phát minh đó không thể không nhắc ức năng ương tiệnngtrình tăng lên Ngoài ra, khi ph n c ng thay đ i, ta l i ph i thay đ i mã ngu nần MainAVIHeader ức năng ổng quan kiến trúc môi trường ạng dữ liệu như văn ản mô phỏng chức năng ổng quan kiến trúc môi trường ồm toàn bộ hệ thống thiết bị và hệ thống

c a hàm print() đ nó ho t đ ng đúng (n u c n), vi c này đ n t i vi c thay đ iủa nhiều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ộng (DLL) ến trúc môi trường ần MainAVIHeader ện ẫn tới việc thay đổi ới thiệu ện ổng quan kiến trúc môi trườngtheo dây chuy n đ n các ng d ng, gây ra r t nhi u khó khăn.ều khuôn dạng dữ liệu như văn ến trúc môi trường ức năng ụ, thư viện sử dụng ấu trúc AVI RIFF ều khuôn dạng dữ liệu như văn

u đi m c a DLL:

Ưu điểm của DLL: ể tạo ra các phát minh đó không thể không nhắc ủa nhiều khuôn dạng dữ liệu như văn

o Gi m không gian s d ng c a b nh ảm không gian sử dụng của bộ nhớ ử nghiệm ứng dụng ụng ủa bộ nhớ ột số định dạng video ớ: DLL sẽ t đ ng xóa b ra kh i bự kết hợp của nhiều khuôn dạng dữ liệu như văn ộng (DLL) ỏng chức năng ỏng chức năng ộng (DLL)

nh ch ng nào b đ m tham chi u tr v 0, tr ng thái cho bi t khôngới thiệu ừ ộng (DLL) ến trúc môi trường ến trúc môi trường ở ều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ến trúc môi trườngcòn có ti n trình nào s d ng DLL n a.ến trúc môi trường ử dụng ụ, thư viện sử dụng ữ liệu khác

o Có th đóng gói và đ a vào ch ể đóng gói và đưa vào chương trình khác ư ương 1 Tổng quan về lập trình đa phương tiện ng trình khác: ta sẽ không c n ph i vi tần MainAVIHeader ản mô phỏng chức năng ến trúc môi trường

l i các hàm ho c đính kèm mã ngu n c a các hàm c n dùng vàoạng dữ liệu như văn ặt phía server ồm toàn bộ hệ thống thiết bị và hệ thống ủa nhiều khuôn dạng dữ liệu như văn ần MainAVIHeader

chương tiệnng trình đó n a mà s d ng tr c ti p DLL mà ta đã biên d ch.ữ liệu khác ử dụng ụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ịch bản mô phỏng chức năng

o T o ra kh năng t ạng video ảm không gian sử dụng của bộ nhớ ương 1 Tổng quan về lập trình đa phương tiện ng tác gi a các ngôn ng l p trình ữa các ngôn ngữ lập trình ữa các ngôn ngữ lập trình ập trình đa phương tiện : M t ng d ngộng (DLL) ức năng ụ, thư viện sử dụng

có th s d ng các DLL vi t b ng b t c ngôn ng l p trình nào Cácể tạo ra các phát minh đó không thể không nhắc ử dụng ụ, thư viện sử dụng ến trúc môi trường ằng số là một cách thức thuận lợi để ấu trúc AVI RIFF ức năng ữ liệu khác ập trình đa phương tiệnnhà phát tri n ph n m m ch vi c đóng gói các module c a mình vàoể tạo ra các phát minh đó không thể không nhắc ần MainAVIHeader ều khuôn dạng dữ liệu như văn ỉ thị nào và tham chiếu ện ủa nhiều khuôn dạng dữ liệu như văntrong m t DLL v i ngôn ng a thích, sau đó module này có th động (DLL) ới thiệu ữ liệu khác ư ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như vănc

s d ng trong các ng d ng vi t b ng C++ hay Visual Basic.ử dụng ụ, thư viện sử dụng ức năng ụ, thư viện sử dụng ến trúc môi trường ằng số là một cách thức thuận lợi để

1.2.4 Drivers

Chương tiệnng trình đi u khi n hay trình đi u khi n là m t lo i ph n m m máyều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ộng (DLL) ạng dữ liệu như văn ần MainAVIHeader ều khuôn dạng dữ liệu như văntính đ c bi t, đặt phía server ện ượp của nhiều khuôn dạng dữ liệu như vănc phát tri n đ cho phép tể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ương tiệnng tác v i các thi t b ph n c ng.ới thiệu ến trúc môi trường ịch bản mô phỏng chức năng ần MainAVIHeader ức năng

M i trình đi u khi n ng v i m t thi t b nh t đ nh Chỗ trợ các loại phương tiện (media) và môi trường mạng truyền ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ức năng ới thiệu ộng (DLL) ến trúc môi trường ịch bản mô phỏng chức năng ấu trúc AVI RIFF ịch bản mô phỏng chức năng ương tiệnng trình này t o raạng dữ liệu như văn

m t giao di n đ giao ti p v i thi t b ng v i nó qua các bus máy tính đ c bi t.ộng (DLL) ện ể tạo ra các phát minh đó không thể không nhắc ến trúc môi trường ới thiệu ến trúc môi trường ịch bản mô phỏng chức năng ức năng ới thiệu ặt phía server ện

Nó cung c p các l nh đ nh n và g i d li u t i thi t b đó Trình đi u khi nấu trúc AVI RIFF ện ể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ử dụng ữ liệu khác ện ới thiệu ến trúc môi trường ịch bản mô phỏng chức năng ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắccòn cung c p giao ti p c n thi t cho h đi u hành và các ph n m m ng d ng.ấu trúc AVI RIFF ến trúc môi trường ần MainAVIHeader ến trúc môi trường ện ều khuôn dạng dữ liệu như văn ần MainAVIHeader ều khuôn dạng dữ liệu như văn ức năng ụ, thư viện sử dụng

Thường đa phương tiệnng đượp của nhiều khuôn dạng dữ liệu như vănc g i đ n gi n là driver, trình đi u khi n thi t b là ph n m mọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ơng tiện ản mô phỏng chức năng ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ến trúc môi trường ịch bản mô phỏng chức năng ần MainAVIHeader ều khuôn dạng dữ liệu như vănmáy tính đượp của nhiều khuôn dạng dữ liệu như vănc vi t riêng cho m t thi t b ph n c ng c th và m t h đi uến trúc môi trường ộng (DLL) ến trúc môi trường ịch bản mô phỏng chức năng ần MainAVIHeader ức năng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ộng (DLL) ện ều khuôn dạng dữ liệu như văn

Trang 11

hành c th cho phép m t chụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ộng (DLL) ương tiệnng trình, thường đa phương tiệnng là h đi u hành ho c ng d ngện ều khuôn dạng dữ liệu như văn ặt phía server ức năng ụ, thư viện sử dụng

ph n m m, tần MainAVIHeader ều khuôn dạng dữ liệu như văn ương tiệnng tác trong su t v i thi t b đó Chính do tính trong su t này màối LIST “movi” ới thiệu ến trúc môi trường ịch bản mô phỏng chức năng ối LIST “movi”

h u nh ta không nh n ra đần MainAVIHeader ư ập trình đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc s t n t i c a driver, công vi c c a chúng taự kết hợp của nhiều khuôn dạng dữ liệu như văn ồm toàn bộ hệ thống thiết bị và hệ thống ạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ện ủa nhiều khuôn dạng dữ liệu như văn

đ n gi n là s d ng công c đ t o nên s n ph m phù h p v i nhu c u c aơng tiện ản mô phỏng chức năng ử dụng ụ, thư viện sử dụng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ản mô phỏng chức năng ẩm ợp của nhiều khuôn dạng dữ liệu như văn ới thiệu ần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như vănmình

L p ph n c ng tr u t ới video ầu ức trong streaming video ừu tượng ượ lập trình đa phương tiện trên Windows (Hardware Abstraction Layer) đóng vai trò che ng

gi u s khác bi t v ph n c ng t h u h t các h đi u hành h t nhân, do đóấu trúc AVI RIFF ự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ều khuôn dạng dữ liệu như văn ần MainAVIHeader ức năng ừ ần MainAVIHeader ến trúc môi trường ện ều khuôn dạng dữ liệu như văn ạng dữ liệu như văn

h u h t các mã Kernel Mode không c n ph i đần MainAVIHeader ến trúc môi trường ần MainAVIHeader ản mô phỏng chức năng ượp của nhiều khuôn dạng dữ liệu như vănc thay đ i đ ch y trên các hổng quan kiến trúc môi trường ể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ện

th ng ph n c ng khác nhau.ối LIST “movi” ần MainAVIHeader ức năng

Trên m t máy tính, HAL v c b n có th động (DLL) ều khuôn dạng dữ liệu như văn ơng tiện ản mô phỏng chức năng ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như vănc coi là trình đi u khi n cho các boều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc

m ch ch và cho phép hạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ưới thiệung d n t các ngôn ng máy tính m c đ cao h n đẫn tới việc thay đổi ừ ữ liệu khác ức năng ộng (DLL) ơng tiện ể tạo ra các phát minh đó không thể không nhắcgiao ti p v i các thành ph n c p th p h n, nh ng ngăn ch n truy c p tr c ti pến trúc môi trường ới thiệu ần MainAVIHeader ấu trúc AVI RIFF ấu trúc AVI RIFF ơng tiện ư ặt phía server ập trình đa phương tiện ự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường

đ n ph n c ng.ến trúc môi trường ần MainAVIHeader ức năng

HAL thường đa phương tiệnng cho phép các l p trình viên đ vi t chập trình đa phương tiện ể tạo ra các phát minh đó không thể không nhắc ến trúc môi trường ương tiệnng trình đ c l p, các ngộng (DLL) ập trình đa phương tiện ức năng

d ng hi u su t cao b ng cách cung c p tiêu chu n h đi u hành (OS) các l nhụ, thư viện sử dụng ện ấu trúc AVI RIFF ằng số là một cách thức thuận lợi để ấu trúc AVI RIFF ẩm ện ều khuôn dạng dữ liệu như văn ện

g i đ n ph n c ng Quá trình tr u tọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ến trúc môi trường ần MainAVIHeader ức năng ừ ượp của nhiều khuôn dạng dữ liệu như vănng hóa ph n c a ph n c ng thần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như văn ần MainAVIHeader ức năng ường đa phương tiệnng đượp của nhiều khuôn dạng dữ liệu như vănc

th c hi n theo c u trúc c a m t CPU M i lo i CPU có m t ki n trúc t p l nh cự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ấu trúc AVI RIFF ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ạng dữ liệu như văn ộng (DLL) ến trúc môi trường ập trình đa phương tiện ện ụ, thư viện sử dụng

th (ISA – Instruction Set Architecture) ISA đ i di n cho các ho t đ ng c b nể tạo ra các phát minh đó không thể không nhắc ạng dữ liệu như văn ện ạng dữ liệu như văn ộng (DLL) ơng tiện ản mô phỏng chức năng

c a máy tính mà có s n đ s d ng b i các thao tác l p trình và biên d ch M tủa nhiều khuôn dạng dữ liệu như văn ẵn để sử dụng bởi các thao tác lập trình và biên dịch Một ể tạo ra các phát minh đó không thể không nhắc ử dụng ụ, thư viện sử dụng ở ập trình đa phương tiện ịch bản mô phỏng chức năng ộng (DLL)trong nh ng ch c năng chính c a m t trình biên d ch là cho phép m t l p trìnhữ liệu khác ức năng ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ịch bản mô phỏng chức năng ộng (DLL) ập trình đa phương tiện

đ vi t m t thu t toán trong m t ngôn ng c p cao mà không c n ph i quanể tạo ra các phát minh đó không thể không nhắc ến trúc môi trường ộng (DLL) ập trình đa phương tiện ộng (DLL) ữ liệu khác ấu trúc AVI RIFF ần MainAVIHeader ản mô phỏng chức năngtâm t p l nh CPU c th Sau đó, công vi c c a trình biên d ch đ CPU c thập trình đa phương tiện ện ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ện ủa nhiều khuôn dạng dữ liệu như văn ịch bản mô phỏng chức năng ể tạo ra các phát minh đó không thể không nhắc ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc

th c thi HAL giúp cho nhi u máy tính khác nhau, nhi u h đi u hành khác nhauự kết hợp của nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ện ều khuôn dạng dữ liệu như văn

có th s d ng m t ph n c ng d dàng và không có s khác bi t.ể tạo ra các phát minh đó không thể không nhắc ử dụng ụ, thư viện sử dụng ộng (DLL) ần MainAVIHeader ức năng ễn, góp phần làm cho cuộc sống trở ự kết hợp của nhiều khuôn dạng dữ liệu như văn ện

1.3 M t s b API h tr l p trình đa ph ột số khái niệm ố khái niệm ột số khái niệm ỗ trợ lập trình đa phương tiện trên Windows ợ lập trình đa phương tiện trên Windows ập trình đa phương tiện trên Windows ương tiện trên Windows ng ti n trên ệm

Windows

1.3.1 DirectX

DirectX là m t t p h p đa d ng c a các hàm giao ti p l p trình ng d ngộng (DLL) ập trình đa phương tiện ợp của nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ập trình đa phương tiện ức năng ụ, thư viện sử dụng(API) c a riêng Windows, cung c p m t b công c đã chu n hoá các tính năngủa nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ộng (DLL) ộng (DLL) ụ, thư viện sử dụng ẩm

h tr cho đ ho , âm thanh, vi c cài đ t các ng d ng, s tỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ồm toàn bộ hệ thống thiết bị và hệ thống ạng dữ liệu như văn ện ặt phía server ức năng ụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ương tiệnng tác c a nhi uủa nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn

ngường đa phương tiệni cùng tham gia trong m t trò ch i.ộng (DLL) ơng tiện

DirectX đượp của nhiều khuôn dạng dữ liệu như vănc chia thành ba l p: ới thiệu

o L p n n t ng ới video ề lập trình đa phương tiện ảng : là ph n c t lõi c a DirectX, nó là m t t p h p các APIần MainAVIHeader ối LIST “movi” ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ập trình đa phương tiện ợp của nhiều khuôn dạng dữ liệu như văn

c p th p t o nên c s cho nh ng ho t đ ng multimedia hi u năngấu trúc AVI RIFF ấu trúc AVI RIFF ạng dữ liệu như văn ơng tiện ở ữ liệu khác ạng dữ liệu như văn ộng (DLL) ệncao trong Windows Thông qua l p n n t ng có th tác đ ng đ n cácới thiệu ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ể tạo ra các phát minh đó không thể không nhắc ộng (DLL) ến trúc môi trườngAPI sau:

Trang 12

 DirectDraw: Qu n lý b m t đ ho ản mô phỏng chức năng ều khuôn dạng dữ liệu như văn ặt phía server ồm toàn bộ hệ thống thiết bị và hệ thống ạng dữ liệu như văn

 Direct3D: Cung c p tính năng 3D c p th p.ấu trúc AVI RIFF ấu trúc AVI RIFF ấu trúc AVI RIFF

 DirectInput: H tr các thi t b nh p, k c các Joystick th hỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ịch bản mô phỏng chức năng ập trình đa phương tiện ể tạo ra các phát minh đó không thể không nhắc ản mô phỏng chức năng ến trúc môi trường ện

m i.ới thiệu

 DirectSound: Cung c p hi u ng âm thanh và b tr n ti ng.ấu trúc AVI RIFF ện ức năng ộng (DLL) ộng (DLL) ến trúc môi trường

 DirectSound 3D: Giúp t o hi u ng âm thanh 3D t ki u loa 2Dạng dữ liệu như văn ện ức năng ừ ể tạo ra các phát minh đó không thể không nhắcthông thường đa phương tiệnng

 DirectSetup: Giúp cài đ t các ph n m m, các Driver m t cáchặt phía server ần MainAVIHeader ều khuôn dạng dữ liệu như văn ộng (DLL)

t đ ngự kết hợp của nhiều khuôn dạng dữ liệu như văn ộng (DLL)

o L p ph ới video ương tiện trên Windows ng ti n ệm : bao g m các API c p ng d ng, t n d ng khồm toàn bộ hệ thống thiết bị và hệ thống ở ấu trúc AVI RIFF ức năng ụ, thư viện sử dụng ập trình đa phương tiện ụ, thư viện sử dụng ản mô phỏng chức năngnăng c a l p n n t ng Các d ch v c a l p phủa nhiều khuôn dạng dữ liệu như văn ới thiệu ều khuôn dạng dữ liệu như văn ản mô phỏng chức năng ịch bản mô phỏng chức năng ụ, thư viện sử dụng ủa nhiều khuôn dạng dữ liệu như văn ới thiệu ương tiệnng ti n này có tínhện

đ c l p v i các thi t b L p phộng (DLL) ập trình đa phương tiện ới thiệu ến trúc môi trường ịch bản mô phỏng chức năng ới thiệu ương tiệnng ti n này g m có:ện ồm toàn bộ hệ thống thiết bị và hệ thống

 Direct3D: Cung c p t p h p các tính năng bi u di n 3D.ấu trúc AVI RIFF ập trình đa phương tiện ợp của nhiều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ễn, góp phần làm cho cuộc sống trở

 DirectPlay: H tr nhi u ngỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ường đa phương tiệni cùng tham gia ch i game quaơng tiện

m ng.ạng dữ liệu như văn

 DirectShow: Qu n lý các Slide Show.ản mô phỏng chức năng

 DirectAnimation: Cung c p kh năng làm ho t hình.ấu trúc AVI RIFF ản mô phỏng chức năng ạng dữ liệu như văn

 DirectModel: Cung c p kh năng mô ph ng 3D.ấu trúc AVI RIFF ản mô phỏng chức năng ỏng chức năng

o L p thành ph n ới video ầu : là l p trên cùng c a DirectX, nó có th t n d ng cácới thiệu ủa nhiều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ụ, thư viện sử dụngtính năng c a hai l p trên (Media và Foundation) bao g m:ủa nhiều khuôn dạng dữ liệu như văn ới thiệu ồm toàn bộ hệ thống thiết bị và hệ thống

 NetMeeting: H tr làm vi c theo nhóm trong m ng máy tính.ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ện ạng dữ liệu như văn

 ActiveMovie: B các công c qu n lý và trình di n phim MPEG,ộng (DLL) ụ, thư viện sử dụng ản mô phỏng chức năng ễn, góp phần làm cho cuộc sống trở

h tr vi c ch i các file âm thanh và phim nh.ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ện ơng tiện ản mô phỏng chức năng

 NetShow: H tr vi c truy n các n i dung multimedia quaỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ện ều khuôn dạng dữ liệu như văn ộng (DLL)Internet

1.3.2 FFmpeg

FFmpeg là m t trong nh ng b API m , mi n phí và ph bi n liên quan đ nộng (DLL) ữ liệu khác ộng (DLL) ở ễn, góp phần làm cho cuộc sống trở ổng quan kiến trúc môi trường ến trúc môi trường ến trúc môi trường

v n đ nén (ấu trúc AVI RIFF ều khuôn dạng dữ liệu như văn compress), gi i nén (ản mô phỏng chức năng decompress), x lý, truy n và nh n video, audioử dụng ều khuôn dạng dữ liệu như văn ập trình đa phương tiện

hi n nay FFmpeg đện ượp của nhiều khuôn dạng dữ liệu như vănc đánh giá cao b i t c đ , kh năng h tr đa môi trở ối LIST “movi” ộng (DLL) ản mô phỏng chức năng ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ường đa phương tiệnng

t Windows, Linux t i MacOSX Ngoài ra s linh ho t trong c u trúc, d dàng mừ ới thiệu ự kết hợp của nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ấu trúc AVI RIFF ễn, góp phần làm cho cuộc sống trở ở

r ng và h tr đa d ng khi n nó tr nên đáp ng h u nh m i nhu c u c a nhàộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ợp của nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ến trúc môi trường ở ức năng ần MainAVIHeader ư ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như vănphát tri n ể tạo ra các phát minh đó không thể không nhắc

FFmpeg bao g m:ồm toàn bộ hệ thống thiết bị và hệ thống

avcodec: t ng h p các b mã hoá và gi i mã cho video và audio.ổng quan kiến trúc môi trường ợp của nhiều khuôn dạng dữ liệu như văn ộng (DLL) ản mô phỏng chức năng

avdevice: t o n n giao ti p v i các thi t b , trình qu n lý thi t bạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ến trúc môi trường ới thiệu ến trúc môi trường ịch bản mô phỏng chức năng ản mô phỏng chức năng ến trúc môi trường ịch bản mô phỏng chức năng

nh p xu t video, audio.ập trình đa phương tiện ấu trúc AVI RIFF

avfilter: t p h p các th t c x lý, ch nh s a, hi u ng trên video,ập trình đa phương tiện ợp của nhiều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ụ, thư viện sử dụng ử dụng ỉ thị nào và tham chiếu ử dụng ện ức năngaudio

avformat: qu n lý các đ nh d ng nh p xu t, c u trúc file (avi,ản mô phỏng chức năng ịch bản mô phỏng chức năng ạng dữ liệu như văn ập trình đa phương tiện ấu trúc AVI RIFF ấu trúc AVI RIFFmpeg, ), giao th c truy n nh n audio, video (http, rtp, )ức năng ều khuôn dạng dữ liệu như văn ập trình đa phương tiện

Trang 13

swscale: dùng trong vi c thay đ i t l , co giãn kích c , chuy n đ iện ổng quan kiến trúc môi trường ỉ thị nào và tham chiếu ện ỡ, chuyển đổi ể tạo ra các phát minh đó không thể không nhắc ổng quan kiến trúc môi trường

đ nh d ng đi m nh, không gian màu ịch bản mô phỏng chức năng ạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ản mô phỏng chức năng

ffplay: m t ng d ng nh nh m play audio, video dùng đ test các APIộng (DLL) ức năng ụ, thư viện sử dụng ỏng chức năng ằng số là một cách thức thuận lợi để ể tạo ra các phát minh đó không thể không nhắc

c a ffmpeg.ủa nhiều khuôn dạng dữ liệu như văn

ffmpeg: ng d ng có kh năng đ c audio, video t nhi u ngu n khácức năng ụ, thư viện sử dụng ản mô phỏng chức năng ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ừ ều khuôn dạng dữ liệu như văn ồm toàn bộ hệ thống thiết bị và hệ thốngnhau, th c hi n x lý, chuy n đ i, ch nh s a và xu t ra các ki u đ nhự kết hợp của nhiều khuôn dạng dữ liệu như văn ện ử dụng ể tạo ra các phát minh đó không thể không nhắc ổng quan kiến trúc môi trường ỉ thị nào và tham chiếu ử dụng ấu trúc AVI RIFF ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng

d ng khác nhau, phạng dữ liệu như văn ương tiệnng th c khác nhau.ức năng

ffprobe: m t ng d ng có kh năng đ c, thu th p thông tin mô t cộng (DLL) ức năng ụ, thư viện sử dụng ản mô phỏng chức năng ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ập trình đa phương tiện ản mô phỏng chức năng ản mô phỏng chức năngcác ngu n đa phồm toàn bộ hệ thống thiết bị và hệ thống ương tiệnng ti n khác nhau và xu t báo cáo m t cách tr cện ấu trúc AVI RIFF ộng (DLL) ự kết hợp của nhiều khuôn dạng dữ liệu như vănquan cho ngường đa phương tiệni dùng

ffserver: có kh năng làm m t máy ch d ch v đ streamản mô phỏng chức năng ộng (DLL) ủa nhiều khuôn dạng dữ liệu như văn ịch bản mô phỏng chức năng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc

Khuôn d ng cú pháp c a câu l nh command-line trong ạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ện ffmpeg nh sau:ư

ffmpeg [global_options] [input_options] –i [input_file] [output_options] [output_file]

Trong đó:

 [global_options]: các tuỳ ch n cài đ t chung.ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ặt phía server

 [input_options]: các tuỳ ch n cài đ t cho file đ u vào.ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ặt phía server ần MainAVIHeader

 -i [input_file]: đường đa phương tiệnng d n c a file video g c.ẫn tới việc thay đổi ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi”

 [output_options]: các tuỳ ch n cài đ t cho file đích.ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ặt phía server

 [output_file]: đường đa phương tiệnng d n cho file đích.ẫn tới việc thay đổi

Trang 14

Ch ương tiện trên Windows ng 2 C u trúc m t s đ nh d ng video ấn ột số khái niệm ố khái niệm ịnh dạng AVI ạng AVI

2.1 Đ nh d ng AVI ịnh dạng AVI ạng AVI

2.1.1 Gi i thi u ới video ệm

Audio Video Interleave, đượp của nhiều khuôn dạng dữ liệu như vănc vi t t t là ến trúc môi trường ắc AVI, là m t đa phộng (DLL) ương tiệnng ti n đ nh d ngện ịch bản mô phỏng chức năng ạng dữ liệu như văncontainer c a Microsoft đủa nhiều khuôn dạng dữ liệu như văn ượp của nhiều khuôn dạng dữ liệu như vănc gi i thi u vào tháng 11 năm 1992 AVI là t p tin cóới thiệu ện ập trình đa phương tiện

th ch a c âm thanh và video d li u trong m t container cho phép đ ng bể tạo ra các phát minh đó không thể không nhắc ức năng ản mô phỏng chức năng ữ liệu khác ện ộng (DLL) ồm toàn bộ hệ thống thiết bị và hệ thống ộng (DLL)

t p tin âm thanh-v i-video Cũng gi ng nh các đ nh d ng video DVD, AVI file hập trình đa phương tiện ới thiệu ối LIST “movi” ư ịch bản mô phỏng chức năng ạng dữ liệu như văn ỗ trợ các loại phương tiện (media) và môi trường mạng truyền

tr nhi u dòng âm thanh và video, m c dù các tính năng này ít khi đợp của nhiều khuôn dạng dữ liệu như văn ều khuôn dạng dữ liệu như văn ặt phía server ượp của nhiều khuôn dạng dữ liệu như văn ử dụng ụ, thư viện sử dụngc s d ng

T p tin AVI ch a nhi u dòng c a lo i d li u khác nhau H u h t các chu i AVIập trình đa phương tiện ức năng ều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ữ liệu khác ện ần MainAVIHeader ến trúc môi trường ỗ trợ các loại phương tiện (media) và môi trường mạng truyền

sẽ s d ng video và audio stream M t s thay đ i đ n gi n cho m t chu i AVIử dụng ụ, thư viện sử dụng ộng (DLL) ự kết hợp của nhiều khuôn dạng dữ liệu như văn ổng quan kiến trúc môi trường ơng tiện ản mô phỏng chức năng ộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền

s d ng d li u video mà không đòi h i m t audio stream Chu i AVI chuyênử dụng ụ, thư viện sử dụng ữ liệu khác ện ỏng chức năng ộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền

d ng ph i bao g m có m t đi u ki n “track” ho c “MIDI track” nh là m t dòngụ, thư viện sử dụng ản mô phỏng chức năng ồm toàn bộ hệ thống thiết bị và hệ thống ộng (DLL) ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ặt phía server ư ộng (DLL)

d li u b sung Các “track” đi u khi n có th đi u khi n các thi t b ngo i viữ liệu khác ện ổng quan kiến trúc môi trường ều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ến trúc môi trường ịch bản mô phỏng chức năng ạng dữ liệu như văn

nh là “MCI videodisc player” Các “MIDI track” có th ch i nh c ch đ n nư ể tạo ra các phát minh đó không thể không nhắc ơng tiện ạng dữ liệu như văn ở ến trúc môi trường ộng (DLL) ều khuôn dạng dữ liệu như văncho các chu i ỗ trợ các loại phương tiện (media) và môi trường mạng truyền

AVI là m t d n xu t c a Resource Interchange File Format (RIFF), trong đó phânộng (DLL) ẫn tới việc thay đổi ấu trúc AVI RIFF ủa nhiều khuôn dạng dữ liệu như vănchia d li u c a m t t p tin thành các kh i, hay đo n M i "đo n" đữ liệu khác ện ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ập trình đa phương tiện ối LIST “movi” ạng dữ liệu như văn ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ạng dữ liệu như văn ượp của nhiều khuôn dạng dữ liệu như vănc xác đ nhịch bản mô phỏng chức năng

b i tag FourCC M t t p tin AVI có d ng c a m t đo n duy nh t trong m t t pở ộng (DLL) ập trình đa phương tiện ạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ạng dữ liệu như văn ấu trúc AVI RIFF ộng (DLL) ập trình đa phương tiệntin đ nh d ng RIFF, mà sau đó địch bản mô phỏng chức năng ạng dữ liệu như văn ượp của nhiều khuôn dạng dữ liệu như vănc chia thành hai kh i b t bu c và m t tùyối LIST “movi” ắc ộng (DLL) ộng (DLL)

ch n kh i.ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ối LIST “movi”

2.1.2 C u trúc AVI RIFF ấn

T p tin AVI s d ng m u AVI RIFF M u AVI RIFFập trình đa phương tiện ử dụng ụ, thư viện sử dụng ẫn tới việc thay đổi ẫn tới việc thay đổi là đượp của nhiều khuôn dạng dữ liệu như vănc đ nh nghĩa b i mãịch bản mô phỏng chức năng ở

b n ký t sau: “AVI “ T t c các file AVI bao g m hai kh i LIST b t bu c Cácối LIST “movi” ự kết hợp của nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ản mô phỏng chức năng ồm toàn bộ hệ thống thiết bị và hệ thống ối LIST “movi” ắc ộng (DLL)

kh i xác đ nh các đ nh d ng c a các dòng và dòng d li u T p tin AVI cũng cóối LIST “movi” ịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ữ liệu khác ện ập trình đa phương tiện

th bao g m m t đo n Index Đo n tùy ch n này xác đ nh v trí c a kh i d li uể tạo ra các phát minh đó không thể không nhắc ồm toàn bộ hệ thống thiết bị và hệ thống ộng (DLL) ạng dữ liệu như văn ạng dữ liệu như văn ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi” ữ liệu khác ệntrong t p tin M t t p tin AVI v i các thành ph n có đ nh d ng sau:ập trình đa phương tiện ộng (DLL) ập trình đa phương tiện ới thiệu ần MainAVIHeader ịch bản mô phỏng chức năng ạng dữ liệu như văn

RIFF ('AVI ' LIST ('hdrl'

Trang 15

)

LIST ('movi'

)

['idx1'<AVI Index>] )

Kh i LIST và kh i index là kh i con c a kh i RIFF “AVI “ Kh i “AVI “ xác đ nhối LIST “movi” ối LIST “movi” ối LIST “movi” ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi” ối LIST “movi” ịch bản mô phỏng chức năng t p tin nh là m t t p tin AVI RIFF Kh i LIST ‘hdrl’ đ nh nghĩa đ nh d ng c aập trình đa phương tiện ư ộng (DLL) ập trình đa phương tiện ối LIST “movi” ịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn d li u và là yêu c u đ u tiên c a kh i danh sách Kh i LIST “movi” ch a dữ liệu khác ện ần MainAVIHeader ần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi” ối LIST “movi” ức năng ữ liệu khác li u cho các đo n AVI và là kh i th 2 đện ạng dữ liệu như văn ối LIST “movi” ức năng ượp của nhiều khuôn dạng dữ liệu như vănc yêu c u c a kh i danh sách Kh iần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi” ối LIST “movi” “idx1” là tùy ch n kh i Index T p tin AVI ph i d đúng ba thành ph n theoọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ối LIST “movi” ập trình đa phương tiện ản mô phỏng chức năng ữ liệu khác ần MainAVIHeader trình t thích h p ự kết hợp của nhiều khuôn dạng dữ liệu như văn ợp của nhiều khuôn dạng dữ liệu như văn Kh i LIST “hdrl” và LIST “movi” s d ng kh i con cho d li u c a chúng Ví dối LIST “movi” ử dụng ụ, thư viện sử dụng ối LIST “movi” ữ liệu khác ện ủa nhiều khuôn dạng dữ liệu như văn ụ, thư viện sử dụng sau đây th hi n các d ng AVI RIFF m r ng v i các kh i c n thi t đ hoànể tạo ra các phát minh đó không thể không nhắc ện ạng dữ liệu như văn ở ộng (DLL) ới thiệu ối LIST “movi” ần MainAVIHeader ến trúc môi trường ể tạo ra các phát minh đó không thể không nhắc thành kh i LIST “hdrl” và LIST “movi”:ối LIST “movi” RIFF ('AVI ' LIST ('hdrl' 'avih'(<Main AVI Header>) LIST ('strl' 'strh'(<Stream header>) 'strf'(<Stream format>) 'strd'(additional header data)

)

) LIST ('movi' {SubChunk | LIST('rec ' SubChunk1 SubChunk2

Trang 16

)

}

)

['idx1'<AVIIndex>]

)

Hình sau đây mô t các kh i ch a trong kh i LIST “hdrl” và LIST “movi” cũng ản mô phỏng chức năng ối LIST “movi” ức năng ối LIST “movi”

nh kh i “idx1”:ư ối LIST “movi”

Trang 17

Hình 2.1 Hình minh họa cấu trúc cơ bản file AVI

Trang 18

2.1.3 Thành ph n MainAVIHeader ầu

C u trúc MainAVIHeader ch a toàn b thông tin chung cho toàn b t p tin AVI.ấu trúc AVI RIFF ức năng ộng (DLL) ộng (DLL) ập trình đa phương tiện

Nó ch a kh i “avih” n m trong kh i LIST “hdrl” đo n đ u c a t p tin AVI RIFF.ức năng ối LIST “movi” ằng số là một cách thức thuận lợi để ối LIST “movi” ạng dữ liệu như văn ần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiệnTrong t p tin AVI, ph n tiêu đ này đập trình đa phương tiện ần MainAVIHeader ều khuôn dạng dữ liệu như văn ượp của nhiều khuôn dạng dữ liệu như vănc đ nh nghĩa v i b n kí t “avih” Ph nịch bản mô phỏng chức năng ở ối LIST “movi” ự kết hợp của nhiều khuôn dạng dữ liệu như văn ần MainAVIHeadertiêu đ ch a thông tin chung v t p tin, ch ng h n nh s lều khuôn dạng dữ liệu như văn ức năng ều khuôn dạng dữ liệu như văn ập trình đa phương tiện ẳng hạn như số lượng stream ở trong ạng dữ liệu như văn ư ối LIST “movi” ượp của nhiều khuôn dạng dữ liệu như vănng stream trongở

t p tin và chi u r ng và chi u cao c a chu i AVI Ph n tiêu đ chính có c u trúcập trình đa phương tiện ều khuôn dạng dữ liệu như văn ộng (DLL) ều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ần MainAVIHeader ều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF

d li u đữ liệu khác ện ượp của nhiều khuôn dạng dữ liệu như vănc đ nh nghĩa nh sau:ịch bản mô phỏng chức năng ư

Gi i thích các thu c tính:ản mô phỏng chức năng ộng (DLL)

 Thu c tính ộng (DLL) dwMicroSecPerFrame xác đ nh kho ng th i gian gi a cácịch bản mô phỏng chức năng ản mô phỏng chức năng ờng đa phương tiện ữ liệu kháckhung hình Giá tr này ch ra r ng th i gian t ng th cho t p tin Giá trịch bản mô phỏng chức năng ỉ thị nào và tham chiếu ằng số là một cách thức thuận lợi để ờng đa phương tiện ổng quan kiến trúc môi trường ể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ịch bản mô phỏng chức năngnày tính b ng micro giây.ằng số là một cách thức thuận lợi để

 Thu c tính ộng (DLL) dwMaxBytesPerSec xác đ nh giá tr x p x t i đa c a dataịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ấu trúc AVI RIFF ỉ thị nào và tham chiếu ối LIST “movi” ủa nhiều khuôn dạng dữ liệu như vănrate c a t p tin Giá tr này cho bi t s byte trên giây mà h th ng ph iủa nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiện ịch bản mô phỏng chức năng ến trúc môi trường ối LIST “movi” ện ối LIST “movi” ản mô phỏng chức năng

x lý đ th hi n m t chu i AVI theo quy đ nh b i các thông s khác ch aử dụng ể tạo ra các phát minh đó không thể không nhắc ể tạo ra các phát minh đó không thể không nhắc ện ộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ịch bản mô phỏng chức năng ở ối LIST “movi” ức năngtrong tiêu đ chính và kh i tiêu đ sream ều khuôn dạng dữ liệu như văn ối LIST “movi” ều khuôn dạng dữ liệu như văn

 Thu c tính ộng (DLL) dwFlags ch a b t kì c cho t p tin Sau đây mô t các c đức năng ấu trúc AVI RIFF ờng đa phương tiện ập trình đa phương tiện ản mô phỏng chức năng ờng đa phương tiện ượp của nhiều khuôn dạng dữ liệu như văn

d nh nghĩa sau:ịch bản mô phỏng chức năng

+ AVIF_HASINDEX: cho bi t t p tin AVI có m t kh i “idx1”ến trúc môi trường ập trình đa phương tiện ộng (DLL) ối LIST “movi”

+AVIF_MUSTUSEINDEX: ch ra r ng ch s nên đỉ thị nào và tham chiếu ằng số là một cách thức thuận lợi để ỉ thị nào và tham chiếu ối LIST “movi” ượp của nhiều khuôn dạng dữ liệu như văn ử dụng ụ, thư viện sử dụngc s d ng đ xácể tạo ra các phát minh đó không thể không nhắc

đ nh th t trình di n c a d li u.ịch bản mô phỏng chức năng ức năng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ễn, góp phần làm cho cuộc sống trở ủa nhiều khuôn dạng dữ liệu như văn ữ liệu khác ện

+ AVIF_ISINTERLEAVED: ch ra các t p tin AVI là đỉ thị nào và tham chiếu ập trình đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc xen kẽ Hện

th ng có th có dòng d li u xen kẽ t m t CD-ROM sẽ hi u qu h n dối LIST “movi” ể tạo ra các phát minh đó không thể không nhắc ữ liệu khác ện ừ ộng (DLL) ện ản mô phỏng chức năng ơng tiện ữ liệu khác

+ AVIF_WASCAPTUREFILE: cho bi t các t p tin AVI là m t t p tinến trúc môi trường ập trình đa phương tiện ộng (DLL) ập trình đa phương tiện

đượp của nhiều khuôn dạng dữ liệu như vănc phân b đ c bi t dùng đ ch p video th i gian th c Thông thổng quan kiến trúc môi trường ặt phía server ện ể tạo ra các phát minh đó không thể không nhắc ụ, thư viện sử dụng ờng đa phương tiện ự kết hợp của nhiều khuôn dạng dữ liệu như văn ường đa phương tiệnng,

ch p t p tin đã đụ, thư viện sử dụng ập trình đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc phân m nh c a ngản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ường đa phương tiện ử dụng ụ, thư viện sử dụngi s d ng đ thu th p d li uể tạo ra các phát minh đó không thể không nhắc ập trình đa phương tiện ữ liệu khác ệnvideo có đượp của nhiều khuôn dạng dữ liệu như vănc hi u qu tr c ti p trong t p tin N u c này đện ản mô phỏng chức năng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ến trúc môi trường ập trình đa phương tiện ến trúc môi trường ờng đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc thi t l p,ến trúc môi trường ập trình đa phương tiện

Trang 19

m t ng d ng nên c nh báo ngộng (DLL) ức năng ụ, thư viện sử dụng ản mô phỏng chức năng ường đa phương tiệni dùng trưới thiệuc khi ghi trên t p tin v i cập trình đa phương tiện ới thiệu ờng đa phương tiệnnày.

+ AVIF_COPYRIGHTED: ch ra r ng t p tin AVI ch a d li u b nỉ thị nào và tham chiếu ằng số là một cách thức thuận lợi để ập trình đa phương tiện ức năng ữ liệu khác ện ản mô phỏng chức năngquy n.ều khuôn dạng dữ liệu như văn

+ C AVIF_HASINDEX và AVIF_MUSTUSEINDEX: áp d ng cho các t pờng đa phương tiện ụ, thư viện sử dụng ập trình đa phương tiệntin v i m t kh i index C AVIF_HASINDEX ch ra m t ch s là có m t Cới thiệu ộng (DLL) ối LIST “movi” ờng đa phương tiện ỉ thị nào và tham chiếu ộng (DLL) ỉ thị nào và tham chiếu ối LIST “movi” ặt phía server ờng đa phương tiệnAVIF_MUSTUSEINDEX ch ra r ng ch s nên đỉ thị nào và tham chiếu ằng số là một cách thức thuận lợi để ỉ thị nào và tham chiếu ối LIST “movi” ượp của nhiều khuôn dạng dữ liệu như vănc s d ng đ xác đ nhử dụng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng

th t trình di n c a d li u Khi c này đức năng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ễn, góp phần làm cho cuộc sống trở ủa nhiều khuôn dạng dữ liệu như văn ữ liệu khác ện ờng đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc thi t l p, nó ng ý s s pến trúc môi trường ập trình đa phương tiện ụ, thư viện sử dụng ự kết hợp của nhiều khuôn dạng dữ liệu như văn ắc

đ t v t lý c a kh i trong các t p tin không tặt phía server ập trình đa phương tiện ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi” ập trình đa phương tiện ương tiệnng ng v i th t trình bàyức năng ới thiệu ức năng ự kết hợp của nhiều khuôn dạng dữ liệu như văn

 Thu c tính ộng (DLL) dwTotalFrames ch ra t ng s khung hình d li u trong t pỉ thị nào và tham chiếu ổng quan kiến trúc môi trường ối LIST “movi” ữ liệu khác ện ập trình đa phương tiệntin

 Thu c tính ộng (DLL) dwInitialFrames là đượp của nhiều khuôn dạng dữ liệu như văn ử dụng ụ, thư viện sử dụngc s d ng cho t p tin xen kẽ N u b nập trình đa phương tiện ến trúc môi trường ạng dữ liệu như văn

có t o t p tin xen kẽ, ch đ nh s lạng dữ liệu như văn ập trình đa phương tiện ỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ối LIST “movi” ượp của nhiều khuôn dạng dữ liệu như vănng khung hình trong các t p tinập trình đa phương tiện

trưới thiệuc khung hình ban đ u c a chu i AVI trong thu c tính này.ần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như văn ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ộng (DLL)

 Thu c tính ộng (DLL) dwStreams ch đ nh s lỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ối LIST “movi” ượp của nhiều khuôn dạng dữ liệu như vănng streams trong t p tin Vi d :ập trình đa phương tiện ụ, thư viện sử dụng

m t t p tin có audio và video là có 2 dòng.ộng (DLL) ập trình đa phương tiện

 Thu c tính ộng (DLL) dwSuggestedBufferSize ch đ nh các g i ý kích thỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ợp của nhiều khuôn dạng dữ liệu như văn ưới thiệuc b đ mộng (DLL) ệncho vi c đ c các t p tin Nói chung, kích thện ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ập trình đa phương tiện ưới thiệuc này nên đ l n đ ch aủa nhiều khuôn dạng dữ liệu như văn ới thiệu ể tạo ra các phát minh đó không thể không nhắc ức năng

kh i l n nh t trong t p tin N u thi t l p là 0, ho c n u nó là quá nh ,ối LIST “movi” ới thiệu ấu trúc AVI RIFF ập trình đa phương tiện ến trúc môi trường ến trúc môi trường ập trình đa phương tiện ặt phía server ến trúc môi trường ỏng chức năng

ph n m m phát l i sẽ ph i tái phân ph i b nh trong khi phát l i sẽ làmần MainAVIHeader ều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ản mô phỏng chức năng ối LIST “movi” ộng (DLL) ới thiệu ạng dữ liệu như văn

gi m hi u su t Cho m t t p tin xen kẽ, kích thản mô phỏng chức năng ện ấu trúc AVI RIFF ộng (DLL) ập trình đa phương tiện ưới thiệuc b đ m nên đ l n động (DLL) ện ủa nhiều khuôn dạng dữ liệu như văn ới thiệu ể tạo ra các phát minh đó không thể không nhắc

đ c toàn b “record”ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ộng (DLL)

 Thu c tính ộng (DLL) dwWidth và dwHeight ch đ nh chi u r ng và chi u cao c aỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ều khuôn dạng dữ liệu như văn ộng (DLL) ều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn

t p tin AVI theo đ n v pixels.ập trình đa phương tiện ơng tiện ịch bản mô phỏng chức năng

 Thu c tính ộng (DLL) dwScale và dwRate là đượp của nhiều khuôn dạng dữ liệu như vănc s d ng đ ch đ nh t l th iử dụng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ỉ thị nào và tham chiếu ện ờng đa phương tiệngian chung mà t p tin sẽ s d ng Ngoài t l th i gian này, m i dòng cóập trình đa phương tiện ử dụng ụ, thư viện sử dụng ỉ thị nào và tham chiếu ện ờng đa phương tiện ỗ trợ các loại phương tiện (media) và môi trường mạng truyền

th có t l th i gian riêng cho nó T l th i gian sample/second là để tạo ra các phát minh đó không thể không nhắc ỉ thị nào và tham chiếu ện ờng đa phương tiện ỉ thị nào và tham chiếu ện ờng đa phương tiện ượp của nhiều khuôn dạng dữ liệu như vănc

 Thu c tính dwStart v dwLength ch đ nh th i gian b t đ u c a t p tinộng (DLL) ần MainAVIHeader ỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ờng đa phương tiện ắc ần MainAVIHeader ủa nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiệnAVI và chi u dài c a t p tin Các đ n v đều khuôn dạng dữ liệu như văn ủa nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiện ơng tiện ịch bản mô phỏng chức năng ượp của nhiều khuôn dạng dữ liệu như vănc xác đ nh b i dwScale vàịch bản mô phỏng chức năng ởdwRate Thu c tính dwStart là thộng (DLL) ường đa phương tiệnng thi t l p là 0.ến trúc môi trường ập trình đa phương tiện

2.1.4 Kh i LIST “movi” ố khái niệm

Sau thông tin của tiêu đề là một khối LIST “movi” chứa dữ liệu thực tế trong stream,

dó là các hình ảnh và âm thanh Các khối dữ liệu có thể cư trú trực tiếp trong khốiLIST “movi” hoặc chúng có thể nhóm trong khối “rec” Các nhóm “rec” ngụ ý làkhối nhóm nên đọc tất cả một lần từ đĩa Điều này được sử dụng cho tập tin chỉ địnhxen kẽ để chơi từ CD-ROM

Giống như bất kì khối RIFF, khối dữ liệu chứa một mã bốn kĩ tự chỉ định loại khối

Mã bốn kí tự xác định mỗi khối bao gồm số lượng các stream và một mã hai kí tựđịnh nghĩa loại thông tin đóng gói trong khối Ví dụ, một khối dạng sóng là được xácđịnh bởi mã hai kí tự là “wb” Nếu một khối dạng sóng tương ứng với stream thứ haiLIST “hdrl” miêu tả, nó sẽ có mã bốn kí tự là “01wb”

Trang 20

Do tất cả các thông tin định dạng là trong tiêu đề, các dữ liệu âm thanh chứa trong cáckhối dữ liệu không chứa bất kỳ thông tin về định dạng của nó Một đoạn dữ liệu âmthanh có định dạng sau (## là đại diện các định danh stream):

WAVE Bytes '##wb'

BYTE abBytes[];

Dữ liệu video có thể được nén hoặc không nén DIBs Một DIB không nén cóBI_RGB chỉ định cho các trường biCompression trong cấu trúc BITMAPINFO liênkết Một DIB nén có một giá trị khác hơn BI_RGB quy định trong thuộc tínhbiCompression

Một phần dữ liệu cho một DIB nén chứa dữ liệu video RGB Những khối được xácđịnh bằng một mã hai ký tự của `` db '' (db là một từ viết tắt cho DIB bit) Khối dữliệu cho một DIB nén được xác định bằng một mã hai ký tự của `` dc '' (dc là viết tắtcho DIB nén) Cả đoạn dữ liệu sẽ chứa bất kỳ thông tin tiêu đề về DIBs Các đoạn dữliệu cho một DIB không nén có các hình thức sau đây:

Nếu bao gồm những thay đổi bảng màu trong một dòng video, thiết lập cờAVITF_VIDEO_PALCHANGES trong thuộc tính dwFlags của tiêu đề dòng Cờ nàychỉ ra rằng dòng video này có những thay đổi bảng màu và cảnh báo các phần mềmphát lại rằng nó sẽ cần phải có bảng màu có sức sống

Trang 21

2.1.5 Kh i “idxl” ố khái niệm

File AVI có th có m t kh i Index sau kh i LIST `` Movi '' Các kh i Index c b nể tạo ra các phát minh đó không thể không nhắc ộng (DLL) ối LIST “movi” ối LIST “movi” ối LIST “movi” ơng tiện ản mô phỏng chức năng

ch a m t danh sách các kh i d li u và v trí c a chúng trong t p tin Đi u nàyức năng ộng (DLL) ối LIST “movi” ữ liệu khác ện ịch bản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ập trình đa phương tiện ều khuôn dạng dữ liệu như văncung c p hi u qu truy c p ng u nhiên d li u bên trong các t p tin, vì m t ngấu trúc AVI RIFF ện ản mô phỏng chức năng ập trình đa phương tiện ẫn tới việc thay đổi ữ liệu khác ện ập trình đa phương tiện ộng (DLL) ức năng

d ng có th xác đ nh v trí m t chu i âm thanh ho c hình nh video c thụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ặt phía server ản mô phỏng chức năng ụ, thư viện sử dụng ể tạo ra các phát minh đó không thể không nhắctrong m t t p tin AVI l n mà không c n ph i quét nó.ộng (DLL) ập trình đa phương tiện ới thiệu ần MainAVIHeader ản mô phỏng chức năng

Kh i Index s d ng mã b n ký t `` idx1 '' C u trúc d li u:ối LIST “movi” ử dụng ụ, thư viện sử dụng ối LIST “movi” ự kết hợp của nhiều khuôn dạng dữ liệu như văn ấu trúc AVI RIFF ữ liệu khác ện

sẽ có các m c cho m i kh i `` rec '' Các `` rec '' nên có t p thi t l p c AVIIF_LISTụ, thư viện sử dụng ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ối LIST “movi” ập trình đa phương tiện ến trúc môi trường ập trình đa phương tiện ờng đa phương tiện

và các lo i danh sách trong thu c tính ckid.ạng dữ liệu như văn ộng (DLL)

Các lĩnh v c ckid xác đ nh các đo n d li u Trự kết hợp của nhiều khuôn dạng dữ liệu như văn ịch bản mô phỏng chức năng ạng dữ liệu như văn ữ liệu khác ện ường đa phương tiệnng này s d ng mã s b n kýử dụng ụ, thư viện sử dụng ối LIST “movi” ối LIST “movi”

t đ xác đ nh đo n này.ự kết hợp của nhiều khuôn dạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng ạng dữ liệu như văn

Thu c tính dwFlags ch đ nh b t kỳ lá c cho các d li u Các AVIIF_KEYFRAMEộng (DLL) ỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ấu trúc AVI RIFF ờng đa phương tiện ữ liệu khác ện

c ch ra khung chính trong chu i video Khung chính không c n thông tin videoờng đa phương tiện ỉ thị nào và tham chiếu ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ần MainAVIHeader

trưới thiệuc đ để tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như vănc gi i nén Các AVIIF_NOTIME c ch ra m t đo n không nhản mô phỏng chức năng ờng đa phương tiện ỉ thị nào và tham chiếu ộng (DLL) ạng dữ liệu như văn ản mô phỏng chức năng

hưởng đ n th i gian c a m t dòng video Ví d , thay đ i kh i b ng màu ch raến trúc môi trường ờng đa phương tiện ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ụ, thư viện sử dụng ổng quan kiến trúc môi trường ối LIST “movi” ản mô phỏng chức năng ỉ thị nào và tham chiếu

b i m t kh i b ng màu nênở ộng (DLL) ối LIST “movi” ản mô phỏng chức năng

x y ra gi a hi n th khung hình video Vì v y, n u m t ng d ng c n xác đ nhản mô phỏng chức năng ữ liệu khác ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng ập trình đa phương tiện ến trúc môi trường ộng (DLL) ức năng ụ, thư viện sử dụng ần MainAVIHeader ịch bản mô phỏng chức năng

đ dài c a m t chu i video, nó không nên s d ng kh i v i c AVIIF_NOTIME.ộng (DLL) ủa nhiều khuôn dạng dữ liệu như văn ộng (DLL) ỗ trợ các loại phương tiện (media) và môi trường mạng truyền ử dụng ụ, thư viện sử dụng ối LIST “movi” ới thiệu ờng đa phương tiệnTrong trường đa phương tiệnng h p này, nó sẽ b qua m t đo n b ng màu Các AVIIF_LIST c chợp của nhiều khuôn dạng dữ liệu như văn ỏng chức năng ộng (DLL) ạng dữ liệu như văn ản mô phỏng chức năng ờng đa phương tiện ỉ thị nào và tham chiếu

ra kh i hi n t i là m t kh i LIST S d ng thu c tính ckid đ xác đ nh lo i kh iối LIST “movi” ện ạng dữ liệu như văn ộng (DLL) ối LIST “movi” ử dụng ụ, thư viện sử dụng ộng (DLL) ể tạo ra các phát minh đó không thể không nhắc ịch bản mô phỏng chức năng ạng dữ liệu như văn ối LIST “movi”LIST

Các thu c tính dwChunkOffset và dwChunkLength xác đ nh v trí c a các đo n vàộng (DLL) ịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn

đ dài c a đo n này Các thu c tính dwChunkOffset ch đ nh v trí c a các kh iộng (DLL) ủa nhiều khuôn dạng dữ liệu như văn ạng dữ liệu như văn ộng (DLL) ỉ thị nào và tham chiếu ịch bản mô phỏng chức năng ịch bản mô phỏng chức năng ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi”trong các t p tin liên quan đ n 'Movi' danh sách Các thu c tính dwChunkLengthập trình đa phương tiện ến trúc môi trường ộng (DLL)xác đ nh đ dài c a kh i tr tám byte cho header RIFF.ịch bản mô phỏng chức năng ộng (DLL) ủa nhiều khuôn dạng dữ liệu như văn ối LIST “movi” ừ

2.1.6 Các kh i d li u khác ố khái niệm ữ liệu khác ệm

N u c n s p x p d li u trong file AVI , có th thêm m t kh i `` JUNK '' (Đo nến trúc môi trường ần MainAVIHeader ắc ến trúc môi trường ữ liệu khác ện ể tạo ra các phát minh đó không thể không nhắc ộng (DLL) ối LIST “movi” ạng dữ liệu như vănnày là m t lo i RIFF chu n) Ch i t p tin t đĩa CD-ROM s d ng các kh i động (DLL) ạng dữ liệu như văn ẩm ơng tiện ập trình đa phương tiện ừ ử dụng ụ, thư viện sử dụng ối LIST “movi” ể tạo ra các phát minh đó không thể không nhắc

s p x p d li u đ h có th đắc ến trúc môi trường ữ liệu khác ện ể tạo ra các phát minh đó không thể không nhắc ọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ể tạo ra các phát minh đó không thể không nhắc ượp của nhiều khuôn dạng dữ liệu như vănc đ c m t cách hi u qu h n B n có thọi sự góp ý, sửa chữa của cô về các nội dung đã được trình bày ộng (DLL) ện ản mô phỏng chức năng ơng tiện ạng dữ liệu như văn ể tạo ra các phát minh đó không thể không nhắc

Ngày đăng: 14/04/2015, 01:12

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Môi trường đa phương tiện - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 1.1. Môi trường đa phương tiện (Trang 6)
Hình 1.2. Tổng quan về lập trình đa phương tiện - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 1.2. Tổng quan về lập trình đa phương tiện (Trang 7)
Hình 1.3. Kiến trúc môi trường lập trình đa phương tiện trong Windows - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 1.3. Kiến trúc môi trường lập trình đa phương tiện trong Windows (Trang 8)
Hình 2.1. Hình minh họa cấu trúc cơ bản file AVI - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 2.1. Hình minh họa cấu trúc cơ bản file AVI (Trang 17)
Hình 2.2. Cấu trúc phân cấp mpeg - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 2.2. Cấu trúc phân cấp mpeg (Trang 23)
Hình 3.1. Quy trình Streaming video - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 3.1. Quy trình Streaming video (Trang 24)
Bảng 3.1: DESCRIBE request - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Bảng 3.1 DESCRIBE request (Trang 26)
Bảng 3.3. PLAY request - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Bảng 3.3. PLAY request (Trang 27)
Hình 3.2. Cấu trúc gói tin RTP - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 3.2. Cấu trúc gói tin RTP (Trang 29)
Hình 4.1. Giao diện chính của chương trình - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 4.1. Giao diện chính của chương trình (Trang 31)
Hình 4.2. Mở một file video sẵn trên thiết bị - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 4.2. Mở một file video sẵn trên thiết bị (Trang 32)
Hình 4.3. Tách audio từ video có sẵn - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 4.3. Tách audio từ video có sẵn (Trang 32)
Hình 4.5. Chức năng thay đổi âm lượng gốc của video. - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 4.5. Chức năng thay đổi âm lượng gốc của video (Trang 33)
Hình 4.4. Chức năng cắt video từ video có sẵn - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 4.4. Chức năng cắt video từ video có sẵn (Trang 33)
Hình 4.6. Chức năng thay đổi kích thước video - LẬP TRÌNH ĐA PHƯƠNG TIỆN và TRIỂN KHAI THỬ NGHIỆM các ỨNG DỤNG Đa PHƯƠNG TIỆN
Hình 4.6. Chức năng thay đổi kích thước video (Trang 34)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w