SlideShare a Scribd company logo
1 of 26
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
NGUYỄN VIẾT KHIÊM
THIẾT KẾ HỆ THỐNG NHÚNG
CHO ỨNG DỤNG GIẢI TRÍ THỜI GIAN
THỰC TRÊN NỀN ANDROID
Chuyên ngành: Kỹ thuật Điện tử
Mã số: 60.52.02.03
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - Năm 2015
Công trình được hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: PGS.TS. NGUYỄN VĂN CƯỜNG
Phản biện 1: TS. HUỲNH VIỆT THẮNG
Phản biện 2: PGS.TS. PHẠM NGỌC NAM
Luận văn được bảo vệ tại Hội đồng chấm Luận văn tốt
nghiệp Thạc sĩ kỹ thuật Điện tử tại Đại học Đà Nẵng vào ngày 21
tháng 6 năm 2015
* Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
1
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay, ngành công nghiệp điện tử tiêu dùng phát triển rất
mạnh mẽ, nhất là trong lĩnh vực giải trí. Với một chiếc điện thoại
thông minh, hay một chiếc máy tính bảng chúng ta có thể nghe nhạc,
xem phim, … Tuy nhiên, việc chúng ta xem phim liên tục trong một
khoảng thời gian dài trên chiếc điện thoại có kích thước màn hình
quá nhỏ sẽ gây mỏi mắt, thậm chí là mắc chứng cận thị.
Ngoài ra chúng ta cũng thường xuyên có nhu cầu chia sẻ
những đoạn video ý nghĩa, những bộ phim hay trên chiếc điện thoại
thông minh với người thân, bạn bè. Tuy nhiên, việc nhiều người
cùng xem phim trên một chiếc điện thoại có màn hình quá nhỏ là rất
bất tiện.
Những lúc như thế, chúng ta thường tìm cách để phát các
video đó lên một màn hình lớn, ví dụ như sao chép các video sang
USB rồi phát chúng trên các tivi có hỗ trợ cổng USB,... Tuy nhiên,
việc này rất bất tiện. Giả sử có một hệ thống cho phép chúng ta xem
trực tiếp các đoạn video, các bộ phim này trên một màn hình lớn mà
không cần phải tìm cách chép chúng qua thiết một bị khác thì thật
tuyệt. Nhận thấy tầm quan trọng của vấn đề này nên tôi quyết định
chọn đề tài: “Thiết kế hệ thống nhúng cho ứng dụng giải trí thời gian
thực trên nền Android”.
2. Mục tiêu nghiên cứu
Trên cơ sở nghiên cứu giao thức truyền dữ liệu thời gian thực
và các chuẩn mã hóa, nén video số, đặc biệt tập trung vào chuẩn nén
video số H.264/AVC, luận văn tiến hành thiết kế và xây dựng thử
nghiệm một hệ thống nhúng cho phép nhận và phát lại luồng bit
2
video được truyền từ thiết bị Android thông qua mạng internet.
Ngoài ra luận văn cũng xây dựng một ứng dụng Android thực hiện
việc phát luồng bit video đến hệ thống nhúng. Hệ thống nhúng được
xây dựng trên cơ sở sử dụng bo mạch Raspberry Pi mode B, chạy hệ
điều hành Linux.
3. Đối tượng và phạm vi nghiên cứu
- Nghiên cứu về hệ thống nhúng, hệ điều hành Linux cho hệ
thống nhúng.
- Nghiên cứu các giao thức truyền dữ liệu thời gian thực:
RTP, RTCP.
- Nghiên cứu chuẩn nén video số H.264/AVC.
- Tìm hiểu phần cứng của bo mạch Raspberry Pi mode B.
- Lập trình C, C++ trên Linux.
- Nghiên cứu về hệ điều hành Android, lập trình ứng dụng
trên Android.
4. Phương pháp nghiên cứu
Kết hợp nghiên cứu lý thuyết và xây dựng hệ thống nhúng
thực nghiệm, viết ứng dụng Android chạy trên thiết bị di động
Android.
Các bước tiến hành cụ thể như sau:
- Thu thập, phân tích các tài liệu và thông tin liên quan đến đề
tài.
- Biên dịch, cài đặt hệ điều hành Linux trên bo mạch
Raspberry Pi mode B.
- Biên dịch thư viện gstreamer, viết chương trình chạy trên bo
mạch Raspberry Pi mode B cho phép nhận và phát lại luồng bit
video.
3
- Cài đặt thư viện gstreamer cho Android, viết ứng dụng
Android chạy trên thiết bị Android cho phép phát luồng bit video tới
hệ thống nhúng.
- Chạy thử nghiệm hệ thống và đánh giá kết quả, so sánh hệ
thống với các hệ thống có cùng tính năng.
5. Bố cục đề tài
Luận văn gồm các phần chính sau đây:
Chương 1. GIỚI THIỆU MỘT SỐ VẤN ĐỀ LIÊN QUAN
ĐẾN HỆ THỐNG NHÚNG.
Chương 2. GIAO THỨC TRUYỀN DỮ LIỆU THỜI GIAN
THỰC VÀ CHUẨN NÉN VIDEO SỐ H.264/AVC.
Chương 3. XÂY DỰNG ỨNG DỤNG GIẢI TRÍ THỜI GIAN
THỰC TRÊN HỆ THỐNG NHÚNG.
Chương 4. XÂY DỰNG ỨNG DỤNG ANDROID, CHẠY
THỬ NGHIỆM HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ.
6. Tổng quan tài liệu nghiên cứu
Tài liệu nghiên cứu được tham khảo là những bài báo, các
luận văn thạc sỹ từ các trường đại học của các quốc gia khác trên thế
giới, cùng với các trang web tìm hiểu.
CHƯƠNG 1
GIỚI THIỆU MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN HỆ
THỐNG NHÚNG
1.1. GIỚI THIỆU CHƯƠNG
Nội dung của chương này sẽ trình bày khái quát các khái niệm
về hệ thống nhúng; khái niệm về hệ thống thời gian thực, hệ điều
hành Linux trên hệ thống nhúng, hệ điều hành Android. Ngoài ra,
4
chương này cũng giới thiệu về bo mạch Raspberry Pi mode B, đây là
phần cứng được sử dụng để xây dựng hệ thống nhúng thực nghiệm.
1.2. TỔNG QUAN VỀ HỆ THỐNG NHÚNG
1.2.1. Hệ thống nhúng là gì?
Một số định nghĩa thường gặp về hệ thống nhúng:
- Hệ thống nhúng là một hệ thống chuyên dụng, thường có
khả năng tự hành và được thiết kế tích hợp vào một hệ thống
lớn hơn để thực hiện một chức năng chuyên biệt nào đó.
Khác với các máy tính đa chức năng, một hệ thống nhúng
thường chỉ thực hiện một hoặc một vài chức năng nhất định.
- Một hệ thống nhúng là một hệ thống máy tính cơ bản, được
xây dựng để thực hiện một hoặc một vài chức năng chuyên
biệt và nó không được thiết kế để có thể lập trình lại bởi
người sử dụng giống như các máy tính cá nhân có thể
làm. Với hệ thống nhúng, người sủ dụng có thể lựa chọn các
chức năng nhưng không thể thay đổi các chức năng của hệ
thống bằng việc cài đặt thêm hoặc thay thế các chương trình
phần mềm.
1.2.2. Các đặc điểm của hệ thống nhúng
1.2.3. Các thành phần cơ bản của một hệ thống nhúng
1.3. HỆ THỐNG THỜI GIAN THỰC
1.3.1. Hệ thống thời gian thực là gì?
1.3.2. Phân loại hệ thống thời gian thực
1.3.3. Hệ điều hành thời gian thực
1.4. HỆ ĐIỀU HÀNH LINUX CHO HỆ THỐNG NHÚNG
1.4.1. Hệ điều hành Linux
1.4.2. Hệ điều hành Linux trên hệ thống nhúng
1.5. HỆ ĐIỀU HÀNH ANDROID
5
1.6. BO MẠCH RASPBERRY PI MODE B
1.7. SƠ ĐỒ KHỐI HỆ THỐNG GIẢI TRÍ THỜI GIAN
THỰC
1.8. KẾT LUẬN CHƯƠNG
Nội dung của chương 1 đã trình bày khái quát các khái niệm
liên quan đến hệ thống nhúng, hệ thống thời gian thực, hệ điều hành
Linux cho hệ thống nhúng, hệ điều hành Android. Tiếp theo, chương
2 sẽ trình bày cụ thể về kỹ thuật mã hóa video H.264 và kỹ thuật
truyền dữ liệu thời gian thực sử dụng giao thức RTP.
CHƯƠNG 2
GIAO THỨC TRUYỀN DỮ LIỆU THỜI GIAN THỰC VÀ
CHUẨN NÉN VIDEO SỐ H.264/AVC
2.1. GIỚI THIỆU CHƯƠNG
Hiện nay việc xem trực tiếp các video qua mạng internet là rất
phổ biến. Tuy nhiên, do nhu cầu của người xem muốn xem được
hình ảnh có chất lượng cao nên các video tạo ra có độ phân giải ngày
càng cao, kèm theo đó là dung lượng của nó cũng ngày càng lớn.
Việc truyền dẫn các video có độ phân giải cao ở thời gian thực qua
mạng internet gặp rất nhiều khó khăn.
Chúng ta có thể giải quyết vấn đề này bằng cách tăng tốc độ
đường truyền hoặc tìm các giải pháp để giảm dung lượng các video
cần truyền. Tuy nhiên, chúng ta biết rằng tần số là một tài nguyên có
hạn, nên việc tiếp tục mở rộng băng thông để tăng tốc độ truyền dẫn
là không thể. Vì vậy chúng ta cần tìm các kỹ thuật truyền dẫn tối ưu
để sử dụng hiệu quả tài nguyên, đồng thời phải nghiên cứu các
phương pháp nén, mã hóa video tiên tiến để giảm dung lượng các
video cần truyền nhưng vẫn đảm bảo chất lượng.
6
Nội dung chương này sẽ trình bày cụ thể về giao thức truyền
dữ liệu thời gian thực RTP và kỹ thuật mã hóa video số H.264/AVC.
2.2. GIAO THỨC TRUYỀN DỮ LIỆU THỜI GIAN THỰC
2.2.1. Giao thức RTP
RTP là một giao thức chuẩn, cung cấp các chức năng truyền
tải dữ liệu đầu cuối đến đầu cuối, phù hợp cho những ứng dụng
truyền dữ liệu thời gian thực thông qua dịch vụ multicast hoặc
unicast.
Cấu trúc gói dữ liệu của giao thức RTP được trình bày trong
hình 2.1.
Hình 2.1. Cấu trúc gói của giao thức RTP
a) Header của gói RTP
7
Header của gói RTP có kích thước tối thiểu 12 byte, gồm
header cố định và header mở rộng (nếu có). Hình 2.2. mô tả cấu trúc
header cố định của gói RTP.
Hình 2.2. Cấu trúc header của gói RTP
Các trường trong header của gói RTP bao gồm:
- Version (V) : 2 bits. Trường này xác định phiên bản của
RTP.
- Padding (P) : 1 bit. Nếu trường padding được thiếp lập lên 1,
thì gói RTP sẽ được cộng thêm các bytes dữ liệu đệm ở cuối.
- Extension (X) : 1 bit. Khi X được thiết lập lên 1, thì sau
phần header cố định của RTP và trước phần tải trọng sẽ có
một header mở rộng với định dạng riêng.
- CSRC count (CC): 4 bits. Trường CSRC count chứa số
lượng CSRC theo sau header.
8
- Marker (M): 1 bit. Tùy từng trường hợp cụ thể mà bit này
mang những ý nghĩa khác nhau.
- Payload type (PT): 7 bits. Chỉ định loại audio hoặc video nào
được truyền đi trong các gói RTP. Các ứng dụng bên nhận
kiểm tra trường này để quyết định cách thức xử lý dữ liệu.
- Sequence number: 16 bits. Là số không dấu 16 bit dùng
để mang số thứ tự của gói RTP.
- Timestamp: 32 bit. Timestamp phản ánh thời điểm lấy mẫu
của octets đầu tiên trong gói RTP.
- SSRC: 32 bit. SSRC chỉ ra nguồn đồng bộ của gói RTP, số
này được chọn một cách ngẫu nhiên.
- CSRC: 32 bit. Trong trường hợp thông thường, các gói RTP
được tạo ra chỉ bởi một nguồn duy nhất, nhưng khi có nhiều
luồng RTP đi qua bộ trộn, các dữ liệu từ nhiều nguồn này có
thể được góp vào một gói RTP. Trong danh sách CSRC chứa
thông tin của các bên tham gia có dữ liệu nằm trong gói
RTP.
b) Ghép kênh RTP
c) Header mở rộng của gói RTP
2.2.2. Giao thức RTCP
Giao thức RTCP dựa trên việc truyền đều đặn các gói điều
khiển tới tất cả các bên tham gia vào phiên truyền. Nó sử dụng cơ
chế phân phối gói dữ liệu trong mạng giống như giao thức RTP, tức
là cũng sử dụng các dịch vụ của giao thức UDP qua một cổng UDP
độc lập với việc truyền các gói RTP. Các giao thức cơ bản phải cung
cấp cơ chế ghép kênh giữa các gói dữ liệu và gói điều khiển. RTCP
thực hiện các chức năng sau:
9
- Chức năng chính là cung cấp các phản hồi về chất lượng của
quá trình phân phối dữ liệu.
- RTCP mang theo một đinh danh ở lớp giao vận cho nguồn
RTP được gọi là CNAME. Vì các định danh SSRC có thể
thay đổi nếu có xung đột hoặc có một chương trình bị khởi
động lại nên bên nhận cần có CNAME để lưu giữ dấu vết
của mỗi thành phần tham gia. Bên nhận cũng cần CNAME
để kết hợp các phiên RTP có liên hệ với nhau, ví dụ như để
đồng bộ âm thanh với hình ảnh.
- Hai chức năng trên yêu cầu các thành phần tham gia phải gửi
các gói RTCP, do đó tốc độ phải được kiểm soát để RTP có
thể phục vụ cho một số lượng lớn các thành phần tham gia.
- Chức năng thứ tư là truyền tối thiểu các thông tin kiểm soát
phiên làm việc.
a) Cấu trúc gói RTCP
b) Các gói RTCP của bên gửi và bên nhận
 Gói RTCP thông báo bên gửi
Gói RTCP thông báo bên gửi gồm ba phần:
Phần thứ nhất: Phần header, bao gồm các trường sau:
- Version (V): 2 bits. Thể hiện phiên bản của RTP, tương tự
như gói RTP.
- Padding (P): 1 bit.
- reception report count (RC): 5 bits. Trường này được sử
dụng để chỉ số lượng các khối thông báo nhận được chứa
trong gói.
- packet type (PT): 8 bits. Mang giá trị 200 để xác định gói
này là gói RTCP kiểu SR
10
- length: 16 bits. Độ dài tính theo word 32 bit của gói RTCP
trừ đi một, bao gồm cả phần header và phần padding.
- SSRC: 32 bits. Định danh của nguồn đồng bộ của nơi gửi
gói RTCP này.
Phần thứ hai: Dài 20 octet là phần thông tin bên gửi. Gồm các
trường sau:
- NTP timestamp: 64 bits. Chỉ thời điểm gói tin này được gửi
đi.
- RTP timestamp: 32 bits. Tương tự như NTP timestamp
nhưng chỉ cùng đơn vị và cùng một độ dời với RTP
timestamp trong gói dữ liệu.
- sender's octet count: 32 bits. Tổng số octet của tải trọng
(không bao gồm header và phần padding) đã truyền trong
gói dữ liệu RTP bởi bên gửi, kể từ khi bắt đầu truyền cho
đến thời điểm gói tin này được tạo.
Phần thứ ba: Chứa giá trị 0 hoặc các khối thông báo nhận phụ
thuộc vào số lượng nguồn khác mà bên gửi nghe được từ thông báo
cuối.
 Gói RTCP thông báo bên nhận
Cấu trúc gói thông báo bên nhận giống như cấu trúc của gói
thông báo gửi, ngoại trừ trường PT mang giá trị 201 và không có
phần thông tin bên gửi.
2.3. CHUẨN NÉN VIDEO SỐ H.264/AVC
2.3.1. Giới thiệu chung về H.264/AVC
2.3.2. Kỹ thuật nén video số H.264/AVC
a) Mã hóa video H.264/AVC
Sơ đồ khối bộ mã hóa video số H.264/AVC được mô tả trong
hình 2.9.
11
Hình 2.9. Sơ đồ khối bộ mã hóa video H.264/AVC
b) Giải mã video số H.264/AVC
Sơ đồ khối của bộ giải mã video H.264/AVC được mô tả trong
hình 2.10
Hình 2.10. Sơ đồ khối bộ giải mã video H.264/AVC
c) Nén theo thời gian
d) Nén theo không gian
12
2.4. ĐÓNG GÓI H.264/AVC VÀO TẢI TRỌNG GÓI RTP
Các luồng bit sau khi được mã hóa bởi bộ mã hóa H.264/AVC
sẽ được đóng gói thành các đơn vị NAL. Tiếp đến các NAL này sẽ
được đóng gói vào tải trọng của RTP. Có 3 loại cấu trúc tải trọng
khác nhau.
 Gói đơn vị NAL đơn:
Chỉ chứa một đơn vị NAL duy nhất trong tải trọng. Cấu trúc
của gói đơn vị NAL đơn được mô tả trong hình 2.11.
Hình 2.11. Cấu trúc tải trọng kiểu gói đơn vị NAL đơn
 Gói kết hợp:
Là kiểu gói được sử dụng để kết hợp nhiều đơn vị NAL bên
trong một tải trọng gói RTP. Cấu trúc gói kết hợp được mô tả trong
hình 2.12.
Hình 2.12. Cấu trúc tải trọng kiểu gói kết hợp
13
Gói kết hợp có 4 phiên bản, bao gồm:
- Gói kết hợp một lần kiểu A (STAP-A).
- Gói kết hợp một lần kiểu B (STAP-B).
- Gói kết hợp nhiều lần 16bit (MTAP16).
- Gói kết hợp nhiều lần 24bit (MTAP24).
 Gói đơn vị phân mảnh
Được sử dụng để phân phân chia một đơn vị NAL đơn trên
nhiều gói RTP. Bao gồm hai phiên bản là: FU-A và FU-B. Cấu trúc
của khuôn dạng tải trọng RTP Đơn vị phân mảnh được mô tả trong
hình 2.13.
Hình 2.13. Cấu trúc tải trọng kiểu gói đơn vị phân mảnh
2.5. KẾT LUẬN CHƯƠNG
Nội dung của chương 2 đã mô tả cụ thể về chuẩn nén video số
H.264/AVC, giao thức truyền dữ liệu thời gian thực RTP, và quá
trình đóng gói dữ liệu H.264/AVC vào gói RTP.
14
CHƯƠNG 3
XÂY DỰNG ỨNG DỤNG GIẢI TRÍ THỜI GIAN
THỰC TRÊN HỆ THỐNG NHÚNG
3.1. GIỚI THIỆU CHƯƠNG
Chương này sẽ trình bày quá trình xây dựng ứng dụng giải trí
thời gian thực trên bo mạch Raspberry Pi mode B, dựa trên những lý
thuyết về giao RTP và kỹ thuật nén video số H.264/AVC được trình
bày ở chương 2.
3.2. XÂY DỰNG HỆ THỐNG NHÚNG TRÊN BO MẠCH
RASPBERRY PI MODE B
3.2.1. Tạo môi trường làm việc
3.2.2. Cấu hình buildroot
3.2.3. Biên dịch buildroot
3.2.4. Khởi động bo mạch Raspberry Pi mode B
Quá trình khởi động bo mạch Raspberry Pi diển ra như sau:
Khi bo mạch được cấp nguồn, nhân GPU trên BCM2835 được
bật. GPU chuyển con trỏ lệnh đến thực thi tầng bootloader thứ nhất
được lưu trên ROM của BCM2835.
Tầng boot loader thứ nhất đọc tầng bootloader thứ hai
(bootcode.bin) từ thẻ nhớ rồi nạp vào bộ nhớ cache L2 và thực thi nó.
Tầng bootloader thứ hai thực thi các lệnh để khởi động
SDRAM và đọc tầng bootloader thứ ba (loader.bin) trên thẻ nhớ rồi
nạp vào SDRAM và thực thi nó.
Tầng bootloader thứ ba đọc firmware của GPU (start.elf) trên
thẻ nhớ rồi nạp vào SDRAM và thực thi nó.
15
Firmware của GPU đọc file config.txt để thiết lập các cấu hình
cần thiết, sau đó đọc kernel từ thẻ nhớ rồi nạp vào SDRAM và tiếp
tục khởi động nhân ARM để bắt đầu quá trình khởi động từ kernel.
3.3. XÂY DỰNG ỨNG DỤNG GIẢI TRÍ THỜI GIAN THỰC
TRÊN HỆ THỐNG NHÚNG
3.3.1. Tổng quan thư viện gstreamer
3.3.2. Biên dịch thư viện gstreamer
3.3.3. Thiết kế và xây dựng ứng dụng
Ứng dụng gồm hai phần: Phần xử lý audio và phần xử lý video
Phần xử lý video được xây dựng theo kiểu đường ống xử lý
được mô tả trong hình 3.4, gồm các thành phần xử lý sau:
- udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin
UDP để nhận được các gói RTP và RTCP.
- rtpbin: Xử lý, loại bỏ jitter, sắp xếp các gói tin RTP nhận
được; nhận, xử lý và phát gói tin RTCP.
- h264depay: Xử lý, tách các gói NAL từ gói RTP, sau đó tách
các luồng video H.264 từ các gói NAL này.
- h264dec: Giải mã luồng video H.264.
- autovideosink: Phát lại video sau khi được giải mã.
- udpsink: Đóng gói các gói RTCP vào các gói UDP và gửi đi.
Hình 3.4. Cấu trúc phần xử lý video bên thu dạng đường ống
16
Phần xử lý audio dưới dạng đường ống xử lý được mô tả trong
hình 3.5, bao gồm các thành phần xử lý sau:
- udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin
UDP để nhận được các gói RTP và RTCP.
- rtpbin: Xử lý, loại bỏ jitter, sắp xếp các gói tin RTP nhận
được; nhận, xử lý và phát gói tin RTCP.
- rtpL24depay: Xử lý, tách các luồng audio LPCM 24 bit từ
các gói RTP.
- audioconvert: Biến đổi audio LPCM 24 bit sang định dạng
phù hợp.
- alsasink: Phát lại audio sau khi đượcbiến đổi.
- udpsink: Đóng gói các gói RTCP vào các gói UDP và gửi đi.
Hình 3.5. Cấu trúc phần xử lý audio bên thu dạng đường ống
3.3.4. Chương trình ứng dụng
3.1. KẾT LUẬN CHƯƠNG
Nội dung của chương 3 đã trình bày các bước thiết kế và xây
dựng một chương trình ứng dụng giải trí thời gian thực trên bo mạch
Raspberry Pi, dựa trên thư viện gstreamer.
17
CHƯƠNG 4
XÂY DỰNG ỨNG DỤNG ANDROID, CHẠY THỬ NGHIỆM
HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ
4.1. GIỚI THIỆU CHƯƠNG
Nội dung chương 3 đã trình bày quá trình thiết kế và xây dựng
chương trình ứng dụng chạy trên bo mạch Raspberry Pi, cho phép
nhận và phát lại luồng bit video H.264/AVC. Chương này sẽ trình
bày quá trình thiết kế và xây dựng chương trình ứng dụng chạy trên
thiết bị Android, thực hiện việc đọc file video H.264/AVC được lưu
trữ trên thiết bị Android và gửi tới bo mạch Raspberry Pi mode B
thông qua mạng internet.
4.2. XÂY DỰNG ỨNG DỤNG PHÁT LUỒNG BIT VIDEO
TRÊN THIẾT BỊ ANDROID
4.2.1. Cài đặt gstreamer SDK cho Android
4.2.2. Xây dựng ứng dụng phát luồng bit video trên thiết bị
Android
Ứng dụng gồm hai phần: Phần xử lý audio và phần xử lý
video.
Phần xử lý video được xây dựng theo kiểu đường ống xử lý
dựa trên các plug-in được mô tả trong hình 4.1, gồm các thành phần
xử lý sau:
- filesrc: Đọc file video H.264 được lưu trên thiết bị lưu trữ.
- qtdemux: Tách riêng thành phần video trong các gói dữ liệu
được cung cấp bởi filesrc.
- rtph264pay: Xử lý, đóng gói luồng video H.264 vào các gói
NAL, sau đó đóng gói các NAL vào các gói RTP.
18
Hình 4.1. Cấu trúc phần xử lý video bên phát dạng đường ống
- rtpbin: Sắp xếp các gói tin RTP được cung cấp bởi
rtph264pay; nhận, xử lý và phát gói tin RTCP.
- udpsink: Đóng gói các gói RTP và RTCP vào các gói UDP
sau đó gửi đi.
- udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin
UDP để nhận được các gói RTCP.
Phần xử lý audio dưới dạng đường ống xử lý được mô tả trong
hình 4.2, gồm các thành phần xử lý sau:
- filesrc: Đọc file video H.264 được lưu trên thiết bị lưu trữ.
- qtdemux: Tách riêng thành phần audio trong các gói dữ liệu
được cung cấp bởi filesrc.
- decodebin: Giải mã luồng audio.
- audioconvert: Chuyển đổi luồng audio sang dạng phù hợp.
audio/x-raw: Xử lý audio để đưa về dạng raw.
19
Hình 4.2. Cấu trúc phần xử lý audio bên phát dạng đường ống
- rtpL24pay: Xử lý, đóng gói luồng audio vào các gói NAL,
sau đó đóng gói các NAL vào các gói RTP.
- rtpbin: Sắp xếp các gói tin RTP được cung cấp bởi
rtpL24pay; nhận, xử lý và phát gói tin RTCP.
- udpsink: Đóng gói các gói RTP và RTCP vào các gói UDP
sau đó gửi đi.
- udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin
UDP để nhận được các gói RTCP.
4.2.3. Chương trình ứng dụng
4.3. CHẠY THỬ NGHIỆM HỆ THỐNG VÀ ĐÁNH GIÁ KẾT
QUẢ
4.3.1. Chạy thử nghiệm hệ thống
Gắn thẻ nhớ sd vào khe cắm thẻ nhớ trên bo mạch Raspberry
Pi mode B; kết nối bo mạch vào màn hình; kết nối dây mạng internet
vào cổng RJ45; cấp nguồn để bo mạch khởi động.
Kết nối bộ chuyển đổi USB sang TTL vào các chân GPIO ở
hàng ngoài cùng của bo mạch như trong hình 4.3.
20
Gắn đầu còn lại của bộ chuyển đổi USB sang TTL vào máy
tính, mở chương trình Terminal trên máy tính và gõ lệnh: sudo
minicom, sau đó gõ lệnh: ifconfig để xem địa chỉ IP của bo mạch.
Để chạy chương trình ứng dụng, chúng ta vào thư mục chứa
file thực thi của chương trình ứng dụng và gõ lệnh: ./runDemo.
Hình 4.3. Sơ đồ kết nối bộ chuyển đổi USB sang TTL
 Trên thiết bị Android:
Cài đặt chương trình ứng dụng được biên dịch trên thiết bị
Android. Chạy chương trình ứng dụng ta được giao diện chương
trình như mô tả trong hình 4.4.
Giao diện của chương trình có các phần sau:
- Ô “Input the ip address” là nơi nhập địa chỉ ip của bo mạch.
- Ô “Input the video path” là nơi nhập đường dẫn đến file
video.
- Nút “Run” để thông báo cho chương trình đọc địa chỉ ip của
bo mạch Raspberry Pi mode B và đường dẫn của file video.
21
- Nút “Play” để thông báo cho chương trình bắt đầu phát
luồng video.
- Nút “Pause” để thông báo cho chương trình dừng việc phát
luồng video.
Hình 4.4. Giao diện chương trình ứng dụng Android
Có thể nhập trực tiếp đường dẫn của file video vào ô “Input
the video path”, hoặc có thể sử dụng tiện ích duyệt file bằng cách
chạm 2 lần vào ô đó, nó cho phép chúng ta tìm đến file cần phát, và
chọn file đó.
Sau khi nhập địa chỉ ip và đường dẫn của file video, nhấn nút
“Run” để hoàn thành quá trình chuẩn bị.
Tiếp theo nhấn nút “Play” để bắt đầu quá trình phát video.
Luồng bit video sẽ được phát lại trên màn hình gắn với bo
mạch Raspberry Pi mode B.
22
4.3.2. Nhận xét, đánh giá kết quả
Hệ thống đã hoạt động theo đúng mục tiêu của đề tài đặt ra là
xây dựng một ứng dụng phát, nhận và phát lại các file video
H.264/AVC, giữa thiết bị Android và bo mạch Raspberry Pi mode B
thông qua mạng internet ở chế độ thời gian thực.
Hệ thống có thể hoạt động ổn định và cho hình ảnh mượt,
không bị nhòe, mất hình, âm thanh rõ ràng với các file video có độ
phân giải 720p.
 Những hạn chế của hệ thống
Mục tiêu đặt ra ban đầu là có thể cài đặt và sử dụng USB WiFi
trên bo mạch Raspberry Pi mode B, để nó hoạt động như một bộ
định tuyến WiFi, cho phép thiết bị Android kết nối trực tiếp với bo
mạch mà không cần sử dụng bộ định tuyến WiFi. Tuy nhiên do có
khăn trong việc cài đặt các driver trên bo mạch nên không thể thực
hiện được.
Giao diện của chương trình ứng dụng trên thiết bị Android còn
đơn giản.
Hệ thống hoạt động không ổn định và hình ảnh bị nhòe, mất
hình khi phát các file video có độ phân giải 1080p.
 So sánh với các hệ thống có cùng tính năng
Hiện nay, trên thị trường có khá nhiều thiết bị giải trí cho phép
người dùng xem trực tiếp các file video, hình ảnh được lưu trữ trên
các thiết bị khác dưới dạng stream thông qua mạng internet như:
Amazon Fire TV, Google Chromecast, Apple TV, M8S, ...
So với các thiết bị này thì hệ thống của chúng ta có một số hạn
chế như sau:
- Với mục đích nghiên cứu nên hệ thống được xây dựng chỉ
với duy nhất một tính năng đó là xem các file video dưới
23
dạng stream, không giống như các thiết bị có đầy đủ các tính
năng giải trí khác như: Xem video, nghe nhạc, karaoke, ...
- Hệ thống không thể cho chất lượng hình ảnh tốt với các file
video có độ phân giải cao.
Tuy nhiên, so với cấu hình phần cứng của các thiết bị chạy hệ
điều hành Android 4.4.2 (chíp lõi kép, RAM 1GB), thì hệ thống
chúng ta xây dựng có cấu hình phần cứng khá thấp. Do đó chi phí
xây dựng hệ thống cũng thấp hơn.
4.4. KẾT LUẬN CHƯƠNG
Nội dung chương 4 đã trình bày quá trình thiết kế và xây dựng
ứng dụng phát luồng bit video trên thiết bị Android, ứng dụng được
xây dựng dựa trên thư viện gstreamer. Ngoài ra nội dung của chương
cũng trình bày quá trình chạy thử nghiệm hệ thống giải trí thời gian
thực trên bo mạch Raspberry Pi mode B.
24
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Luận văn đã trình bày những nội dung lý thuyết liên quan
cũng như quá trình thiết kế và xây dựng hệ thống nhúng cho ứng
dụng giải trí thời gian thực trên nền Android. Hệ thống được xây
dựng dựa trên bo mạch Raspberry Pi mode B, kết hợp viết chương
trình ứng dụng chạy trên thiết bị Android, thực hiện quá trình phát,
nhận và phát lại video H.264/AVC ở thời gian thực.
Luận văn cung cấp những lý thuyết cơ bản về hệ thống nhúng,
hệ thống thời gian thực, hệ điều hành Linux trên hệ thống nhúng;
đồng thời cũng đi sâu phân tích chuẩn nén video số H.264/AVC và
giao thức truyền dữ liệu thời gian thực.
Hệ thống nhúng thực nghiệm hoạt động ổn định, cho chất
lượng hình ảnh và âm thanh tốt.
Tuy nhiên, do thời gian có hạn nên việc nghiên cứu lý thuyết
cũng như việc xây dựng hệ thống thực nghiệm còn một số hạn chế
như: Chưa nghiên cứu, tính toán được độ trễ của quá trình truyền
nhận luồng bit video. Hệ thống chỉ hoạt động tốt với những video có
độ phân giải không quá 720p. Chưa tích hợp thành công usb WiFi,
cho phép bo mạch Raspberry Pi mode B hoạt động như một bộ định
tuyến WiFi để có thể cung cấp kết nối trực tiếp đến thiết bị Android.
Do đó, hướng phát triển tiếp theo của đề tài là nghiên cứu
chuẩn nén video số H.265 để ứng dụng vào hệ thống, giúp cho hệ
thống có thể hoạt động tốt với những file video H.265, những file
video loại này độ phân giải cao trên 1080p nhưng có dung lượng
thấp. Tích hợp thư viện giải trí XBMC vào hệ thống để tăng tính
năng của hệ thống như nghe nhạc, xem phim, ... Phát triển hệ thống
thành những hệ thống quảng cáo thông minh.

More Related Content

What's hot

Embedded beta2 new
Embedded beta2 newEmbedded beta2 new
Embedded beta2 newNguyễn Anh
 
Tailieu.vncty.com he dieu hanh
Tailieu.vncty.com   he dieu hanhTailieu.vncty.com   he dieu hanh
Tailieu.vncty.com he dieu hanhTrần Đức Anh
 
Hệ điều hành (chương 1)
Hệ điều hành (chương 1)Hệ điều hành (chương 1)
Hệ điều hành (chương 1)realpotter
 
Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu
Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu
Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu Mr. Cao
 
Chuong01
Chuong01Chuong01
Chuong01na
 
Bai04 quan ly tien trinh
Bai04   quan ly tien trinhBai04   quan ly tien trinh
Bai04 quan ly tien trinhVũ Sang
 
BGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tínhBGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tínhCao Toa
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhHoat Thai Van
 
Bai1laprapcaidat ttth
Bai1laprapcaidat ttthBai1laprapcaidat ttth
Bai1laprapcaidat ttthut1101833
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmPhạm Trung Đức
 
Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)realpotter
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanhPhan Duy
 
Các kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmCác kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmNguyễn Anh
 
Hệ điều hành (chương 3)
Hệ điều hành (chương 3)Hệ điều hành (chương 3)
Hệ điều hành (chương 3)realpotter
 
Bai giang cau_truc_may_tinh
Bai giang cau_truc_may_tinhBai giang cau_truc_may_tinh
Bai giang cau_truc_may_tinhThùy Linh
 
Thiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcdThiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcdnataliej4
 

What's hot (19)

Embedded beta2 new
Embedded beta2 newEmbedded beta2 new
Embedded beta2 new
 
Tailieu.vncty.com he dieu hanh
Tailieu.vncty.com   he dieu hanhTailieu.vncty.com   he dieu hanh
Tailieu.vncty.com he dieu hanh
 
Hệ điều hành (chương 1)
Hệ điều hành (chương 1)Hệ điều hành (chương 1)
Hệ điều hành (chương 1)
 
Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu
Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu
Trình bày cơ chế nhập / xuất của hệ thống vào ra dữ liệu
 
Ngân hàng hệ thống phân tán PTIT
Ngân hàng hệ thống phân tán PTITNgân hàng hệ thống phân tán PTIT
Ngân hàng hệ thống phân tán PTIT
 
Chuong01
Chuong01Chuong01
Chuong01
 
Bai04 quan ly tien trinh
Bai04   quan ly tien trinhBai04   quan ly tien trinh
Bai04 quan ly tien trinh
 
BGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tínhBGKTMT Ch2 tổ chức hệ thống máy tính
BGKTMT Ch2 tổ chức hệ thống máy tính
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
 
Bai1laprapcaidat ttth
Bai1laprapcaidat ttthBai1laprapcaidat ttth
Bai1laprapcaidat ttth
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềm
 
Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanh
 
Các kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmCác kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềm
 
Hệ điều hành (chương 3)
Hệ điều hành (chương 3)Hệ điều hành (chương 3)
Hệ điều hành (chương 3)
 
Chuong5 dong bo_hoa
Chuong5 dong bo_hoaChuong5 dong bo_hoa
Chuong5 dong bo_hoa
 
Bai giang cau_truc_may_tinh
Bai giang cau_truc_may_tinhBai giang cau_truc_may_tinh
Bai giang cau_truc_may_tinh
 
Thiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcdThiết kế mạch đo và hiển thị nhiệt độ trên lcd
Thiết kế mạch đo và hiển thị nhiệt độ trên lcd
 
Htc.kien.truc.unix.linux
Htc.kien.truc.unix.linuxHtc.kien.truc.unix.linux
Htc.kien.truc.unix.linux
 

Similar to Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android

Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseHoàng Tuấn Lê
 
Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1TranQuangChien
 
Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1TranQuangChien
 
Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...
Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...
Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...jackjohn45
 
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfMan_Ebook
 
Mai kim thi bao cao thuc tap tuan 1
Mai kim thi   bao cao thuc tap tuan 1Mai kim thi   bao cao thuc tap tuan 1
Mai kim thi bao cao thuc tap tuan 1Tehichan Mai
 
Báo cáo thực tập Tuần 1
Báo cáo thực tập Tuần 1Báo cáo thực tập Tuần 1
Báo cáo thực tập Tuần 1Nat Galacticos
 
Cac chuan nen ITU
Cac chuan nen ITUCac chuan nen ITU
Cac chuan nen ITUTrung Vi
 
Báo cáo thực tập tuần 1 tại athena đàm văn sáng
Báo cáo thực tập tuần 1 tại athena   đàm văn sángBáo cáo thực tập tuần 1 tại athena   đàm văn sáng
Báo cáo thực tập tuần 1 tại athena đàm văn sángĐàm Văn Sáng
 
Bao cao thuc tap mau
Bao cao thuc tap mauBao cao thuc tap mau
Bao cao thuc tap mauHuy Bach
 
Giới thiệu chung về Streaming Video.docx
Giới thiệu chung về Streaming Video.docxGiới thiệu chung về Streaming Video.docx
Giới thiệu chung về Streaming Video.docxClipHot VN
 
Báo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhungBáo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhungNhung Nguyễn
 
De-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdfDe-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdfAnhTVit1
 

Similar to Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android (20)

Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report Vietnamese
 
Vy
VyVy
Vy
 
Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1
 
Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1
 
Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...
Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...
Khoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 4đề tài nghiên c...
 
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
 
Mai kim thi bao cao thuc tap tuan 1
Mai kim thi   bao cao thuc tap tuan 1Mai kim thi   bao cao thuc tap tuan 1
Mai kim thi bao cao thuc tap tuan 1
 
Báo cáo thực tập Tuần 1
Báo cáo thực tập Tuần 1Báo cáo thực tập Tuần 1
Báo cáo thực tập Tuần 1
 
Cac chuan nen ITU
Cac chuan nen ITUCac chuan nen ITU
Cac chuan nen ITU
 
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus RtuLuận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
 
Đề tài: Cài đặt một web server đơn giản trên một board vi xử lý
Đề tài: Cài đặt một web server đơn giản trên một board vi xử lýĐề tài: Cài đặt một web server đơn giản trên một board vi xử lý
Đề tài: Cài đặt một web server đơn giản trên một board vi xử lý
 
Báo cáo thực tập tuần 1 tại athena đàm văn sáng
Báo cáo thực tập tuần 1 tại athena   đàm văn sángBáo cáo thực tập tuần 1 tại athena   đàm văn sáng
Báo cáo thực tập tuần 1 tại athena đàm văn sáng
 
Bao cao thuc tap mau
Bao cao thuc tap mauBao cao thuc tap mau
Bao cao thuc tap mau
 
Giới thiệu chung về Streaming Video.docx
Giới thiệu chung về Streaming Video.docxGiới thiệu chung về Streaming Video.docx
Giới thiệu chung về Streaming Video.docx
 
Báo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhungBáo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhung
 
De-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdfDe-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdf
 
Phan 1 sv
Phan 1   svPhan 1   sv
Phan 1 sv
 
Bao cao thuc tap vpn
Bao cao thuc tap vpnBao cao thuc tap vpn
Bao cao thuc tap vpn
 
Giải Pháp Điều Khiển Cung Cấp Tài Nguyên Cho Hệ Phân Tán Trong Máy Ảo Dựa Trê...
Giải Pháp Điều Khiển Cung Cấp Tài Nguyên Cho Hệ Phân Tán Trong Máy Ảo Dựa Trê...Giải Pháp Điều Khiển Cung Cấp Tài Nguyên Cho Hệ Phân Tán Trong Máy Ảo Dựa Trê...
Giải Pháp Điều Khiển Cung Cấp Tài Nguyên Cho Hệ Phân Tán Trong Máy Ảo Dựa Trê...
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864

Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDịch vụ viết bài trọn gói ZALO 0917193864
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864 (20)

200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc
 
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểmDanh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhấtDanh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
 
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
 
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
 
danh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhuadanh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhua
 
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay NhấtKinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
 
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểmKho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
 
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại họcKho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
 
Kho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tửKho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tử
 
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
 
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhấtKho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
 
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập KhẩuKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
 

Recently uploaded

Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...Nguyen Thanh Tu Collection
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )lamdapoet123
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 

Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android

  • 1. BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN VIẾT KHIÊM THIẾT KẾ HỆ THỐNG NHÚNG CHO ỨNG DỤNG GIẢI TRÍ THỜI GIAN THỰC TRÊN NỀN ANDROID Chuyên ngành: Kỹ thuật Điện tử Mã số: 60.52.02.03 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2015
  • 2. Công trình được hoàn thành tại ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TS. NGUYỄN VĂN CƯỜNG Phản biện 1: TS. HUỲNH VIỆT THẮNG Phản biện 2: PGS.TS. PHẠM NGỌC NAM Luận văn được bảo vệ tại Hội đồng chấm Luận văn tốt nghiệp Thạc sĩ kỹ thuật Điện tử tại Đại học Đà Nẵng vào ngày 21 tháng 6 năm 2015 * Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
  • 3. 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Ngày nay, ngành công nghiệp điện tử tiêu dùng phát triển rất mạnh mẽ, nhất là trong lĩnh vực giải trí. Với một chiếc điện thoại thông minh, hay một chiếc máy tính bảng chúng ta có thể nghe nhạc, xem phim, … Tuy nhiên, việc chúng ta xem phim liên tục trong một khoảng thời gian dài trên chiếc điện thoại có kích thước màn hình quá nhỏ sẽ gây mỏi mắt, thậm chí là mắc chứng cận thị. Ngoài ra chúng ta cũng thường xuyên có nhu cầu chia sẻ những đoạn video ý nghĩa, những bộ phim hay trên chiếc điện thoại thông minh với người thân, bạn bè. Tuy nhiên, việc nhiều người cùng xem phim trên một chiếc điện thoại có màn hình quá nhỏ là rất bất tiện. Những lúc như thế, chúng ta thường tìm cách để phát các video đó lên một màn hình lớn, ví dụ như sao chép các video sang USB rồi phát chúng trên các tivi có hỗ trợ cổng USB,... Tuy nhiên, việc này rất bất tiện. Giả sử có một hệ thống cho phép chúng ta xem trực tiếp các đoạn video, các bộ phim này trên một màn hình lớn mà không cần phải tìm cách chép chúng qua thiết một bị khác thì thật tuyệt. Nhận thấy tầm quan trọng của vấn đề này nên tôi quyết định chọn đề tài: “Thiết kế hệ thống nhúng cho ứng dụng giải trí thời gian thực trên nền Android”. 2. Mục tiêu nghiên cứu Trên cơ sở nghiên cứu giao thức truyền dữ liệu thời gian thực và các chuẩn mã hóa, nén video số, đặc biệt tập trung vào chuẩn nén video số H.264/AVC, luận văn tiến hành thiết kế và xây dựng thử nghiệm một hệ thống nhúng cho phép nhận và phát lại luồng bit
  • 4. 2 video được truyền từ thiết bị Android thông qua mạng internet. Ngoài ra luận văn cũng xây dựng một ứng dụng Android thực hiện việc phát luồng bit video đến hệ thống nhúng. Hệ thống nhúng được xây dựng trên cơ sở sử dụng bo mạch Raspberry Pi mode B, chạy hệ điều hành Linux. 3. Đối tượng và phạm vi nghiên cứu - Nghiên cứu về hệ thống nhúng, hệ điều hành Linux cho hệ thống nhúng. - Nghiên cứu các giao thức truyền dữ liệu thời gian thực: RTP, RTCP. - Nghiên cứu chuẩn nén video số H.264/AVC. - Tìm hiểu phần cứng của bo mạch Raspberry Pi mode B. - Lập trình C, C++ trên Linux. - Nghiên cứu về hệ điều hành Android, lập trình ứng dụng trên Android. 4. Phương pháp nghiên cứu Kết hợp nghiên cứu lý thuyết và xây dựng hệ thống nhúng thực nghiệm, viết ứng dụng Android chạy trên thiết bị di động Android. Các bước tiến hành cụ thể như sau: - Thu thập, phân tích các tài liệu và thông tin liên quan đến đề tài. - Biên dịch, cài đặt hệ điều hành Linux trên bo mạch Raspberry Pi mode B. - Biên dịch thư viện gstreamer, viết chương trình chạy trên bo mạch Raspberry Pi mode B cho phép nhận và phát lại luồng bit video.
  • 5. 3 - Cài đặt thư viện gstreamer cho Android, viết ứng dụng Android chạy trên thiết bị Android cho phép phát luồng bit video tới hệ thống nhúng. - Chạy thử nghiệm hệ thống và đánh giá kết quả, so sánh hệ thống với các hệ thống có cùng tính năng. 5. Bố cục đề tài Luận văn gồm các phần chính sau đây: Chương 1. GIỚI THIỆU MỘT SỐ VẤN ĐỀ LIÊN QUAN ĐẾN HỆ THỐNG NHÚNG. Chương 2. GIAO THỨC TRUYỀN DỮ LIỆU THỜI GIAN THỰC VÀ CHUẨN NÉN VIDEO SỐ H.264/AVC. Chương 3. XÂY DỰNG ỨNG DỤNG GIẢI TRÍ THỜI GIAN THỰC TRÊN HỆ THỐNG NHÚNG. Chương 4. XÂY DỰNG ỨNG DỤNG ANDROID, CHẠY THỬ NGHIỆM HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ. 6. Tổng quan tài liệu nghiên cứu Tài liệu nghiên cứu được tham khảo là những bài báo, các luận văn thạc sỹ từ các trường đại học của các quốc gia khác trên thế giới, cùng với các trang web tìm hiểu. CHƯƠNG 1 GIỚI THIỆU MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN HỆ THỐNG NHÚNG 1.1. GIỚI THIỆU CHƯƠNG Nội dung của chương này sẽ trình bày khái quát các khái niệm về hệ thống nhúng; khái niệm về hệ thống thời gian thực, hệ điều hành Linux trên hệ thống nhúng, hệ điều hành Android. Ngoài ra,
  • 6. 4 chương này cũng giới thiệu về bo mạch Raspberry Pi mode B, đây là phần cứng được sử dụng để xây dựng hệ thống nhúng thực nghiệm. 1.2. TỔNG QUAN VỀ HỆ THỐNG NHÚNG 1.2.1. Hệ thống nhúng là gì? Một số định nghĩa thường gặp về hệ thống nhúng: - Hệ thống nhúng là một hệ thống chuyên dụng, thường có khả năng tự hành và được thiết kế tích hợp vào một hệ thống lớn hơn để thực hiện một chức năng chuyên biệt nào đó. Khác với các máy tính đa chức năng, một hệ thống nhúng thường chỉ thực hiện một hoặc một vài chức năng nhất định. - Một hệ thống nhúng là một hệ thống máy tính cơ bản, được xây dựng để thực hiện một hoặc một vài chức năng chuyên biệt và nó không được thiết kế để có thể lập trình lại bởi người sử dụng giống như các máy tính cá nhân có thể làm. Với hệ thống nhúng, người sủ dụng có thể lựa chọn các chức năng nhưng không thể thay đổi các chức năng của hệ thống bằng việc cài đặt thêm hoặc thay thế các chương trình phần mềm. 1.2.2. Các đặc điểm của hệ thống nhúng 1.2.3. Các thành phần cơ bản của một hệ thống nhúng 1.3. HỆ THỐNG THỜI GIAN THỰC 1.3.1. Hệ thống thời gian thực là gì? 1.3.2. Phân loại hệ thống thời gian thực 1.3.3. Hệ điều hành thời gian thực 1.4. HỆ ĐIỀU HÀNH LINUX CHO HỆ THỐNG NHÚNG 1.4.1. Hệ điều hành Linux 1.4.2. Hệ điều hành Linux trên hệ thống nhúng 1.5. HỆ ĐIỀU HÀNH ANDROID
  • 7. 5 1.6. BO MẠCH RASPBERRY PI MODE B 1.7. SƠ ĐỒ KHỐI HỆ THỐNG GIẢI TRÍ THỜI GIAN THỰC 1.8. KẾT LUẬN CHƯƠNG Nội dung của chương 1 đã trình bày khái quát các khái niệm liên quan đến hệ thống nhúng, hệ thống thời gian thực, hệ điều hành Linux cho hệ thống nhúng, hệ điều hành Android. Tiếp theo, chương 2 sẽ trình bày cụ thể về kỹ thuật mã hóa video H.264 và kỹ thuật truyền dữ liệu thời gian thực sử dụng giao thức RTP. CHƯƠNG 2 GIAO THỨC TRUYỀN DỮ LIỆU THỜI GIAN THỰC VÀ CHUẨN NÉN VIDEO SỐ H.264/AVC 2.1. GIỚI THIỆU CHƯƠNG Hiện nay việc xem trực tiếp các video qua mạng internet là rất phổ biến. Tuy nhiên, do nhu cầu của người xem muốn xem được hình ảnh có chất lượng cao nên các video tạo ra có độ phân giải ngày càng cao, kèm theo đó là dung lượng của nó cũng ngày càng lớn. Việc truyền dẫn các video có độ phân giải cao ở thời gian thực qua mạng internet gặp rất nhiều khó khăn. Chúng ta có thể giải quyết vấn đề này bằng cách tăng tốc độ đường truyền hoặc tìm các giải pháp để giảm dung lượng các video cần truyền. Tuy nhiên, chúng ta biết rằng tần số là một tài nguyên có hạn, nên việc tiếp tục mở rộng băng thông để tăng tốc độ truyền dẫn là không thể. Vì vậy chúng ta cần tìm các kỹ thuật truyền dẫn tối ưu để sử dụng hiệu quả tài nguyên, đồng thời phải nghiên cứu các phương pháp nén, mã hóa video tiên tiến để giảm dung lượng các video cần truyền nhưng vẫn đảm bảo chất lượng.
  • 8. 6 Nội dung chương này sẽ trình bày cụ thể về giao thức truyền dữ liệu thời gian thực RTP và kỹ thuật mã hóa video số H.264/AVC. 2.2. GIAO THỨC TRUYỀN DỮ LIỆU THỜI GIAN THỰC 2.2.1. Giao thức RTP RTP là một giao thức chuẩn, cung cấp các chức năng truyền tải dữ liệu đầu cuối đến đầu cuối, phù hợp cho những ứng dụng truyền dữ liệu thời gian thực thông qua dịch vụ multicast hoặc unicast. Cấu trúc gói dữ liệu của giao thức RTP được trình bày trong hình 2.1. Hình 2.1. Cấu trúc gói của giao thức RTP a) Header của gói RTP
  • 9. 7 Header của gói RTP có kích thước tối thiểu 12 byte, gồm header cố định và header mở rộng (nếu có). Hình 2.2. mô tả cấu trúc header cố định của gói RTP. Hình 2.2. Cấu trúc header của gói RTP Các trường trong header của gói RTP bao gồm: - Version (V) : 2 bits. Trường này xác định phiên bản của RTP. - Padding (P) : 1 bit. Nếu trường padding được thiếp lập lên 1, thì gói RTP sẽ được cộng thêm các bytes dữ liệu đệm ở cuối. - Extension (X) : 1 bit. Khi X được thiết lập lên 1, thì sau phần header cố định của RTP và trước phần tải trọng sẽ có một header mở rộng với định dạng riêng. - CSRC count (CC): 4 bits. Trường CSRC count chứa số lượng CSRC theo sau header.
  • 10. 8 - Marker (M): 1 bit. Tùy từng trường hợp cụ thể mà bit này mang những ý nghĩa khác nhau. - Payload type (PT): 7 bits. Chỉ định loại audio hoặc video nào được truyền đi trong các gói RTP. Các ứng dụng bên nhận kiểm tra trường này để quyết định cách thức xử lý dữ liệu. - Sequence number: 16 bits. Là số không dấu 16 bit dùng để mang số thứ tự của gói RTP. - Timestamp: 32 bit. Timestamp phản ánh thời điểm lấy mẫu của octets đầu tiên trong gói RTP. - SSRC: 32 bit. SSRC chỉ ra nguồn đồng bộ của gói RTP, số này được chọn một cách ngẫu nhiên. - CSRC: 32 bit. Trong trường hợp thông thường, các gói RTP được tạo ra chỉ bởi một nguồn duy nhất, nhưng khi có nhiều luồng RTP đi qua bộ trộn, các dữ liệu từ nhiều nguồn này có thể được góp vào một gói RTP. Trong danh sách CSRC chứa thông tin của các bên tham gia có dữ liệu nằm trong gói RTP. b) Ghép kênh RTP c) Header mở rộng của gói RTP 2.2.2. Giao thức RTCP Giao thức RTCP dựa trên việc truyền đều đặn các gói điều khiển tới tất cả các bên tham gia vào phiên truyền. Nó sử dụng cơ chế phân phối gói dữ liệu trong mạng giống như giao thức RTP, tức là cũng sử dụng các dịch vụ của giao thức UDP qua một cổng UDP độc lập với việc truyền các gói RTP. Các giao thức cơ bản phải cung cấp cơ chế ghép kênh giữa các gói dữ liệu và gói điều khiển. RTCP thực hiện các chức năng sau:
  • 11. 9 - Chức năng chính là cung cấp các phản hồi về chất lượng của quá trình phân phối dữ liệu. - RTCP mang theo một đinh danh ở lớp giao vận cho nguồn RTP được gọi là CNAME. Vì các định danh SSRC có thể thay đổi nếu có xung đột hoặc có một chương trình bị khởi động lại nên bên nhận cần có CNAME để lưu giữ dấu vết của mỗi thành phần tham gia. Bên nhận cũng cần CNAME để kết hợp các phiên RTP có liên hệ với nhau, ví dụ như để đồng bộ âm thanh với hình ảnh. - Hai chức năng trên yêu cầu các thành phần tham gia phải gửi các gói RTCP, do đó tốc độ phải được kiểm soát để RTP có thể phục vụ cho một số lượng lớn các thành phần tham gia. - Chức năng thứ tư là truyền tối thiểu các thông tin kiểm soát phiên làm việc. a) Cấu trúc gói RTCP b) Các gói RTCP của bên gửi và bên nhận  Gói RTCP thông báo bên gửi Gói RTCP thông báo bên gửi gồm ba phần: Phần thứ nhất: Phần header, bao gồm các trường sau: - Version (V): 2 bits. Thể hiện phiên bản của RTP, tương tự như gói RTP. - Padding (P): 1 bit. - reception report count (RC): 5 bits. Trường này được sử dụng để chỉ số lượng các khối thông báo nhận được chứa trong gói. - packet type (PT): 8 bits. Mang giá trị 200 để xác định gói này là gói RTCP kiểu SR
  • 12. 10 - length: 16 bits. Độ dài tính theo word 32 bit của gói RTCP trừ đi một, bao gồm cả phần header và phần padding. - SSRC: 32 bits. Định danh của nguồn đồng bộ của nơi gửi gói RTCP này. Phần thứ hai: Dài 20 octet là phần thông tin bên gửi. Gồm các trường sau: - NTP timestamp: 64 bits. Chỉ thời điểm gói tin này được gửi đi. - RTP timestamp: 32 bits. Tương tự như NTP timestamp nhưng chỉ cùng đơn vị và cùng một độ dời với RTP timestamp trong gói dữ liệu. - sender's octet count: 32 bits. Tổng số octet của tải trọng (không bao gồm header và phần padding) đã truyền trong gói dữ liệu RTP bởi bên gửi, kể từ khi bắt đầu truyền cho đến thời điểm gói tin này được tạo. Phần thứ ba: Chứa giá trị 0 hoặc các khối thông báo nhận phụ thuộc vào số lượng nguồn khác mà bên gửi nghe được từ thông báo cuối.  Gói RTCP thông báo bên nhận Cấu trúc gói thông báo bên nhận giống như cấu trúc của gói thông báo gửi, ngoại trừ trường PT mang giá trị 201 và không có phần thông tin bên gửi. 2.3. CHUẨN NÉN VIDEO SỐ H.264/AVC 2.3.1. Giới thiệu chung về H.264/AVC 2.3.2. Kỹ thuật nén video số H.264/AVC a) Mã hóa video H.264/AVC Sơ đồ khối bộ mã hóa video số H.264/AVC được mô tả trong hình 2.9.
  • 13. 11 Hình 2.9. Sơ đồ khối bộ mã hóa video H.264/AVC b) Giải mã video số H.264/AVC Sơ đồ khối của bộ giải mã video H.264/AVC được mô tả trong hình 2.10 Hình 2.10. Sơ đồ khối bộ giải mã video H.264/AVC c) Nén theo thời gian d) Nén theo không gian
  • 14. 12 2.4. ĐÓNG GÓI H.264/AVC VÀO TẢI TRỌNG GÓI RTP Các luồng bit sau khi được mã hóa bởi bộ mã hóa H.264/AVC sẽ được đóng gói thành các đơn vị NAL. Tiếp đến các NAL này sẽ được đóng gói vào tải trọng của RTP. Có 3 loại cấu trúc tải trọng khác nhau.  Gói đơn vị NAL đơn: Chỉ chứa một đơn vị NAL duy nhất trong tải trọng. Cấu trúc của gói đơn vị NAL đơn được mô tả trong hình 2.11. Hình 2.11. Cấu trúc tải trọng kiểu gói đơn vị NAL đơn  Gói kết hợp: Là kiểu gói được sử dụng để kết hợp nhiều đơn vị NAL bên trong một tải trọng gói RTP. Cấu trúc gói kết hợp được mô tả trong hình 2.12. Hình 2.12. Cấu trúc tải trọng kiểu gói kết hợp
  • 15. 13 Gói kết hợp có 4 phiên bản, bao gồm: - Gói kết hợp một lần kiểu A (STAP-A). - Gói kết hợp một lần kiểu B (STAP-B). - Gói kết hợp nhiều lần 16bit (MTAP16). - Gói kết hợp nhiều lần 24bit (MTAP24).  Gói đơn vị phân mảnh Được sử dụng để phân phân chia một đơn vị NAL đơn trên nhiều gói RTP. Bao gồm hai phiên bản là: FU-A và FU-B. Cấu trúc của khuôn dạng tải trọng RTP Đơn vị phân mảnh được mô tả trong hình 2.13. Hình 2.13. Cấu trúc tải trọng kiểu gói đơn vị phân mảnh 2.5. KẾT LUẬN CHƯƠNG Nội dung của chương 2 đã mô tả cụ thể về chuẩn nén video số H.264/AVC, giao thức truyền dữ liệu thời gian thực RTP, và quá trình đóng gói dữ liệu H.264/AVC vào gói RTP.
  • 16. 14 CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG GIẢI TRÍ THỜI GIAN THỰC TRÊN HỆ THỐNG NHÚNG 3.1. GIỚI THIỆU CHƯƠNG Chương này sẽ trình bày quá trình xây dựng ứng dụng giải trí thời gian thực trên bo mạch Raspberry Pi mode B, dựa trên những lý thuyết về giao RTP và kỹ thuật nén video số H.264/AVC được trình bày ở chương 2. 3.2. XÂY DỰNG HỆ THỐNG NHÚNG TRÊN BO MẠCH RASPBERRY PI MODE B 3.2.1. Tạo môi trường làm việc 3.2.2. Cấu hình buildroot 3.2.3. Biên dịch buildroot 3.2.4. Khởi động bo mạch Raspberry Pi mode B Quá trình khởi động bo mạch Raspberry Pi diển ra như sau: Khi bo mạch được cấp nguồn, nhân GPU trên BCM2835 được bật. GPU chuyển con trỏ lệnh đến thực thi tầng bootloader thứ nhất được lưu trên ROM của BCM2835. Tầng boot loader thứ nhất đọc tầng bootloader thứ hai (bootcode.bin) từ thẻ nhớ rồi nạp vào bộ nhớ cache L2 và thực thi nó. Tầng bootloader thứ hai thực thi các lệnh để khởi động SDRAM và đọc tầng bootloader thứ ba (loader.bin) trên thẻ nhớ rồi nạp vào SDRAM và thực thi nó. Tầng bootloader thứ ba đọc firmware của GPU (start.elf) trên thẻ nhớ rồi nạp vào SDRAM và thực thi nó.
  • 17. 15 Firmware của GPU đọc file config.txt để thiết lập các cấu hình cần thiết, sau đó đọc kernel từ thẻ nhớ rồi nạp vào SDRAM và tiếp tục khởi động nhân ARM để bắt đầu quá trình khởi động từ kernel. 3.3. XÂY DỰNG ỨNG DỤNG GIẢI TRÍ THỜI GIAN THỰC TRÊN HỆ THỐNG NHÚNG 3.3.1. Tổng quan thư viện gstreamer 3.3.2. Biên dịch thư viện gstreamer 3.3.3. Thiết kế và xây dựng ứng dụng Ứng dụng gồm hai phần: Phần xử lý audio và phần xử lý video Phần xử lý video được xây dựng theo kiểu đường ống xử lý được mô tả trong hình 3.4, gồm các thành phần xử lý sau: - udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin UDP để nhận được các gói RTP và RTCP. - rtpbin: Xử lý, loại bỏ jitter, sắp xếp các gói tin RTP nhận được; nhận, xử lý và phát gói tin RTCP. - h264depay: Xử lý, tách các gói NAL từ gói RTP, sau đó tách các luồng video H.264 từ các gói NAL này. - h264dec: Giải mã luồng video H.264. - autovideosink: Phát lại video sau khi được giải mã. - udpsink: Đóng gói các gói RTCP vào các gói UDP và gửi đi. Hình 3.4. Cấu trúc phần xử lý video bên thu dạng đường ống
  • 18. 16 Phần xử lý audio dưới dạng đường ống xử lý được mô tả trong hình 3.5, bao gồm các thành phần xử lý sau: - udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin UDP để nhận được các gói RTP và RTCP. - rtpbin: Xử lý, loại bỏ jitter, sắp xếp các gói tin RTP nhận được; nhận, xử lý và phát gói tin RTCP. - rtpL24depay: Xử lý, tách các luồng audio LPCM 24 bit từ các gói RTP. - audioconvert: Biến đổi audio LPCM 24 bit sang định dạng phù hợp. - alsasink: Phát lại audio sau khi đượcbiến đổi. - udpsink: Đóng gói các gói RTCP vào các gói UDP và gửi đi. Hình 3.5. Cấu trúc phần xử lý audio bên thu dạng đường ống 3.3.4. Chương trình ứng dụng 3.1. KẾT LUẬN CHƯƠNG Nội dung của chương 3 đã trình bày các bước thiết kế và xây dựng một chương trình ứng dụng giải trí thời gian thực trên bo mạch Raspberry Pi, dựa trên thư viện gstreamer.
  • 19. 17 CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG ANDROID, CHẠY THỬ NGHIỆM HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ 4.1. GIỚI THIỆU CHƯƠNG Nội dung chương 3 đã trình bày quá trình thiết kế và xây dựng chương trình ứng dụng chạy trên bo mạch Raspberry Pi, cho phép nhận và phát lại luồng bit video H.264/AVC. Chương này sẽ trình bày quá trình thiết kế và xây dựng chương trình ứng dụng chạy trên thiết bị Android, thực hiện việc đọc file video H.264/AVC được lưu trữ trên thiết bị Android và gửi tới bo mạch Raspberry Pi mode B thông qua mạng internet. 4.2. XÂY DỰNG ỨNG DỤNG PHÁT LUỒNG BIT VIDEO TRÊN THIẾT BỊ ANDROID 4.2.1. Cài đặt gstreamer SDK cho Android 4.2.2. Xây dựng ứng dụng phát luồng bit video trên thiết bị Android Ứng dụng gồm hai phần: Phần xử lý audio và phần xử lý video. Phần xử lý video được xây dựng theo kiểu đường ống xử lý dựa trên các plug-in được mô tả trong hình 4.1, gồm các thành phần xử lý sau: - filesrc: Đọc file video H.264 được lưu trên thiết bị lưu trữ. - qtdemux: Tách riêng thành phần video trong các gói dữ liệu được cung cấp bởi filesrc. - rtph264pay: Xử lý, đóng gói luồng video H.264 vào các gói NAL, sau đó đóng gói các NAL vào các gói RTP.
  • 20. 18 Hình 4.1. Cấu trúc phần xử lý video bên phát dạng đường ống - rtpbin: Sắp xếp các gói tin RTP được cung cấp bởi rtph264pay; nhận, xử lý và phát gói tin RTCP. - udpsink: Đóng gói các gói RTP và RTCP vào các gói UDP sau đó gửi đi. - udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin UDP để nhận được các gói RTCP. Phần xử lý audio dưới dạng đường ống xử lý được mô tả trong hình 4.2, gồm các thành phần xử lý sau: - filesrc: Đọc file video H.264 được lưu trên thiết bị lưu trữ. - qtdemux: Tách riêng thành phần audio trong các gói dữ liệu được cung cấp bởi filesrc. - decodebin: Giải mã luồng audio. - audioconvert: Chuyển đổi luồng audio sang dạng phù hợp. audio/x-raw: Xử lý audio để đưa về dạng raw.
  • 21. 19 Hình 4.2. Cấu trúc phần xử lý audio bên phát dạng đường ống - rtpL24pay: Xử lý, đóng gói luồng audio vào các gói NAL, sau đó đóng gói các NAL vào các gói RTP. - rtpbin: Sắp xếp các gói tin RTP được cung cấp bởi rtpL24pay; nhận, xử lý và phát gói tin RTCP. - udpsink: Đóng gói các gói RTP và RTCP vào các gói UDP sau đó gửi đi. - udpsrc: Nhận các gói tin UDP từ mạng, xử lý các gói tin UDP để nhận được các gói RTCP. 4.2.3. Chương trình ứng dụng 4.3. CHẠY THỬ NGHIỆM HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ 4.3.1. Chạy thử nghiệm hệ thống Gắn thẻ nhớ sd vào khe cắm thẻ nhớ trên bo mạch Raspberry Pi mode B; kết nối bo mạch vào màn hình; kết nối dây mạng internet vào cổng RJ45; cấp nguồn để bo mạch khởi động. Kết nối bộ chuyển đổi USB sang TTL vào các chân GPIO ở hàng ngoài cùng của bo mạch như trong hình 4.3.
  • 22. 20 Gắn đầu còn lại của bộ chuyển đổi USB sang TTL vào máy tính, mở chương trình Terminal trên máy tính và gõ lệnh: sudo minicom, sau đó gõ lệnh: ifconfig để xem địa chỉ IP của bo mạch. Để chạy chương trình ứng dụng, chúng ta vào thư mục chứa file thực thi của chương trình ứng dụng và gõ lệnh: ./runDemo. Hình 4.3. Sơ đồ kết nối bộ chuyển đổi USB sang TTL  Trên thiết bị Android: Cài đặt chương trình ứng dụng được biên dịch trên thiết bị Android. Chạy chương trình ứng dụng ta được giao diện chương trình như mô tả trong hình 4.4. Giao diện của chương trình có các phần sau: - Ô “Input the ip address” là nơi nhập địa chỉ ip của bo mạch. - Ô “Input the video path” là nơi nhập đường dẫn đến file video. - Nút “Run” để thông báo cho chương trình đọc địa chỉ ip của bo mạch Raspberry Pi mode B và đường dẫn của file video.
  • 23. 21 - Nút “Play” để thông báo cho chương trình bắt đầu phát luồng video. - Nút “Pause” để thông báo cho chương trình dừng việc phát luồng video. Hình 4.4. Giao diện chương trình ứng dụng Android Có thể nhập trực tiếp đường dẫn của file video vào ô “Input the video path”, hoặc có thể sử dụng tiện ích duyệt file bằng cách chạm 2 lần vào ô đó, nó cho phép chúng ta tìm đến file cần phát, và chọn file đó. Sau khi nhập địa chỉ ip và đường dẫn của file video, nhấn nút “Run” để hoàn thành quá trình chuẩn bị. Tiếp theo nhấn nút “Play” để bắt đầu quá trình phát video. Luồng bit video sẽ được phát lại trên màn hình gắn với bo mạch Raspberry Pi mode B.
  • 24. 22 4.3.2. Nhận xét, đánh giá kết quả Hệ thống đã hoạt động theo đúng mục tiêu của đề tài đặt ra là xây dựng một ứng dụng phát, nhận và phát lại các file video H.264/AVC, giữa thiết bị Android và bo mạch Raspberry Pi mode B thông qua mạng internet ở chế độ thời gian thực. Hệ thống có thể hoạt động ổn định và cho hình ảnh mượt, không bị nhòe, mất hình, âm thanh rõ ràng với các file video có độ phân giải 720p.  Những hạn chế của hệ thống Mục tiêu đặt ra ban đầu là có thể cài đặt và sử dụng USB WiFi trên bo mạch Raspberry Pi mode B, để nó hoạt động như một bộ định tuyến WiFi, cho phép thiết bị Android kết nối trực tiếp với bo mạch mà không cần sử dụng bộ định tuyến WiFi. Tuy nhiên do có khăn trong việc cài đặt các driver trên bo mạch nên không thể thực hiện được. Giao diện của chương trình ứng dụng trên thiết bị Android còn đơn giản. Hệ thống hoạt động không ổn định và hình ảnh bị nhòe, mất hình khi phát các file video có độ phân giải 1080p.  So sánh với các hệ thống có cùng tính năng Hiện nay, trên thị trường có khá nhiều thiết bị giải trí cho phép người dùng xem trực tiếp các file video, hình ảnh được lưu trữ trên các thiết bị khác dưới dạng stream thông qua mạng internet như: Amazon Fire TV, Google Chromecast, Apple TV, M8S, ... So với các thiết bị này thì hệ thống của chúng ta có một số hạn chế như sau: - Với mục đích nghiên cứu nên hệ thống được xây dựng chỉ với duy nhất một tính năng đó là xem các file video dưới
  • 25. 23 dạng stream, không giống như các thiết bị có đầy đủ các tính năng giải trí khác như: Xem video, nghe nhạc, karaoke, ... - Hệ thống không thể cho chất lượng hình ảnh tốt với các file video có độ phân giải cao. Tuy nhiên, so với cấu hình phần cứng của các thiết bị chạy hệ điều hành Android 4.4.2 (chíp lõi kép, RAM 1GB), thì hệ thống chúng ta xây dựng có cấu hình phần cứng khá thấp. Do đó chi phí xây dựng hệ thống cũng thấp hơn. 4.4. KẾT LUẬN CHƯƠNG Nội dung chương 4 đã trình bày quá trình thiết kế và xây dựng ứng dụng phát luồng bit video trên thiết bị Android, ứng dụng được xây dựng dựa trên thư viện gstreamer. Ngoài ra nội dung của chương cũng trình bày quá trình chạy thử nghiệm hệ thống giải trí thời gian thực trên bo mạch Raspberry Pi mode B.
  • 26. 24 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Luận văn đã trình bày những nội dung lý thuyết liên quan cũng như quá trình thiết kế và xây dựng hệ thống nhúng cho ứng dụng giải trí thời gian thực trên nền Android. Hệ thống được xây dựng dựa trên bo mạch Raspberry Pi mode B, kết hợp viết chương trình ứng dụng chạy trên thiết bị Android, thực hiện quá trình phát, nhận và phát lại video H.264/AVC ở thời gian thực. Luận văn cung cấp những lý thuyết cơ bản về hệ thống nhúng, hệ thống thời gian thực, hệ điều hành Linux trên hệ thống nhúng; đồng thời cũng đi sâu phân tích chuẩn nén video số H.264/AVC và giao thức truyền dữ liệu thời gian thực. Hệ thống nhúng thực nghiệm hoạt động ổn định, cho chất lượng hình ảnh và âm thanh tốt. Tuy nhiên, do thời gian có hạn nên việc nghiên cứu lý thuyết cũng như việc xây dựng hệ thống thực nghiệm còn một số hạn chế như: Chưa nghiên cứu, tính toán được độ trễ của quá trình truyền nhận luồng bit video. Hệ thống chỉ hoạt động tốt với những video có độ phân giải không quá 720p. Chưa tích hợp thành công usb WiFi, cho phép bo mạch Raspberry Pi mode B hoạt động như một bộ định tuyến WiFi để có thể cung cấp kết nối trực tiếp đến thiết bị Android. Do đó, hướng phát triển tiếp theo của đề tài là nghiên cứu chuẩn nén video số H.265 để ứng dụng vào hệ thống, giúp cho hệ thống có thể hoạt động tốt với những file video H.265, những file video loại này độ phân giải cao trên 1080p nhưng có dung lượng thấp. Tích hợp thư viện giải trí XBMC vào hệ thống để tăng tính năng của hệ thống như nghe nhạc, xem phim, ... Phát triển hệ thống thành những hệ thống quảng cáo thông minh.