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

Wanotube – nền tảng chia sẻ video trực tuyến (khóa luận tốt nghiệp)

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

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN ĐẮC THIÊN NGÂN
TĂNG KHÁNH CHƯƠNG

KHÓA LUẬN TỐT NGHIỆP

WANOTUBE – NỀN TẢNG CHIA SẺ
VIDEO TRỰC TUYẾN
Wanotube – Online sharing video platform

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2022


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN ĐẮC THIÊN NGÂN - 18520109
TĂNG KHÁNH CHƯƠNG - 18520010

KHÓA LUẬN TỐT NGHIỆP

WANOTUBE – NỀN TẢNG CHIA SẺ
VIDEO TRỰC TUYẾN


Wanotube – Online sharing video platform

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
Th.S TRẦN ANH DŨNG
T.S NGUYỄN ĐÌNH HIỂN

TP. HỒ CHÍ MINH, 2022


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
…………………… ngày ………………….. của Hiệu trưởng Trường Đại học Công
nghệ Thông tin.


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2022

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP

(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
Wanotube – Nền tảng chia sẻ video trực tuyến
Nhóm sinh viên thực hiện:

Cán bộ hướng dẫn:

Nguyễn

ThS. Trần Anh Dũng

Đắc

Thiên 18520109

Ngân
Tăng Khánh Chương

TS. Nguyễn Đình Hiển
18520010

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang

138

Số chương

5


Số bảng số liệu

48

Số hình vẽ

94

Số tài liệu tham khảo

20

Sản phẩm

2

Một số nhận xét về hình thức cuốn báo cáo:
2. Về nội dung nghiên cứu:



3. Về chương trình ứng dụng:


4. Về thái độ làm việc của sinh viên:





Đánh giá chung:
Điểm từng sinh viên:
Nguyễn Đắc Thiên Ngân: ………../10
Tăng Khánh Chương:………../10

Người nhận xét
(Ký và ghi rõ họ tên)

Trần Anh Dũng


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập – Tự Do – Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2022
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
Wanotube – Nền tảng chia sẻ video trực tuyến
Nhóm sinh viên thực hiện:

Cán bộ phản biện:

Nguyễn Đắc Thiên Ngân


18520109

Tăng Khánh Chương

18520010

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang

138

Số chương

5

Số bảng số liệu

48

Số hình vẽ

94

Số tài liệu tham khảo

20

Sản phẩm


2

Một số nhận xét về hình thức cuốn báo cáo:
5. Về nội dung nghiên cứu:


6. Về chương trình ứng dụng:


7. Về thái độ làm việc của sinh viên:


Đánh giá chung:


Điểm từng sinh viên:
Nguyễn Đắc Thiên Ngân: ………../10
Tăng Khánh Chương:………../10

Người nhận xét
(Ký và ghi rõ họ tên)


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC


Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: WanoTube - Nền tảng chia sẻ video trực tuyến
TÊN ĐỀ TÀI (TIẾNG ANH): WanoTube - Online video sharing platform
Cán bộ hướng dẫn:
ThS. Trần Anh Dũng
TS. Nguyễn Đình Hiển
Thời gian thực hiện: Từ ngày 7/2/2022 đến ngày 11/6/2022
Sinh viên thực hiện:
Nguyễn Đắc Thiên Ngân – 18520109
Tăng Khánh Chương – 18520010
Nội dung đề tài
1. Mục tiêu của đề tài
1.1. Bối cảnh chọn đề tài
Trong những năm gần đây, mạng xã hội đã khơng cịn là một khái niệm xa
lạ với bất kể người già hay trẻ, người bận rộn hay người nhàn rỗi. Khi người
sử dụng điện thoại càng gia tăng, nhiều ứng dụng giải trí trên điện thoại
cũng ngày được ra mắt rộng rãi. Việc giải trí như xem video đang dần là một
thói quen khơng thể thiếu của giới trẻ, hay bất kể ai thích cầm điện thoại lướt
mạng xã hội. Video đang chiếm phần lớn nội dung mà chúng ta có thể tìm
thấy trên mạng xã hội. Hơn nữa, với tốc độ gia tăng này, nhu cầu có thể sẽ
tăng hơn nữa.
Ai cũng có có thể sáng tạo video với những sự hỗ trợ tiện ích của các ứng
dụng chỉnh sửa video. Nhưng việc cho phép bất kỳ ai đăng tải video lên
mạng xã hội, vấn đề vi phạm bản quyền âm nhạc ngày một nghiêm trọng.
Do đó em đã lựa chọn đề tài này để hướng đến việc giải quyết vấn đề này.



Ngồi ra, để tăng thêm tính cạnh tranh so với các nền tảng chia sẻ video trên
thị trường, đề tài sẽ hỗ trợ người dùng sử dụng trên cả website và ứng dụng
điện thoại Android. Trên ứng dụng sẽ tích hợp thêm AR Filter như những bộ
lọc thay đổi màu sắc khơng gian trong khung hình hay làm xuất hiện những
con vật, nhân vật, hình ảnh, biểu tượng,... khi quay các video.

1.2. Mục đích của đề tài


Nghiên cứu thuật tốn Audio Fingerprinting cũng như công nghệ liên
quan đến nhận diện âm thanh một cách tối ưu để áp dụng trong công việc
xét bản quyền nhạc của các sản phẩm video được đăng tải.



Nghiên cứu nguyên tắc hoạt động của Augmented Reality (thực tế tăng
cường) và áp dụng vào tính năng AR Filter giúp quay video thú vị hơn.



Xây dựng và phát triển ứng dụng và web có tính thực tiễn cao giúp thỏa
mãn những người có nhu cầu chia sẻ video.

1.3. Ý nghĩa của đề tài
Về ý nghĩa đối với người dùng:


Giúp việc đăng tải, chia sẻ video trở nên dễ dàng hơn.




Giúp hạn chế việc sáng tạo nội dung video khi chưa có sự cho phép sử
dụng bản quyền âm nhạc.



Giúp người dùng sáng tạo ra những video thú vị.

Về ý nghĩa đối với cá nhân nhóm em:


Đề tài này tạo động lực giúp em tìm hiểu và trau dồi những kiến thức mới
liên quan đến nhận diện âm thanh cũng như thực tế tăng cường và ứng
dụng kiến thức được học vào việc xây dựng một trang web chia sẻ video.



Việc xây dựng ứng dụng với các công nghệ VueJS, NodeJS, Android
giúp tích lũy thêm kinh nghiệm trong công việc sau này của em.


1.4. Nhiệm vụ của đề tài
Website và ứng dụng điện thoại chia sẻ video trực tuyến WanoTube:


Đăng tải video không giới hạn thời gian (Có kiểm duyệt nhạc
trong video)




Quay, chỉnh sửa, đăng tải video giới hạn 15s.



Tương tác: Thích / Khơng thích, Bình luận, Chia sẻ



Quản lý video



Tìm kiếm video



Đăng ký / Đăng nhập / Đăng xuất



Chỉnh sửa thông tin cá nhân

2. Phạm vi nghiên cứu
Website WanoTube được xây dựng với:




Front-end:



Website: VueJS



App: Kotlin (Android)

Back-end: NodeJS

Tìm hiểu về các thuật tốn công nghệ nhận diện âm thanh và ứng dụng vào
việc xét bản quyền âm nhạc trong video.
Tìm hiểu về AR (Tăng cường thực tế) và ứng dụng vào tính năng quay
video tích hợp các filter (bộ lọc) thú vị.
3. Đối tượng nghiên cứu


Các công nghệ xây dựng trang web:


VueJS



Android



NodeJS




MongoDB






Công nghệ nhận diện âm thanh:
o

Phương pháp fingerprint phân tách âm thanh.

o

Thư viện ACRCloud hỗ trợ việc nhận diện âm thanh.

Công nghệ tương tác thực tế ảo:
o



Công nghệ ARCore Augmented Faces.

Đối tượng người dùng:


Người sáng tạo nội dung




Người thưởng thức nội dung

4. Phương pháp nghiên cứu
Nhóm đã sử dụng các phương pháp nghiên cứu:
-

Phương pháp đọc tài liệu

-

Phương pháp phân tích các ứng dụng chia sẻ video hiện có

-

Phương pháp thực nghiệm

5. Kết quả dự kiến
Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, nhóm đã xây dựng
ý tưởng thiết kế ứng dụng thương mại điện tử cần đạt được những mục tiêu sau:
5.1. Đối với người dùng


Người dùng có thể tìm kiếm và xem video mà không cần tài khoản đăng
nhập.



Sau khi đăng nhập, người dùng có thể:



Tương tác video như thích, bình luận, chia sẻ video.



Lựa chọn quay, chỉnh sửa và đăng tải video ngắn giới hạn tối đa
15 giây.



Lựa chọn video từ thiết bị và đăng tải video đã chọn.



Video đã đăng tải sẽ được duyệt bản quyền, nếu khơng được duyệt
sẽ có thông báo đến người dùng.

5.2. Hệ thống nhận diện âm thanh




Việc xử lý tách âm thanh từ video cũng như phải được xử lý nhanh chóng
và đạt hiệu quả.



Việc nhận diện âm thanh bản quyền phải có kết quả đánh giá và so sánh
về kết quả đạt được có hồn thiện hay chưa.




Cho phép người dùng đăng ký bản quyền nhạc và xét duyệt bản quyền



Report những người vi phạm bản quyền - tải video dính bản quyền hơn
3 lần sẽ bị chặn.

5.3. Hệ thống thực tế tăng cường (Augmented Reality)


Việc nhận diện gương mặt cùng với các bộ phận như mũi, trán, mơi, má,..
chính xác.



Hệ thống đa dạng các bộ lọc như màu sắc, hình ảnh minh hoạ sinh động.

5.3. Các tiêu chí khác
Tính thẩm mỹ


Ứng dụng có giao diện đẹp, dễ sử dụng tâm lý thoải mái cuốn hút khách
hàng khi sử dụng.



Tạo được sự liên kết logic giữa các màn hình để người dùng có thể

chuyển màn hình một cách nhanh nhất và thuật tiện nhất.

8. Hướng phát triển của đề tài:
Nếu tiến độ công việc đạt được như mong đợi, sẽ mở rộng thêm các tính
năng đặc biệt như:


Cung cấp thêm tính năng CC tự động và cho phép custom phụ đề, hỗ trợ
hiệu ứng đặc sắc hơn các nền tảng khác.



Tìm kiếm video bằng giọng nói

9. Kế hoạch làm việc:


Thời gian thực hiện từ 7/2/2022 đến ngày 11/6/2022
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Chương sẽ hồn thiện hệ thống Back-end, cải tiến cơng nghệ nhận
diện âm thanh. Song song đó tìm hiểu và demo cơng nghệ thực tế tăng cường (AR)
trong bộ lọc video.
Giai đoạn này gồm 5 sprint (Thời gian: 7/2 – 23/4)
Công việc
Sprint
1
(19/2 – 28/2)

Ngân


Chương

(Mobile)

(Web)

Nghiên cứu Android và các

Thực hiện refactor và fix các

công cụ cần thiết.

lỗi tồn đọng của dự án trước

Thiết kế kiến trúc tổng quan

đã làm.

cho app Android
Xác định yêu cầu cho tính năng mới: Quản lý bản quyền
2
(1/3 – 20/3)

3
(20/3 – 31/3)

Lên layout giao diện trang chủ,

Thiết kế flow và thực hiện


đăng tải video và gọi các api

chức năng Quản lý bản

cần thiết.

quyền.

Lên layout giao diện xem

Xử lý các đoạn video dính

video.

bản quyền và thơng báo cho

Thực hiện các chức năng like,

người dùng các đoạn bị dính.

comment, follow.
Thực hiện AR Filter.
4
(1/4 – 15/4)

Lên layout giao diện quản lý

Nếu người dùng upload các

video và gọi api cần thiết.


đoạn bị dính bản quyền, gửi

Lên layout giao diện chỉnh sửa

thông báo đến chủ sở hữu.

video và gọi api cần thiết.

Quản lý số strikes (Hiển thị,
trừ, restore)


5

Tiếp tục làm AR Filter.

Thực hiện các tính năng

(16/4 – 23/4)

Authentication, Profile,
Follow.

Giai đoạn 2: Hoàn thiện giao diện app và web WanoTube
Giai đoạn này gồm 3 sprint (24/4 - 11/6):
Công việc
Sprint
6
(24/4 – 14/5)

7
(15/5 – 31/5)

Ngân

Chương

(Mobile)

(Web)

Thực hiện tính năng đăng ký,

Thực hiện tính năng bình

đăng nhập, đăng xuất.

luận, danh sách phát.

Thực hiện tính năng tìm kiếm

Thực hiện tính năng xem và

video.

stream video.

Hoàn thành AR Filter.
8
(1/6 – 11/6)


Hoàn thiện tài liệu.

Thực hiện tính năng feed cá

Thực hiện tính năng xem và

nhân, thơng báo.

chỉnh sửa trang cá nhân.

Xác nhận của CBHD
(Ký tên và ghi rõ họ tên)

TP. HCM, ngày 7 tháng 2 năm 2022


LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể hồn thành Khóa luận tốt nghiệp của mình.
Để hồn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Cơng nghệ Thơng tin – ĐHQG TP.HCM vì đã tạo
điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình giúp
đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý hết sức
q báu khơng chỉ trong q trình thực hiện luận văn này mà cịn là hành trang tiếp
bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa,

bạn bè, tập thể lớp PMCL2018 là những người luôn sẵn sàng sẻ chia và giúp đỡ trong
học tập và cuộc sống. Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau.
Trong q trình làm khóa luận này chúng em khơng tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để khóa luận
được hồn thiện hơn.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người.
Thành phố Hồ Chí Minh, ngày 10 tháng 6 năm 2022
Sinh viên 1

Sinh viên 2

Nguyễn Đắc Thiên Ngân

Tăng Khánh Chương


MỤC LỤC
Chương 1.

GIỚI THIỆU CHUNG ........................................................................2

1.1.

Đặt vấn đề ...................................................................................................2

1.2.

Lý do chọn đề tài ........................................................................................2


1.3.

Tính năng mới / khác biệt ...........................................................................2

1.4.

Mục tiêu đề tài ............................................................................................3

1.5.

Đối tượng nghiên cứu .................................................................................4

1.6.

Phạm vi nghiên cứu ....................................................................................4

1.7.

Phương pháp thực hiện ...............................................................................4

Chương 2.
2.1.

CƠ SỞ LÝ THUYẾT .........................................................................6

Công nghệ nhận diện âm thanh...................................................................6

2.1.1. Giới thiệu về âm thanh ............................................................................6
2.1.2. Cách não bộ xử lý âm thanh ...................................................................6
2.1.3. Giới thiệu tổng quan về âm thanh ...........................................................6

2.1.4. Ảnh phổ (Spectrogram) ..........................................................................7
2.1.5. Thuật toán Audio Fingerprinting ............................................................8
2.1.6. Giới thiệu ACR Cloud ..........................................................................10
2.1.1. Cách sử dụng ACR Cloud trong NodeJS ..............................................11
2.2.

Công nghệ thực tế ảo tăng cường .............................................................14

2.2.1. Giới thiệu thực tế ảo tăng cường (AR) .................................................14
2.2.2. Cách thức hoạt động .............................................................................15
2.2.3. Giới thiệu bộ lọc thực tế tăng cường (AR Filter)..................................15
2.2.4. DeepAR ................................................................................................16
2.3.

Mơ hình MVC ...........................................................................................18

2.3.1. Khái niệm ..............................................................................................18
2.3.2. Cấu trúc mơ hình MVC ........................................................................18


2.3.2.1

Tầng xử lý – Controller.................................................................18

2.3.2.2

Tầng logic dữ liệu – Model ...........................................................19

2.3.2.3


Tầng giao diện – View ..................................................................19

2.3.3. Mơ hình MVC trong ứng dụng Web.....................................................19
2.4.

Nodejs .......................................................................................................20

2.4.1. Giới thiệu ..............................................................................................20
2.4.2. Ưu điểm ................................................................................................20
2.4.3. Nhược điểm...........................................................................................21
2.5.

VueJS ........................................................................................................21

2.5.1. Giới thiệu ..............................................................................................21
2.5.2. Ưu điểm ................................................................................................21
2.5.3. Nhược điểm...........................................................................................22
2.6.

Android Native .........................................................................................22

2.6.1. Native App ............................................................................................22
2.6.2. Hệ điều hành Android ...........................................................................22
2.6.3. Kotlin ....................................................................................................23
2.6.1. Ưu điểm ................................................................................................23
2.6.2. Nhược điểm...........................................................................................24
2.7.

Hệ quản trị cơ sở dữ liệu MongoDB .........................................................25


2.7.1. Giới thiệu ..............................................................................................25
2.7.2. Ưu điểm ................................................................................................26
2.7.3. Nhược điểm...........................................................................................26
2.8.

Amazon Simple Storage Service ..............................................................26

2.8.1. Giới thiệu AWS ....................................................................................26
2.8.2. Giới thiệu S3 .........................................................................................27
2.8.3. Mục đích sử dụng..................................................................................28
2.8.4. Các khái niệm cần biết ..........................................................................28
2.9.

HLS ...........................................................................................................30


2.9.1. Giới thiệu ..............................................................................................30
2.9.1. Đặc điểm ...............................................................................................31
2.9.1. Ưu điểm ................................................................................................32
2.9.2. Hoàn cảnh sử dụng................................................................................32
2.9.3. Sử dụng AWS Services cho HLS .........................................................33
Chương 3.
3.1.

XÂY DỰNG HỆ THỐNG ................................................................35

Xây dựng kiến trúc hệ thống .....................................................................35

3.1.1. Sơ đồ tổng quan và giới thiệu ...............................................................35
3.1.2. Diễn giải các thành phần .......................................................................36

3.1.2.1

Server: Mô tả chi tiết các thành phần ...........................................37

3.1.2.2

Client: Mô tả chi tiết các thành phần ............................................43

3.2.

Vấn đề xử lý vi phạm bản quyền âm nhạc ................................................45

3.3.

Phân tích thiết kế hệ thống ........................................................................47

3.3.1. Sơ đồ usecase ........................................................................................47
3.3.1.1

Sơ đồ tổng quan ............................................................................47

3.3.1.2

Danh sách các tác nhân .................................................................48

3.3.1.3

Danh sách usecase ........................................................................48

3.3.1.4


Đặc tả usecase ...............................................................................49

3.3.2. Sơ đồ module ........................................................................................85
3.3.3. Sơ đồ dữ liệu .........................................................................................86

3.4.

3.3.3.1

Sơ đồ dữ liệu tổng quan ................................................................86

3.3.3.2

Mô tả sơ đồ dữ liệu .......................................................................86

Thiết kế giao diện .....................................................................................93

3.4.1. Giao diện website..................................................................................93
3.4.1.1

Sơ đồ thiết kế giao diện ................................................................93

3.4.1.2

Danh sách giao diện ......................................................................93

3.4.1.3

Mô tả chi tiết giao diện .................................................................96


3.4.2. Giao diện mobile .................................................................................107


3.4.2.1

Thiết kế giao diện .......................................................................107

3.4.2.2

Danh sách giao diện ....................................................................108

3.4.2.3

Mô tả chi tiết giao diện ...............................................................108

Chương 4.
4.1.

KẾT QUẢ .......................................................................................117

Kết quả thực hiện ở Web ........................................................................117

4.1.1. Giao diện trang chủ .............................................................................117
4.1.2. Giao diện xem bài viết ........................................................................118
4.1.3. Giao diện quản lý video ......................................................................118
4.1.4. Giao diện chỉnh sửa thông tin video ...................................................119
4.1.5. Giao diện xóa video ............................................................................119
4.1.6. Giao diện chọn video từ thiết bị ..........................................................120
4.1.7. Giao diện xem trạng thái bản quyền ...................................................120

4.2.

Kết quả thực hiện ở App Mobile ............................................................121

4.2.1. Giao diện trang chủ .............................................................................121
4.2.2. Giao diện xem video ...........................................................................122
4.2.3. Giao diện xem video ngắn ..................................................................123
4.2.4. Giao diện bình luận video ngắn ..........................................................124
4.2.5. Giao diện đăng tải video ngắn ............................................................125
4.2.6. Giao diện thư viện của tôi ...................................................................126
4.2.7. Giao diện lịch sử xem video ...............................................................127
4.2.8. Giao diện xem các video xem sau ......................................................128
4.2.9. Giao diện xem các video đã đăng tải ..................................................129
4.2.10.

Giao diện chỉnh sửa video...............................................................131

4.2.11.

Giao diện xem những người mình follow .......................................132

Chương 5.
5.1.

TỔNG KẾT.....................................................................................133

Kết quả đạt được .....................................................................................133

5.1.1. Về mặt nghiên cứu ..............................................................................133
5.1.2. Về mặt sản phẩm.................................................................................133



5.1.2.1

Đối với ứng dụng ........................................................................133

5.1.2.2

Đối với người dùng .....................................................................134

5.2.

Ưu điểm ..................................................................................................134

5.3.

Nhược điểm.............................................................................................134

5.4.

Thuận lợi và khó khăn ............................................................................135

5.5.

Kết luận ...................................................................................................135

5.6.

Hướng phát triển .....................................................................................135


TÀI LIỆU THAM KHẢO ......................................................................................136


DANH MỤC HÌNH
Hình 2.1: Hình ảnh so sánh biểu đồ dao động và ảnh phổ (Nguồn: Phillip S. Lobel) 7
Hình 2.2: Ảnh phổ trước và sau khi được chuyển đổi về khơng gian 2 chiều ............9
Hình 2.3: Quy trình nhận diện âm thanh của Shazam ................................................9
Hình 2.4: Quy trình xử lý việc nhận diện âm thanh của ACR Cloud .......................10
Hình 2.5: Tạo project trong ACRCloud....................................................................11
Hình 2.6: Số lượng người dùng của hoạt động thực tế tăng cường trên thiết bị di động
(AR) trên toàn thế giới từ năm 2019 đến năm 2024 .................................................14
Hình 2.7: Một số bộ lọc trên nền tảng Instagram .....................................................15
Hình 2.8: Một số mini game trên các nền tảng xã hội hiện nay ...............................16
Hình 2.9: Hình ảnh minh hoạ của thư viện DeepAR ................................................16
Hình 2.10: Mơ hình MVC.........................................................................................18
Hình 2.11: Mơ hình MVC trong ứng dụng Web ......................................................19
Hình 2.12: So sánh mức độ phổ biến của MongoDB ...............................................25
Hình 2.13: Ví dụ về đường dẫn đầy đủ của một object ............................................30
Hình 2.14: Ví dụ về cách hoạt động của HLS ..........................................................31
Hình 2.15: Cách sử dụng HLS trong AWS...............................................................33
Hình 2.16: Hình ảnh minh hoạ các segment tương ứng được gửi về cho người dùng
..................................................................................................................................34
Hình 3.1: Sơ đồ kiến trúc hệ thống ...........................................................................35
Hình 3.2: Lớp xử lý nghiệp vụ ..................................................................................37
Hình 3.3: Router cùng các API và controller tương ứng ..........................................38
Hình 3.4: Lớp Model và Controller ..........................................................................39
Hình 3.5: Lớp Data Access Layer.............................................................................40
Hình 3.6: Lớp Model trong DAL ..............................................................................41
Hình 3.7: Lớp Presentation .......................................................................................43
Hình 3.8: Sơ đồ usecase tổng quan ...........................................................................48

Hình 3.9: Biểu đồ hoạt động của usecase Đăng ký ..................................................51
Hình 3.10: Biểu đồ trình tự của usecase Đăng ký.....................................................52


Hình 3.11: Biểu đồ hoạt động của usecase Đăng nhập .............................................53
Hình 3.12: Biểu đồ trình tự của usecase Đăng nhập .................................................54
Hình 3.13: Biểu đồ hoạt động của usecase Đăng xuất..............................................55
Hình 3.14: Biểu đồ trình tự của usecase Đăng xuất ..................................................56
Hình 3.15: Biểu đồ hoạt động của usecase Đăng tải video.......................................58
Hình 3.16: Biểu đồ trình tự của usecase Đăng tải video ...........................................59
Hình 3.17: Biểu đồ hoạt động của Chỉnh sửa video .................................................61
Hình 3.18: Biểu đồ trình tự của Chỉnh sửa video .....................................................62
Hình 3.19: Biểu đồ hoạt động của usecase Xóa video..............................................63
Hình 3.20: Biểu đồ trình tự của usecase Xóa video ..................................................64
Hình 3.21: Biểu đồ hoạt động của usecase Chỉnh sửa thông tin cá nhân .................66
Hình 3.22: Biểu đồ trình tự của usecase Chỉnh sửa thơng tin cá nhân .....................67
Hình 3.23: Biểu đồ hoạt động của usecase Thích video ...........................................68
Hình 3.24: Biểu đồ trình tự của usecase Thích video ...............................................69
Hình 3.25: Biểu đồ hoạt động của usecase Bình luận video.....................................70
Hình 3.26: Biểu đồ trình tự của usecase Bình luận video .........................................71
Hình 3.27: Biểu đồ hoạt động của usecase Tạo video ngắn .....................................73
Hình 3.28: Biểu đồ trình tự của usecase Tạo video ngắn .........................................74
Hình 3.29: Biểu đồ hoạt động của usecase Xóa video ngắn .....................................75
Hình 3.30: Biểu đồ trình tự của usecase Xóa video ngắn .........................................76
Hình 3.31: Biểu đồ hoạt động của usecase Chỉnh sửa thơng tin video ngắn ............78
Hình 3.32: Biểu đồ trình tự của usecase Chỉnh sửa thơng tin video ngắn ................79
Hình 3.33: Biểu đồ hoạt động của usecase Thích video ngắn ..................................80
Hình 3.34: Biểu đồ trình tự của usecase Thích video ngắn ......................................81
Hình 3.35: Biểu đồ hoạt động của usecase Bình luận video.....................................82
Hình 3.36: Biểu đồ trình tự của usecase Bình luận video .........................................83

Hình 3.37: Biểu đồ hoạt động của usecase Cấm user ...............................................84
Hình 3.38: Biểu đồ trình tự của usecase Cấm user ...................................................85
Hình 3.39: Sơ đồ module ..........................................................................................85


Hình 3.40: Sơ đồ dữ liệu ...........................................................................................86
Hình 3.41: Sơ đồ thiết kế giao diện ..........................................................................93
Hình 3.42: Phác thảo giao diện đăng ký ở Web .......................................................96
Hình 3.43: Phác thảo giao diện đăng nhập ở Web ....................................................97
Hình 3.44: Phác thảo giao diện trang chủ ở Web .....................................................98
Hình 3.45: Phác thảo giao diện xem bài viết ............................................................99
Hình 3.46: Phác thảo giao diện quản lý video ở Web ............................................100
Hình 3.47: Phác thảo giao diện chỉnh sửa thơng tin video ở Web ..........................101
Hình 3.48: Phác thảo giao diện xóa video ở Web...................................................102
Hình 3.49: Phác thảo giao diện chọn video từ thiết bị ở Web ................................103
Hình 3.50: Phác thảo giao diện xem trạng thái bản quyền ở Web..........................104
Hình 3.51: Phác thảo giao diện quản lý người dùng ở Web ...................................105
Hình 3.52: Phác thảo giao diện cấm người dùng ở Web ........................................106
Hình 3.53 Sơ đồ thiết kế giao diện ở Mobile ..........................................................107
Hình 3.54: Phác thảo giao diện đăng ký ở Mobile .................................................108
Hình 3.55: Phác thảo giao diện đăng nhập ở Mobile ..............................................110
Hình 3.56: Phác thảo giao diện xem video ngắn ở Mobile .....................................112
Hình 3.57: Phác thảo giao diện bình luận video ngắn ở Mobile.............................114
Hình 3.58: Phác thảo giao diện đăng tải video ngắn ở Mobile ...............................115
Hình 3.59: Mơ tả giao diện đăng tải video ngắn .....................................................116
Hình 4.1: Giao diện trang chủ ở Web .....................................................................117
Hình 4.2: Giao diện xem bài viết ............................................................................118
Hình 4.3: Giao diện quản lý video ở Web ..............................................................118
Hình 4.4: Giao diện chỉnh sửa thơng tin video ở Web ...........................................119
Hình 4.5: Giao diện xóa video ở Web ....................................................................119

Hình 4.6: Giao diện chọn video từ thiết bị ở Web ..................................................120
Hình 4.7: Giao diện xem trạng thái bản quyền ở Web ...........................................120
Hình 4.8: Giao diện trang chủ ở Mobile .................................................................121
Hình 4.9: Giao diện xem video ở Mobile ...............................................................122


Hình 4.10: Giao diện xem video ngắn ở Mobile ....................................................123
Hình 4.11: Giao diện bình luận video ngắn ở Mobile ............................................124
Hình 4.12: Giao diện đăng tải video ngắn ở Mobile...............................................125
Hình 4.13: Giao diện thư viện của tơi ở Mobile .....................................................126
Hình 4.14: Giao diện lịch sử xem video ở Mobile..................................................127
Hình 4.15: Giao diện xem các video xem sau ở Mobile .........................................128
Hình 4.16: Giao diện xem các video đã đăng tải ở Mobile ....................................129
Hình 4.17: Giao diện xem các video đã đăng tải ở Mobile ....................................130
Hình 4.18: Giao diện chỉnh sửa video ở Mobile .....................................................131
Hình 4.19: Giao diện xem những người mình đã follow ........................................132


DANH MỤC BẢNG
Bảng 3.1: Bảng diễn giải các thành phần của kiến trúc hệ thống .............................37
Bảng 3.2: Bảng mô tả các lớp trong tầng xử lý nghiệp vụ .......................................38
Bảng 3.3: Bảng mô tả lớp Model trong tầng truy xuất dữ liệu .................................41
Bảng 3.4: Bảng mô tả các lớp trong tầng Presentation .............................................44
Bảng 3.5: Kiến trúc server ........................................................................................42
Bảng 3.6: Luồng xử lý vi phạm bản quyền ...............................................................45
Bảng 3.7: Hình ảnh minh hoạ cho việc chuyển đổi chất lượng video ......................46
Bảng 3.8: Danh sách các tác nhân ............................................................................48
Bảng 3.9: Danh sách các usecase..............................................................................49
Bảng 3.10: Usecase Đăng ký ....................................................................................50
Bảng 3.11: Usecase Đăng nhập ................................................................................53

Bảng 3.12: Usecase Đăng xuất .................................................................................55
Bảng 3.13: Usecase Đăng tải video ..........................................................................57
Bảng 3.14: Usecase Chỉnh sửa thông tin video ........................................................60
Bảng 3.15: Usecase Xóa video .................................................................................63
Bảng 3.16: Usecase Chỉnh sửa thơng tin cá nhân .....................................................65
Bảng 3.17: Usecase Thích video...............................................................................68
Bảng 3.18: Usecase Bình luận video ........................................................................70
Bảng 3.19: Usecase Tạo video ngắn .........................................................................72
Bảng 3.20: Usecase Xóa video ngắn ........................................................................75
Bảng 3.21: Usecase Chỉnh sửa thơng tin video ngắn................................................77
Bảng 3.22: Usecase Thích video ngắn ......................................................................80
Bảng 3.23: Usecase Bình luận video ngắn ...............................................................82
Bảng 3.24: Usecase Cấm user...................................................................................84
Bảng 3.25: User collection........................................................................................87
Bảng 3.26: Account collection..................................................................................88
Bảng 3.27: Video collection .....................................................................................89
Bảng 3.28: Like collection ........................................................................................90


×