ĐẠ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 video sharing 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 video sharing platform
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
TS. NGUYỄN ĐÌNH HIỂN
ThS. TRẦN ANH DŨNG
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 Đắc Thiên Ngân 18520109
TS. Nguyễn Đình Hiển
Tăng Khánh Chương
18520010
ThS. Trần Anh Dũng
Số trang
101
Số chương
5
Số bảng số liệu
46
Số hình vẽ
69
Số tài liệu tham khảo
39
Sản phẩm
2
Đánh giá Khóa luận:
1. Về cuốn báo cáo:
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)
TS. Nguyễn Đình Hiển
ThS. 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
ThS. Trần Thị Hồng Yến
Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang
101
Số chương
5
Số bảng số liệu
46
Số hình vẽ
69
Số tài liệu tham khảo
39
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)
ThS. Trần Thị Hồng Yế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:
TS. Nguyễn Đình Hiển
ThS. Trần Anh Dũng
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 đó nhóm 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 nhóm 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 nhóm 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.
• Đă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
Ứng dụng WanoTube được xây dựng với:
• Front-end:
o Website: VueJS
o 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
v Các công nghệ xây dựng trang web và ứng dụng điện thoại:
• VueJS
• Android
• NodeJS
• MongoDB
v Cơng nghệ nhận diện âm thanh:
• Phương pháp fingerprint phân tách âm thanh.
• Thư viện ACRCloud hỗ trợ việc nhận diện âm thanh.
v Cơng nghệ tương tác thực tế ảo:
• Cơng nghệ FilterAR – thư viện Deep AR.
v Đố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ể:
o
Tương tác video như thích, bình luận, chia sẻ video.
o
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.
o
Lựa chọn video từ thiết bị và đăng tải video đã chọn.
o
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ẽ hoà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
(16/4 – 23/4)
Tiếp tục làm AR Filter.
Thực hiện các tính năng
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.
Hồn thành AR Filter.
8
(1/6 – 11/6)
Hồ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
TP. HCM, ngày 7 tháng 2 năm 2022
(Ký tên và ghi rõ họ tên)
Sinh viên
(Ký tên và ghi rõ họ tên)
TS. Nguyễn Đình Hiển
Nguyễn Đắc Thiên Ngân
ThS. Trần Anh Dũng
Tăng Khánh Chương
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 nhóm 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, nhóm 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.
Nhóm em xin gửi lời cảm ơn chân thành đến TS. Nguyễn Đình Hiển và ThS.
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 quý 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 nhóm em trong quá trình học tập và lập nghiệp
sau này.
Và cuối cùng, nhóm 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 quá trình làm khóa luận này nhóm em khơng tránh khỏi được những sai
sót, nhóm 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.
Nhóm 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
Nhóm sinh viên thực hiện
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.3.1.
Nhận diện bản quyền âm nhạc ........................................................2
1.3.2.
Bộ lọc thực tế tăng cường (AR Filter) .............................................3
1.3.3.
Trải nghiệm người dùng ...................................................................3
1.4.
Mục tiêu đề tài ...........................................................................................3
1.5.
Đối tượng nghiên cứu ...............................................................................4
1.5.1.
Các công nghệ....................................................................................4
1.5.2.
Đối tượng trong phạm vi đề tài hướng đến ....................................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.
Cách não bộ xử lý âm thanh ............................................................6
2.1.2.
Giới thiệu tổng quan về âm thanh ...................................................6
2.1.3.
Ảnh phổ (Spectrogram) ....................................................................7
2.1.4.
Thuật toán Audio Fingerprinting ....................................................8
2.1.5.
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.
2.3.
DeepAR ............................................................................................16
Mơ hình MVC .........................................................................................17
2.3.1.
Khái niệm.........................................................................................17
2.3.2.
Cấu trúc mơ hình MVC..................................................................18
2.3.3.
Mơ hình MVC trong ứng dụng Web .............................................18
2.4.
Nodejs .......................................................................................................19
2.4.1.
Giới thiệu .........................................................................................19
2.4.2.
Ưu điểm ............................................................................................19
2.4.3.
Nhược điểm......................................................................................20
2.5.
VueJS .......................................................................................................20
2.5.1.
Giới thiệu .........................................................................................20
2.5.2.
Ưu điểm ............................................................................................21
2.5.3.
Nhược điểm......................................................................................21
2.6.
Android Native ........................................................................................21
2.6.1.
Native App .......................................................................................21
2.6.2.
Hệ điều hành Android ....................................................................22
2.6.3.
Kotlin................................................................................................22
2.6.1.
Ưu điểm ............................................................................................23
2.6.2.
Nhược điểm......................................................................................23
2.7.
Hệ quản trị cơ sở dữ liệu MongoDB......................................................24
2.7.1.
Giới thiệu .........................................................................................24
2.7.2.
Đặc điểm ..........................................................................................24
2.7.3.
Ưu điểm ............................................................................................25
2.7.4.
Nhược điểm......................................................................................25
2.8.
Amazon Simple Storage Service ............................................................25
2.8.1.
Giới thiệu AWS ...............................................................................25
2.8.2.
Giới thiệu S3 ....................................................................................25
2.8.3.
Mục đích sử dụng ............................................................................26
2.8.4.
2.9.
Các khái niệm cần biết ...................................................................26
HLS ..........................................................................................................28
2.9.1.
Giới thiệu .........................................................................................28
2.9.1.
Đặc điểm ..........................................................................................29
2.9.1.
Ưu điểm ............................................................................................30
2.9.2.
Hoàn cảnh sử dụng .........................................................................30
2.9.3.
Sử dụng AWS Services cho HLS ...................................................31
Chương 3.
3.1.
XÂY DỰNG HỆ THỐNG...................................................... 32
Xây dựng kiến trúc hệ thống..................................................................32
3.1.1.
Sơ đồ tổng quan và giới thiệu ........................................................32
3.1.2.
Diễn giải các thành phần ................................................................33
3.2.
Vấn đề xử lý vi phạm bản quyền âm nhạc ...........................................41
3.3.
Phân tích thiết kế hệ thống.....................................................................43
3.3.1.
Sơ đồ usecase ...................................................................................43
3.3.2.
Sơ đồ dữ liệu ....................................................................................72
Chương 4.
4.1.
KẾT QUẢ ................................................................................ 77
Giao diện website ....................................................................................77
4.1.1.
Danh sách giao diện ........................................................................77
4.1.2.
Mô tả chi tiết giao diện ...................................................................77
4.2.
Giao diện mobile .....................................................................................86
4.2.1.
Danh sách giao diện ........................................................................86
4.2.2.
Mô tả chi tiết giao diện ...................................................................87
Chương 5.
5.1.
TỔNG KẾT ............................................................................. 96
Kết quả đạt được .....................................................................................96
5.1.1.
Về mặt nghiên cứu ..........................................................................96
5.1.2.
Về mặt sản phẩm.............................................................................96
5.2.
Ưu điểm ....................................................................................................97
5.3.
Nhược điểm..............................................................................................97
5.4.
Thuận lợi và khó khăn............................................................................98
5.4.1.
Thuận lợi ..........................................................................................98
5.4.2.
Khó khăn .........................................................................................98
5.5.
Kết luận ....................................................................................................98
5.6.
Hướng phát triển.....................................................................................98
TÀI LIỆU THAM KHẢO .......................................................................... 100
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 ..............................................10
Hình 2.4: Quy trình xử lý việc nhận diện âm thanh của ACR Cloud (Nguồn:
ACRCloud) ...............................................................................................................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 (Nguồn Marvy Co.) ....................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 .......................................................................................17
Hình 2.11: Mơ hình MVC trong ứng dụng Web ......................................................18
Hình 2.12: So sánh mức độ phổ biến của MongoDB) .............................................24
Hình 2.13: Ví dụ về cách hoạt động của HLS ..........................................................29
Hình 2.14: Cách sử dụng HLS trong AWS...............................................................31
Hình 3.1: Sơ đồ kiến trúc hệ thống ...........................................................................32
Hình 3.2: Lớp xử lý nghiệp vụ ..................................................................................34
Hình 3.3: Router cùng các API và controller tương ứng ..........................................35
Hình 3.4: Lớp Model và Controller ..........................................................................36
Hình 3.5: Lớp Data Access Layer.............................................................................36
Hình 3.6: Lớp Model trong DAL ..............................................................................37
Hình 3.7: Lớp Presentation .......................................................................................39
Hình 3.8: Sơ đồ usecase tổng quan ...........................................................................43
Hình 3.9: Biểu đồ hoạt động của usecase Đăng ký ..................................................46
Hình 3.10: Biểu đồ trình tự của usecase Đăng ký.....................................................46
Hình 3.11: Biểu đồ hoạt động của usecase Đăng nhập .............................................47
Hình 3.12: Biểu đồ trình tự của usecase Đăng nhập .................................................48
Hình 3.13: Biểu đồ hoạt động của usecase Đăng xuất..............................................49
Hình 3.14: Biểu đồ trình tự của usecase Đăng xuất ..................................................49
Hình 3.15: Biểu đồ hoạt động của usecase Đăng tải video.......................................51
Hình 3.16: Biểu đồ trình tự của usecase Đăng tải video ...........................................51
Hình 3.17: Biểu đồ hoạt động của Chỉnh sửa video .................................................53
Hình 3.18: Biểu đồ trình tự của Chỉnh sửa video .....................................................53
Hình 3.19: Biểu đồ hoạt động của usecase Xóa video..............................................55
Hình 3.20: Biểu đồ trình tự của usecase Xóa video ..................................................55
Hình 3.21: Biểu đồ hoạt động của usecase Chỉnh sửa thông tin cá nhân .................57
Hình 3.22: Biểu đồ trình tự của usecase Chỉnh sửa thơng tin cá nhân .....................57
Hình 3.23: Biểu đồ hoạt động của usecase Thích video ...........................................58
Hình 3.24: Biểu đồ trình tự của usecase Thích video ...............................................59
Hình 3.25: Biểu đồ hoạt động của usecase Bình luận video.....................................60
Hình 3.26: Biểu đồ trình tự của usecase Bình luận video .........................................60
Hình 3.27: Biểu đồ hoạt động của usecase Tạo video ngắn .....................................62
Hình 3.28: Biểu đồ trình tự của usecase Tạo video ngắn .........................................62
Hình 3.29: Biểu đồ hoạt động của usecase Xóa video ngắn .....................................64
Hình 3.30: Biểu đồ trình tự của usecase Xóa video ngắn .........................................64
Hình 3.31: Biểu đồ hoạt động của usecase Chỉnh sửa thơng tin video ngắn ............66
Hình 3.32: Biểu đồ trình tự của usecase Chỉnh sửa thơng tin video ngắn ................66
Hình 3.33: Biểu đồ hoạt động của usecase Thích video ngắn ..................................67
Hình 3.34: Biểu đồ trình tự của usecase Thích video ngắn ......................................68
Hình 3.35: Biểu đồ hoạt động của usecase Bình luận video.....................................69
Hình 3.36: Biểu đồ trình tự của usecase Bình luận video .........................................69
Hình 3.37: Biểu đồ hoạt động của usecase Cấm user ...............................................71
Hình 3.38: Biểu đồ trình tự của usecase Cấm user ...................................................71
Hình 3.39: Sơ đồ dữ liệu ...........................................................................................72
Hình 4.1: Giao diện trang chủ ở Web .......................................................................78
Hình 4.2: Giao diện xem bài viết ..............................................................................79
Hình 4.3: Giao diện quản lý video ở Web ................................................................80
Hình 4.4: Giao diện chỉnh sửa thơng tin video ở Web .............................................81
Hình 4.5: Giao diện xóa video ở Web ......................................................................82
Hình 4.6: Giao diện đăng tải video ở Web ...............................................................83
Hình 4.7: Giao diện xem trạng thái bản quyền ở Web .............................................84
Hình 4.8: Giao diện quản lý người dùng ở Web .......................................................85
Hình 4.9: Giao diện cấm người dùng ở Web ............................................................86
Hình 4.10: Giao diện trang chủ ở Mobile .................................................................87
Hình 4.11: Giao diện xem video ngắn ở Mobile ......................................................89
Hình 4.12: Giao diện xem video ở Mobile ...............................................................90
Hình 4.13: Giao diện đăng tải video ở Mobile .........................................................91
Hình 4.14: Giao diện thư viện của tơi ở Mobile .......................................................93
Hình 4.15: Giao diện xem video của tơi ở Mobile ...................................................94
Hình 4.16: Giao chỉnh sửa video ở Mobile ...............................................................95
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 .............................33
Bảng 3.2: Bảng mô tả các lớp trong tầng xử lý nghiệp vụ (1) ..................................35
Bảng 3.3: Bảng mô tả các lớp trong tầng xử lý nghiệp vụ (2) ..................................36
Bảng 3.4: Bảng mô tả lớp Model trong tầng truy xuất dữ liệu .................................38
Bảng 3.5: Kiến trúc server ........................................................................................38
Bảng 3.6: Bảng mô tả các lớp trong tầng Presentation .............................................40
Bảng 3.7: Luồng xử lý vi phạm bản quyền ...............................................................41
Bảng 3.8: Hình ảnh minh hoạ cho việc chuyển đổi chất lượng video. .....................42
Bảng 3.9: Danh sách các tác nhân ............................................................................44
Bảng 3.10: Danh sách các usecase............................................................................45
Bảng 3.11: Usecase Đăng ký ....................................................................................45
Bảng 3.12: Usecase Đăng nhập ................................................................................47
Bảng 3.13: Usecase Đăng xuất .................................................................................48
Bảng 3.14: Usecase Đăng tải video ..........................................................................50
Bảng 3.15: Usecase Chỉnh sửa thơng tin video ........................................................52
Bảng 3.16: Usecase Xóa video .................................................................................54
Bảng 3.17: Usecase Chỉnh sửa thông tin cá nhân .....................................................56
Bảng 3.18: Usecase Thích video...............................................................................58
Bảng 3.19: Usecase Bình luận video ........................................................................59
Bảng 3.20: Usecase Tạo video ngắn .........................................................................61
Bảng 3.21: Usecase Xóa video ngắn ........................................................................63
Bảng 3.22: Usecase Chỉnh sửa thông tin video ngắn................................................65
Bảng 3.23: Usecase Thích video ngắn ......................................................................67
Bảng 3.24: Usecase Bình luận video ngắn ...............................................................68
Bảng 3.25: Usecase Cấm user...................................................................................70
Bảng 3.26: Video collection .....................................................................................73
Bảng 3.27: Like collection ........................................................................................73
Bảng 3.28: Comment collection ...............................................................................74
Bảng 3.29: Copyright collection ...............................................................................74
Bảng 3.30: Playlist collection ...................................................................................74
Bảng 3.31: Strike collection......................................................................................75
Bảng 3.32: User collection........................................................................................75
Bảng 3.33: Account collection..................................................................................76
Bảng 4.1: Danh sách giao diện thiết kế của Web .....................................................77
Bảng 4.2: Mô tả giao diện trang chủ ở Web .............................................................78
Bảng 4.3: Mô tả giao diện xem bài viết ở Web ........................................................80
Bảng 4.4: Mô tả giao diện quản lý video ở Web ......................................................81
Bảng 4.5: Mô tả giao diện chỉnh sửa thông tin video ở Web ...................................82
Bảng 4.6: Mơ tả giao diện xóa video ở Web ............................................................83
Bảng 4.7: Mô tả giao diện chọn video từ thiết bị ở Web ..........................................83
Bảng 4.8: Mô tả giao diện của xem trạng thái bản quyền ở Web .............................84
Bảng 4.9: Mô tả giao diện quản lý người dùng ở Web .............................................85
Bảng 4.10: Mô tả giao diện cấm người dùng ở Web ................................................86
Bảng 4.11: Danh sách giao diện thiết kế của Web ...................................................87
Bảng 4.12: Mô tả giao diện xem trang chủ ở Mobile ...............................................88
Bảng 4.13: Mô tả giao diện xem video ngắn ở Mobile ............................................89
Bảng 4.14: Mô tả giao diện xem video ở Mobile .....................................................91
Bảng 4.15: Mô tả giao diện đăng tải video ở Mobile ...............................................92
Bảng 4.16: Mô tả giao diện thư viện của tôi ở Mobile .............................................93
Bảng 4.17: Mô tả giao diện xem video của tôi ở Mobile .........................................94
Bảng 4.18: Mô tả giao diện chỉnh sửa video ở Mobile .............................................95
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
Từ đầy đủ
Giải thích
Chỉ người dùng hoặc một đối tượng
Actor
nào đó bên ngồi tương tác với hệ
thống.
API
AR
Application Programming
Interface
Augmented reality
Giao diện lập trình ứng dụng.
Cơng nghệ thực tế tăng cường.
Buffer
Bộ đệm dữ liệu.
Filter
Bộ lọc.
Format
Định dạng.
HTTP
HyperText
Protocol
Transfer
Giao thức truyền siêu văn bản.
Giao thức truyền phát bitrate thích ứng
HLS
HTTP Live Streaming
dựa trên HTTP được phát triển bởi
Apple Inc.
MVC
Model-View-Controller
Thumbnail
Mô hình lập trình gồm 3 phần Model,
View, Controller tương tác với nhau.
Hình ảnh thu nhỏ của video.
Đối tượng mà người muốn nhận từ hệ
Usecase
thống hoặc cách mà các hệ thống tương
tác với nhau như thế nào.
VR
Strike
Virtual reality
Công nghệ thực tế ảo.
Gậy bản quyền.