1.1 Đặt vấn đề
Trong các hình thức giải trí thì xem phim là hình thức giải trí phổ biến và lứa tuổi
xem phim cũng rất rộng, từ người già, thanh thiếu niên cho đến trẻ em đều có nhu
cầu xem phim. Xét theo ngôn ngữ, chúng ta có thể chia làm hai loại là phim trong
nước và phim nước ngoài, trong đó thị trường phim trong nước chiếm tỉ lệ thấp hơn
các phim nước ngoài. Các phim nước ngoài được trình chiếu lại chia làm hai loại là
phim phụ đề và phim thuyết minh, trong đó phim phụ đề chiếm tỉ lệ nhiều hơn do tạo
ra nhanh hơn, tốn kém ít chi phí hơn và nhiều người thích xem phim phụ đề hơn do
phim phụ đề vẫn đảm bảo được chất giọng của nhân vật trọng phim. Tuy vậy vẫn rất
có nhiều người thích xem phim thuyết minh hay chỉ xem được phim thuyết minh như:
người già mắt kém, trẻ em chưa biết đọc hay những người khuyết tật gặp những hội
chứng như khó đọc v.v. Tuy nhiên thị trường phim hiện tại lại chưa đáp ứng được
nhu cầu xem phim thuyết minh của họ. Dưới đây là một số lý do:
Chưa có thuyết minh: Để có một phim thuyết minh hoàn chỉnh ta phải đi qua rất
nhiều công đoạn: tìm giọng thuyết minh phù hợp, tìm địa điểm thuyết minh sao cho
không có tạp âm, đầu tư trang thiết bị cho phim… là các đầu vào cho phim. Tiếp đó
là đầu ra, sau khi cho ra các đoạn ghi âm, ta lại phải chỉnh sửa lại video và ghép các
âm thanh video với các đoạn ghi âm vừa tạo ra. Nói chung là để làm ra một phim
thuyết minh cần tốn nhiều chi phí về thời gian và tiền bạc, do vậy các phim tỉ lệ người
xem thấp thường không có thuyết minh.
Giọng thuyết minh chưa được đa dạng: Thị trường phim là chung cho cả nước,
tuy nhiên không ai bỏ thời gian và tiền bạc ra để thuyết minh để đáp ứng cho từng
vùng, do vậy một số phim thuyết minh được đánh giá là khó nghe bởi vì họ không
quen với giọng thuyết minh trong phim.
Từ các điều nêu trên em thấy cần đưa ra một ứng dụng có thể thuyết minh phim tự
động, nó giúp ta có thể giảm thiểu chi phí để tạo ra các bộ phim thuyết minh. Ứng
dụng thuyết minh phim tự động là ứng dụng được đưa ra để thay thế cho quá trình
thuyết minh phim, đáp ứng được các nhu cầu nêu trên. Do thị trường hiện tại thì phim
NGUYỄN VĂN NAM
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
------------------------------
NGUYỄN VĂN NAM
LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀN
THUYẾT MINH PHIM TỰ ĐỘNG SỬ DỤNG
TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT
LUẬN VĂN THẠC SĨ KỸ THUẬT
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM
KHOÁ – 2016B
Hà Nội – 2019
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------NGUYỄN VĂN NAM
THUYẾT MINH PHIM TỰ ĐỘNG SỬ DỤNG
TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT
Chuyên ngành : KỸ THUẬT PHẦN MỀM
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN:
TS. NGUYỄN THỊ THU TRANG
Hà Nội – Năm 2019
LỜI CẢM ƠN
Để có ngày hoàn thành luận văn tốt nghiệp này, lời đầu tiên em xin chân thành
cảm ơn các thầy, cô và cán bộ giảng dạy tại trường Đại học Bách Khoa Hà Nội, các
thầy cô trong viện Công nghệ thông tin & Truyền thông và đặc biệt là các thầy cô
trong bộ môn Công nghệ phần mềm đã tận tậm chỉ dạy em trong suốt thời gian học
vừa qua.
Em xin trận trọng gửi lời cảm ơn đến Tiến sĩ Nguyễn Thị Thu Trang, Bộ môn
Công nghệ phần mềm, Viện CNTT&TT, Trường Đại học Bách Khoa Hà Nội. Cảm
ơn cô trong thời gian em thực hiện luận văn đã nhiệt tình hướng dẫn, chỉ bảo những
kiến thức cũng như định hướng cho em thực hiện đề tài này.
Em cũng xin gởi lời cảm ơn chân thành đến các bạn học lớp 16BKTPM đã luôn
đồng hành giúp đỡ và sẻ chia cùng tôi những khó khăn trong quá trình học tập và
làm luận văn.
Cuối cùng, em xin cảm ơn gia đình, những người luôn động viên và giúp đỡ em
về mặt tinh thần, để em có động lực và vững tin đạt đến kết quả cuối cùng này.
Hà Nội, ngày 24 tháng 11 năm 2019
Tác giả LVThS
Nguyễn Văn Nam
1
LỜI CAM ĐOAN
Tôi - Nguyễn Văn Nam - cam kết luận văn là công trình nghiên cứu của bản thân
tôi dưới sự hướng dẫn của TS. Nguyễn Thị Thu Trang.
Các kết quả nêu trong luận văn là trung thực, không phải là sao chép toàn văn của
bất kỳ công trình nào khác.
Hà Nội, ngày 24 tháng 11 năm 2019
Tác giả LVThS
Nguyễn Văn Nam
2
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................... 2
MỤC LỤC .......................................................................................................... 3
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ ....................................... 6
DANH MỤC HÌNH ............................................................................................ 7
DANH MỤC BẢNG ........................................................................................... 9
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI ............................................................... 10
1.1
Đặt vấn đề ...................................................................................... 10
1.2
Mục tiêu và phạm vi đề tài .............................................................. 11
1.3
Bố cục luận văn .............................................................................. 12
CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU ................................ 13
2.1
Khảo sát hiện trạng ......................................................................... 13
2.2
Tổng quan các dịch vụ của ứng dụng .............................................. 14
2.2.1
Dịch vụ quản lý xác thực người dùng ............................................. 16
2.2.2
Dịch vụ quản lý tổng hợp thuyết minh ............................................ 17
2.2.3
Dịch vụ quản lý phim và thuyết minh ............................................. 17
2.3
Đặc tả use case ............................................................................... 18
2.3.1
Đặc tả use case tổng hợp thuyết minh ............................................. 18
2.3.2
Đặc tả use case cấu hình phụ đề ...................................................... 19
2.3.3
Đặc tả use case xem phim ............................................................... 20
2.4
Tổng kết ......................................................................................... 20
CHƯƠNG 3: GIẢI PHÁP THUYẾT MINH PHIM TỰ ĐỘNG ...................... 21
3.1
Thiết kế kiến trúc ............................................................................ 21
3.1.1
Kiến trúc tổng quan ........................................................................ 21
3.1.2
Kiến trúc front-end ......................................................................... 22
3.1.3
Kiến trúc back-end.......................................................................... 24
3.2
Giải pháp tổng hợp thuyết minh phim ............................................. 25
3.2.1
Giới thiệu về MaryTTS và định dạng SSML................................... 25
3.2.2
Quá trình tổng hợp file âm thanh .................................................... 26
3
3.3
Cách thức trình chiếu phim thuyết minh tự động............................. 29
3.3.1
Phương thức trình chiếu phim và thuyết minh................................. 29
3.3.2
Cơ chế đồng bộ phim và thuyết minh.............................................. 31
3.4
Kết chương ..................................................................................... 32
CHƯƠNG 4: PHÁT TRIỂN ỨNG DỤNG ..................................................... 33
4.1
Công nghệ sử dụng ......................................................................... 33
4.1.1
NodeJS ........................................................................................... 33
4.1.2
Bảo mật API với Json web token – JWT ......................................... 35
4.1.3
Elastic Search ................................................................................. 36
4.1.4
ReactJS ........................................................................................... 36
4.1.5
Android platform ............................................................................ 41
4.2
Thư viện API .................................................................................. 45
4.2.1
MongooseJS ................................................................................... 45
4.2.2
Redux ............................................................................................. 45
4.2.3
ObjectBox ...................................................................................... 46
4.2.4
Glide ............................................................................................... 48
4.2.5
Volley ............................................................................................. 48
4.3
Phát triển ứng dụng......................................................................... 48
4.3.1
Thư viện và công cụ sử dụng .......................................................... 48
4.3.2
Kiến trúc ứng dụng ......................................................................... 50
4.3.3
Thiết kế chi tiết ............................................................................... 51
4.3.4
Kết quả đạt được............................................................................. 60
4.3.3
Minh họa các chức năng chính........................................................ 64
4.4
Thử nghiệm .................................................................................... 68
4.4.1
Dữ liệu thử nghiệm ......................................................................... 68
4.4.2
Kết quả thử nghiệm ........................................................................ 68
4.5
Đánh giá ......................................................................................... 69
4.5.1
Ưu điểm.......................................................................................... 69
4.5.2
Nhược điểm .................................................................................... 69
4
4.6
Kết chương ..................................................................................... 70
KẾT LUẬN....................................................................................................... 71
DANH MỤC CÁC TÀI LIỆU THAM KHẢO .................................................. 72
5
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
API
EUD
RDBMS
SQL
HTML
URI
JSON
Application Programming Interface.
Giao diện lập trình ứng dụng.
End-User Development.
Phát triển ứng dụng người dùng cuối
Relational Database Management System.
Hệ quản trị cơ sỡ dữ liệu quan hệ.
Structured Query Language.
Ngôn ngữ truy vấn mang tính cấu trúc, được thiết kế
để quản lý dữ liệu trong RDBMS.
HyperText Markup Language.
Ngôn ngữ đánh dấu siêu văn bản.
Uniform Resource Identifier.
Một chuỗi các ký tự dùng để xác định một tài nguyên.
JavaScript Object Notation.
Một kiểu định dạng dữ liệu trong ngôn ngữ JavaScript
REST
Representational State Transfer.
Một chuẩn thiết kế phần mềm, nó quy định cách mà
client và server sẽ tương tác với nhau.
CNTT
Công nghệ thông tin.
TTS
Hệ thống tổng hợp tiếng nói
LVTN
Luận văn tốt nghiệp
MVVM
Model – View – ViewModel
6
DANH MỤC HÌNH
Hình 1. Tổng quan chức năng ....................................................................... 14
Hình 2. Biểu đồ use case tổng quan ............................................................... 15
Hình 3. Biểu đồ use case quản lý xác thực người dùng .................................. 16
Hình 4. Biểu đồ use case cho dịch vụ quản lý tổng hợp thuyết minh ............. 17
Hình 5. Biểu đồ use case dịch vụ quản lý phim và thuyết minh ..................... 18
Hình 6. Kiến trúc ứng dụng thuyết minh phim .............................................. 21
Hình 7. Kiến trúc mobile-front-end ............................................................... 22
Hình 8. Kiến trúc web-front-end ................................................................... 23
Hình 9. Kiến trúc microservice...................................................................... 24
Hình 10. Quá trình tạo file âm thanh với đầu vào là file srt ........................... 27
Hình 11. Trình chiếu phim thuyết minh tự động ............................................ 29
Hình 12. Cấu trúc HTML DOM [8] .............................................................. 37
Hình 13. Server side rendering [9]................................................................. 39
Hình 14. Client side rendering [9] ................................................................. 41
Hình 15. Các thành phần chính của Android ................................................. 42
Hình 16. Quản lý dữ liệu có redux và không có redux [16] ........................... 46
Hình 17. Kiến trúc mobile front-end.............................................................. 50
Hình 18. Kiến trúc back-end ......................................................................... 51
Hình 19. Kiến trúc dịch vụ quản lý xác thực người dùng ............................... 52
Hình 20. Các thành phần trong dịch vụ tổng hợp thuyết minh ....................... 53
Hình 21. Kiến trúc dịch vụ quản lý phim và thuyết minh............................... 54
Hình 22. Thiết kế cơ sở dữ liệu trong Database ............................................. 56
Hình 23. Kiến trúc ứng dụng Android ........................................................... 57
Hình 24. Thiết kế giao diện ứng dụng Android front-end .............................. 59
Hình 25. Cấu trúc gói xây dựng dịch vụ back-end server............................... 61
Hình 26. Cấu trúc gói ứng dụng mobile front-end ......................................... 62
Hình 27. Màn hình danh sách phim đã thuyết minh ....................................... 64
Hình 28. Màn hình xem phim........................................................................ 65
7
Hình 29. Màn hình thông tin cá nhân ............................................................ 66
Hình 30. Màn hình quản lý tổng hợp thuyết minh ......................................... 67
8
DANH MỤC BẢNG
Bảng 1. Đặc tả use case tổng hợp thuyết minh ................................................... 18
Bảng 2. Đặc tả use case cấu hình subtitle........................................................... 19
Bảng 3. Đặc tả use case xem phim..................................................................... 20
Bảng 4. Trạng thái đồng bộ dùng phép AND ..................................................... 31
Bảng 5. Trạng thái đồng bộ trễ. ......................................................................... 31
Bảng 6. Thuật ngữ trong mongoDB và SQL ...................................................... 34
Bảng 7. Kiểu dữ liệu đặc biệt trong MongoDB .................................................. 35
Bảng 8. Danh sách công cụ sử dụng .................................................................. 48
Bảng 9. Danh sách thư viện sử dụng.................................................................. 48
Bảng 10. Các đối tượng trong ứng dụng ............................................................ 55
Bảng 11. Kết quả đạt được ................................................................................ 60
Bảng 12. Dữ liệu thử nghiệm............................................................................. 68
Bảng 13. Kết quả thử nghiệm tổng hợp ............................................................. 68
9
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Đặt vấn đề
Trong các hình thức giải trí thì xem phim là hình thức giải trí phổ biến và lứa tuổi
xem phim cũng rất rộng, từ người già, thanh thiếu niên cho đến trẻ em đều có nhu
cầu xem phim. Xét theo ngôn ngữ, chúng ta có thể chia làm hai loại là phim trong
nước và phim nước ngoài, trong đó thị trường phim trong nước chiếm tỉ lệ thấp hơn
các phim nước ngoài. Các phim nước ngoài được trình chiếu lại chia làm hai loại là
phim phụ đề và phim thuyết minh, trong đó phim phụ đề chiếm tỉ lệ nhiều hơn do tạo
ra nhanh hơn, tốn kém ít chi phí hơn và nhiều người thích xem phim phụ đề hơn do
phim phụ đề vẫn đảm bảo được chất giọng của nhân vật trọng phim. Tuy vậy vẫn rất
có nhiều người thích xem phim thuyết minh hay chỉ xem được phim thuyết minh như:
người già mắt kém, trẻ em chưa biết đọc hay những người khuyết tật gặp những hội
chứng như khó đọc v.v. Tuy nhiên thị trường phim hiện tại lại chưa đáp ứng được
nhu cầu xem phim thuyết minh của họ. Dưới đây là một số lý do:
Chưa có thuyết minh: Để có một phim thuyết minh hoàn chỉnh ta phải đi qua rất
nhiều công đoạn: tìm giọng thuyết minh phù hợp, tìm địa điểm thuyết minh sao cho
không có tạp âm, đầu tư trang thiết bị cho phim… là các đầu vào cho phim. Tiếp đó
là đầu ra, sau khi cho ra các đoạn ghi âm, ta lại phải chỉnh sửa lại video và ghép các
âm thanh video với các đoạn ghi âm vừa tạo ra. Nói chung là để làm ra một phim
thuyết minh cần tốn nhiều chi phí về thời gian và tiền bạc, do vậy các phim tỉ lệ người
xem thấp thường không có thuyết minh.
Giọng thuyết minh chưa được đa dạng: Thị trường phim là chung cho cả nước,
tuy nhiên không ai bỏ thời gian và tiền bạc ra để thuyết minh để đáp ứng cho từng
vùng, do vậy một số phim thuyết minh được đánh giá là khó nghe bởi vì họ không
quen với giọng thuyết minh trong phim.
Từ các điều nêu trên em thấy cần đưa ra một ứng dụng có thể thuyết minh phim tự
động, nó giúp ta có thể giảm thiểu chi phí để tạo ra các bộ phim thuyết minh. Ứng
dụng thuyết minh phim tự động là ứng dụng được đưa ra để thay thế cho quá trình
thuyết minh phim, đáp ứng được các nhu cầu nêu trên. Do thị trường hiện tại thì phim
10
phụ đề nhiều hơn rất nhiều so với phim thuyết minh và quá trình tạo phụ đề nhanh
hơn quá trình lồng tiếng nên mục tiêu của ứng dụng là tạo ra thuyết minh phim dựa
vào các tập tin phụ đề đưa vào. Bằng việc sử dụng ứng dụng, người dùng có thể tạo
ra các tập tin âm thanh với nội dung trùng với nội dung video nhờ vào các tập tin phụ
đề của video, từ tập tin âm thanh được tạo ra ứng dụng hỗ trợ chạy song song.
Tổng hợp tiếng nói là quá trình tạo ra tiếng nói một cách nhân tạo. Một trong các
hình thức đặc trưng của tổng hợp tiếng nói là text-to-speech, nó chuyển từ nội dung
bằng văn bản sang nội dung bằng âm thanh. Một phần mềm text-to-speech về cơ bản
nó nhận đầu vào là một đoạn văn bản và chuyển đổi cho ra một tập tin âm thanh mà
ta có thể sử dụng.
Ứng dụng của tổng hợp tiếng nói được áp dụng cho nhiều đối tượng, lĩnh vực khác
nhau trong cuộc sống. Chẳng hạn như lĩnh vực giải trí đa phương tiện: Người đi làm,
trong khi lái xe họ không thể tập trung vào việc đọc văn bản hoặc khi đi làm về họ
không muốn căng mắt vào đọc các đoạn văn bản hiển thị trên màn hình nữa. Ngoài
ra nó còn được áp dụng hỗ trợ cho người mù, người gặp hội chứng khó đọc, …
1.2 Mục tiêu và phạm vi đề tài
Từ các vấn đề được đề cập đến ở trên, mục tiêu của luận văn là xây dựng một ứng
dụng cho phép người dùng tải lên phim, tải lên tệp phụ đề cho phim, chỉnh sửa phụ
đề, tạo thuyết minh cho phim với đầu vào là tệp phụ đề đã tải lên. Ứng dụng tích hợp
hệ thống tổng hợp tiếng nói Vbee của TS Nguyễn Thị Thu Trang để tổng hợp ra các
tập tin âm thanh thuyết minh.
Ứng dụng được xây dựng có định hướng là một ứng dụng xem phim nên cũng sẽ
cung cấp một số chức năng khác như:
o Đăng ký, đăng nhập, đăng xuất
o Quản lý phim người dùng đã đăng
o Quản lý phụ đề
o Xem phim thuyết minh
11
1.3 Bố cục luận văn
Sau khi xác định được mục tiêu, phạm vi đề tài và định hướng giải pháp, phần còn
lại của luận văn này được bố cục như sau.
Chương 2 đi vào phân tích xác định tổng quan chức năng và đặc tả cụ thể chức
năng của ứng dụng tạo phim thuyết minh tự động. Chương 3 đi sâu vào xây dựng giải
pháp thuyết minh phim tự động: kiến trúc ứng dụng, đặc tả chi tiết các thành phần
ứng dụng.
Dựa trên các phân tích yêu cầu ở chương 2 và các thiết kế hệ thống và thiết kế chi
tiết ở chương 3, chương 4 sẽ trình bày về việc xây dựng sản phẩm cụ thể là “Ứng
dụng tạo phim thuyết minh tự động”. Chương 4 cũng sẽ đề cập chi tiết các công nghệ
sử dụng để phát triển sản phẩm và các kết quả thực tế đã đạt được cho đến thời điểm
làm luận văn.
Cuối cùng, phần kết luận tổng hợp lại quá trình phát triển ứng dụng, những kết quả
đạt được, những điều chưa làm được, những bài học kinh nghiệm cần rút ra. So sánh
kết quả ứng dụng hoàn thành với những ứng dụng tương tự đã có mặt trên thị trường.
Nêu ra định hướng phát triển của ứng dụng trong tương lai đi kèm với đó là những
công việc, chức năng cần phát triển hoặc nâng cấp.
12
CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU
2.1 Khảo sát hiện trạng
Trên các trang web xem phim lớn như “phimmoi.net” thì lượt xem của phim thuyết
minh và phim có phụ đề thông thường không lệch nhau nhiều, từ đó cho thấy nhu cầu
xem phim thuyết minh rất lớn nhưng vấn đề là nguồn phim không nhiều và chất lượng
không được đảm bảo cho nên không đáp ứng được nhu cầu người xem phim thuyết
minh. Hiện nay chưa có bất kì ứng dụng xem phim trực tuyến nào cho phép người
dùng đăng tải phim và phụ đề sau đó chuyển thành phim thuyết minh. Hiện tại các
trang xem phim lớn ở Việt Nam có lượng dữ liệu phim rất lớn, nhưng phần lớn chỉ là
phim và phụ đề. Đặc biệt là những bộ phim mới ra mắt, sẽ dễ dàng tìm được phim
kèm với phụ đề, nhưng sẽ rất lâu sau mới xuất hiện phim có thuyết minh. Khi đó
người dùng muốn xem những bộ phim mới kèm thuyết minh thì phải đợi một thời
gian, thường là khá lâu đến khi website đó cập nhập phim.
Việc phải mất khá nhiều thời gian và công sức để tìm kiếm và xem một bộ phim
phần nào ảnh hưởng đến cảm giác thoải mái khi xem phim. Từ những vấn đề còn tồn
đọng trong việc tìm kiếm và xem phim thuyết minh, em đã thực hiện xây dựng ứng
dụng cho phép người dùng tự đăng tải phim có phụ đề, tạo thuyết minh cho phim một
cách tự động và sau đó có thể xem phim thuyết minh trên ứng dụng. Khi những phim
mới xuất hiện, người dùng muốn có phim thuyết minh sẽ đăng tải lên ứng dụng này,
khi đó ứng dụng có được lợi thế là luôn có những bộ phim mới nhất được cập nhật.
Trên nền tảng ứng dụng thuyết minh phim tự động gồm hệ thống ứng dụng công
nghệ tổng hợp tiếng nói đầu vào là một file dạng text của phụ đề, đầu ra của hệ thống
xử lý là file audio tương ứng. Các đối tượng của ứng dụng là người dùng có nhu cầu
xem phim thuyết minh, đã xác định được phim mình muốn xem và phụ đề của phim
tương ứng. Thực tế một phim sẽ có nhiều phụ đề được chia sẻ do có nhiều nhóm làm
phụ đề cho các chất lượng/nguồn phim khác nhau, các phụ đề này có thể khác nhau về
thời gian, giãn cách giữa các đoạn hoặc có chứa các nội dung về đánh dấu. Với thực
13
trạng đó đề tài đề xuất xây dựng Dịch vụ quản lý tổng hợp thuyết minh để lưu trữ và
xử lý phụ đề sau đó thực hiện tổng hợp thuyết minh từ phụ đề sau đó.
Để bảo mật thông tin, đảm bảo tính riêng tư của người dùng, phần mềm yêu cầu
mỗi người dùng cần phải đăng nhập, việc đăng nhập để xác thực danh tính, bảo mật
thông tin của phần mềm, cũng như tránh những xâm phạm không nhìn thấy từ bên
ngoài, luận văn xây dựng Dịch vụ đăng nhập xác thực người dùng bằng thư điện tử
và mật khẩu cho từng người dùng trong ứng dụng.
Đầu ra của dụng dịch vụ tổng hợp thuyết minh là một file âm thanh thuyết minh
tương ứng. Để xem được phim với file âm thanh thuyết minh này người dùng cần phát
file âm thanh thuyết minh và file video phim tương ứng. Ngoài ra từ một file phụ đề
cũng sẽ có thể có nhiều file thuyết minh tương ứng (mỗi lần thực hiện tạo thuyết minh
với cấu hình và file phụ đề khác nhau sẽ cho ra một file âm thanh thuyết minh khác
nhau). Luận văn xây dựng Dịch vụ quản lý phim và thuyết minh cho người dùng có
các quyền tùy chỉnh sửa, xóa, thêm mới, xem phim và thuyết minh.
2.2 Tổng quan các dịch vụ của ứng dụng
Hình 1. Tổng quan chức năng
14
Luồng hoạt động của ứng dụng đầu tiên từ người sử dụng dịch vụ tạo một tài khoản
từ giao diện đăng ký, người dùng sau khi đăng nhập có thể sử dụng các chức năng
của ứng dụng. Hình 1 mô tả phân cấp chức năng được xây dựng trong ứng dụng.
Biểu đồ use case tổng quan:
Hình 2. Biểu đồ use case tổng quan
Hình 2 mô tả ứng dụng có 3 tác nhân chính: khách, người dùng và TTS Engine.
Khách có thể đăng ký tài khoản để trở thành người dùng của ứng dụng, sau khi
đăng nhập người dùng có thể sử dụng các chức năng của ứng dụng bao gồm tải lên
phim, tải lên phụ đề, tạo thuyết minh cho phim.
15
TTS Engine là hệ thống tổng hợp tiếng nói, có vai trò tiền xử lý nội dung đầu vào
là file text đã được chuẩn hóa sau đó chuyển từ dạng văn bản sang dạng tiếng nói
dưới định dạng tệp âm thanh theo các giọng đọc tùy chọn.
Trong ứng dụng thuyết minh phim tự động, TTS Engine đóng vai trò là nơi cung
cấp tệp thuyết minh âm thanh đã tổng hợp cho ứng dụng. Các tệp âm thanh thuyết
minh có trong ứng dụng không thể thêm vào một cách tùy tiện mà chỉ có thể tổng
hợp thông qua TTS Engine.
2.2.1 Dịch vụ quản lý xác thực người dùng
Dịch vụ quản lý xác thực người dùng cho phép khách đăng ký tài khoản thông qua
tài khoản thư điện tử và mật khẩu, việc đăng nhập và xác thực tập trung và lưu thông
tin về người dùng. Chức năng chính của dịch vụ này là đăng nhập một lần sau đó sử
dụng tài khoản này để đăng nhập các dịch vụ quản lý tổng hợp thuyết minh và quản
lý phim. Hình 3 mô tả tương tác người dùng đến dịch vụ quản lý xác thực người dùng.
Hình 3. Biểu đồ use case quản lý xác thực người dùng
16
2.2.2 Dịch vụ quản lý tổng hợp thuyết minh
Dịch vụ quản lý tổng hợp thuyết minh cho phép lưu trữ và quản lý phụ đề của phim
muốn tổng hợp thuyết minh. Hình 4 mô tả tương tác người dùng và dịch vụ quản lý
tổng hợp thuyết minh.
Hình 4. Biểu đồ use case cho dịch vụ quản lý tổng hợp thuyết minh
Ba chức năng quan trọng trong dịch vụ này là chỉnh sửa lỗi phụ đề, cấu hình phụ
đề và tổng hợp thuyết minh. Đầu tiên người dùng sẽ upload file phụ đề cần tổng hợp
thông qua chức năng CURD phụ đề, sau đó sử dụng chức năng chỉnh sửa lỗi phụ đề
để loại bỏ các lỗi như lỗi chính tả, loại bỏ watermark. Chức năng cấu hình phụ đề cho
phép người dùng chọn các cấu hình cho phụ đề sẽ dùng để tổng hợp (VD: giọng nam
hay nữ, vùng miền), chức năng tổng hợp thuyết minh gọi đến hệ thống TTS Engine
chuyển từ file text nội dung sách sang file tiếng nói định dạng mp3.
2.2.3 Dịch vụ quản lý phim và thuyết minh
Dịch vụ quản lý phim và thuyết minh cho phép lưu trữ và quản lý phim người dùng
đã tải lên và các file âm thanh thuyết minh người dùng đã tổng hợp được. Ngoài ra
luận văn cũng xây dựng chức năng xem phim, cho phép người dùng xem phim thuyết
17
minh trực tiếp trên ứng dụng với phim và thuyết minh đã tổng hợp được, phim sẽ
được phát song song với phụ đề, đảm bảo đồng bộ trạng thái giữa video phim và âm
thanh thuyết minh. Hình 5 mô tả tương tác người dùng và dịch vụ quản lý phim và
thuyết minh.
Hình 5. Biểu đồ use case dịch vụ quản lý phim và thuyết minh
2.3 Đặc tả use case
Phần này em sẽ đưa ra đặc tả chi tiết cho các chức năng trong ứng dụng. Để tránh
lan man em chỉ đưa đặc tả của một số chức năng. Như đã đề cập ở trên, các chức năng
quan trọng sẽ được đặc tả bao gồm: tổng hợp thuyết minh, cấu hình phụ đề và xem
phim.
2.3.1 Đặc tả use case tổng hợp thuyết minh
Bảng 1. Đặc tả use case tổng hợp thuyết minh
Mã use case
UC001
Tác nhân
Thành viên
Tiền
kiện
Tên use case
Tổng hợp thuyết minh
điều Người dùng đã đăng nhập, là chủ của phim và đang trong màn hình
quản lý sub
18
- Xem thêm -