Nhằm hướng đến sử dụng các tài nguyên video có ích được chia sẽ lên Youtube, để có thể sử dụng các hình ảnh, âm thanh và các đoạn thoại được chuyển sang văn bản có trong video.. Sau hơn
Trang 1TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN – TRUYỀN THÔNG
TIỂU LUẬN TỐT NGHIỆP
ĐỀ TÀI: TÌM KIẾM, TẢI VỀ VÀ TIỀN XỬ LÝ
YOUTUBE VIDEOS
Giáo viên hướng dẫn:
TS PHẠM THẾ PHI
Sinh viên thực hiện:
NGUYỄN THANH TÂM DC17V7K012
NGUYỄN HÀ QUY DC17V7K011
Trang 2TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc
PHIẾU ĐỀ NGHỊ ĐỀ TÀI TỐT NGHIỆP
NĂM HỌC: 2018 – 2019
1 Họ và tên cán bộ hướng dẫn: TS Phạm Thế Phi
2 Tên đề tài: TÌM KIẾM, TẢI VỀ VÀ TIỀN XỬ LÝ YOUTUBE VIDEOS
3 Địa điểm thực hiện: Đại học Cần Thơ
4 Sinh viên thực hiện:
- Nguyễn Thanh Tâm
- Với danh sách các url từ bước 1, tải các video tương ứng về lưu trữ trên đĩa +
mô tả chi tiết về nó
- Với mỗi video, chuyển phần giọng nói sang văn bản
- Với mỗi video, cắt nó thành các cảnh (scences)
6 Các nội dung chính:
Chương 1: Tổng quan về đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Kết quả ứng dụng
Chương 4: Kết luận và đánh giá
Chương 5: Tài liệu tham khảo
DUYỆT CỦA HỘI ĐỒNG THI & XÉT TỐT NGHIỆP
Trang 3TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc
NHẬN XÉT VÀ ĐÁNH GIÁ CỦA CÁN BỘ HƯỚNG DẪN
1 Họ và tên cán bộ hướng dẫn: TS Phạm Thế Phi
2 Tên đề tài: TÌM KIẾM, TẢI VỀ VÀ TIỀN XỬ LÝ YOUTUBE VIDEOS
3 Sinh viên thực hiện:
- Nguyễn Thanh Tâm
- Nguyễn Hà Quy
- Lê Minh Luân
- Lý Minh Hảo
4 Nhận xét:
a Nhận xét về hình thức của tập thuyết minh:
b Nhận xét về chương trình ứng dụng
c Nhận xét về nội dung của tiểu luận *Các nội dung và công việc đã đạt được
*Những vấn đề còn hạn chế:
d Nhận xét đối với từng sinh viên tham gia thực hiện đề tài
e Kết luận, đề nghị
5 Điểm đánh giá:
TP Cần Thơ, ngày….tháng… năm……
Cán bộ hướng dẫn
Trang 4LỜI CẢM ƠN
Tiểu luận tốt nghiệp là một hoạt động nằm trong chương trình học của sinh viên ngành công nghệ thông tin hệ đào tạo vừa học vừa làm, đây là cơ hội cho sinh viên thâm nhập thực tế, vận dụng kiến thức đã học về chuyên môn Đây là cơ hội để chúng em bắt kịp với xu hướng của công nghệ hiện đại
Để có thể hoàn thành thuận lợi phần tiểu luận của mình, chúng em xin chân thành cảm ơn Ban giám hiệu nhà trường, quý thầy cô khoa Công nghệ thông tin và truyền thông đã luôn hỗ trợ cũng như tạo mọi điều kiện thuận lợi cho chúng em Đặc biệt, chúng
em xin gửi lời cảm ơn sâu sắc đến TS Phạm Thế Phi, thầy đã tận tình chỉ dạy, hướng dẫn cũng như luôn giúp đỡ chúng em vượt qua mọi khó khăn để có thể hoàn thành tốt nhất có thể phần tiểu luận tốt nghiệp của mình
Tuy nhiên, do thời gian thực tập có hạn cũng như vốn kiến thức bản thân còn nhiều hạn chế nên khó tránh khỏi những thiếu sót nhất định Vì vậy, chúng em rất mong nhận được sự góp ý từ quý thầy cô để bài báo cáo được hoàn thiện hơn, đồng thời khắc phục những lỗ hỏng kiến thức còn mắc phải của bản thân
Chúng em xin chân thành cảm ơn!
Trang 5MỤC LỤC
Trang
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Sự phát triển của Youtube .1
1.2 Ưu – Nhược điểm của Youtube 1
1.2.1 Ưu điểm từ Youtube 1
1.2.2 Nhược điểm từ Youtube 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 Ngôn ngữ Python 3
2.2 Các thư viện hỗ trợ 4
2.3 Quy trình thực hiện đề tài 7
CHƯƠNG 3: KẾT QUẢ ỨNG DỤNG 8
3.1 Tìm kiếm video từ khóa: 8
3.2 Tải video mong muốn 8
3.3 Kết quả 9
CHƯƠNG 4: KẾT LUẬN VÀ ĐÁNH GIÁ 14
4.1 Kết luận 14
4.1.1 Ưu điểm: 14
4.1.2 Hạn chế: 14
4.2 Đánh giá 14
4.3 Hướng phát triển 14
TÀI LIỆU THAM KHẢO 15
Trang 6LỜI NÓI ĐẦU
Năm 2005 Yotube chính thức hoạt động trên Internet Từ trang mạng xã hội chia
sẽ Video miễn phí, giờ đây Youtube đã chiếm lĩnh thị phần ứng dụng video trên toàn thế giới
Nhằm hướng đến sử dụng các tài nguyên video có ích được chia sẽ lên Youtube,
để có thể sử dụng các hình ảnh, âm thanh và các đoạn thoại được chuyển sang văn bản
có trong video Chúng em sử dụng Python, một công nghệ mới mang tính đột phá, với việc sử dụng nhiều thư viện sẵn có để thực hiện đề tài này
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Sự phát triển của Youtube
Youtube là một sản phẩm của quảng cáo Google và đây cũng là kênh lưu trữ, chia sẻ video lớn nhất thế giới hiện nay Mặc dù ban đầu, vào năm 2005 Youtube không phải được tạo ra từ chính tay Google nhưng chỉ 1 năm sau đó nó đã được Google mua lại và bắt đầu công cuộc khai phát, phát triển và có được những thành quả như ngày hôm nay
Ngay sau thời điểm được mua lại từ Google, khác biệt rõ ràng nhất mà người ta cảm nhận được so với trước thời điểm nó chưa phải thuộc Google đó là về tốc độ load các video, tốc độ load video nhanh hơn hẳn so với trước và đó là điều làm tất cả người dùng cảm thấy hài lòng Sau hơn 10 năm phát triển, đến nay thì Youtube đã được phổ biến trên đa phần các quốc gia trên thế giới và nó cũng đang được phát triển với hơn 76 nền tảng ngôn ngữ khác nhau phục vụ người dùng Hiện tại bạn có thể sử dụng Youtube với bất kỳ loại ngôn ngữ là bạn muốn, từ tiếng Anh cho đến tiếng Việt, tiếng Hàn
Ngoài việc phát triển kênh Youtube phục vụ người dùng, Youtube cũng tạo ra lợi ích cho chính họ cùng các nhà phát triển nội dùng bằng dịch vụ quảng cáo mà họ phát triển Trong đó thì các nhà làm nội dung video sẽ là tối tác quảng cáo của Youtube, Youtube sẽ phân phát quảng cáo trên các video, khoản tiền thu được từ quảng cáo sẽ được Youtube chia sẻ lại với các đối tác nội dung này Dịch vụ quảng cáo trên Youtube cũng đang được đánh giá cao nhờ vào việc nó mang lại một tỷ lệ chuyển đổi, một hiệu quả kinh doanh tốt cho các doanh nghiệp Đối với người dùng, quảng cáo cũng giúp họ nhanh chóng tìm thấy những sản phẩm họ cần mà không cần phải mất nhiều thời gian
để tìm kiếm
1.2 Ưu – Nhược điểm của Youtube
1.2.1 Ưu điểm từ Youtube
Youtube là nơi lưu trữ của hàng tỷ các video, thuộc nhiều chủ đề thể loại khác nhau và nhờ vào đó người dùng có thể nhanh chóng tìm thấy những gì họ cần với chỉ vài thao tác
Với các video bạn đăng tải lên Youtube bạn hoàn toàn có thể kiếm tiền từ nó nếu
có sự đầu
Youtube là nơi để thõa mãn niềm đam mê với các video của tất cả mọi người Bạn có thể xem Youtube trên đa dạng những nền tảng thiết bị khác nhau, từ thiết
bị máy tính cho đến di động, chỉ cần có kết nối internet
Tốc độ load các video nhanh chóng mang lại trải nghiệm tốt cho người dùng trong quá trình sử dụng
Trang 8Dịch vụ quảng cáo từ kênh này cũng mang lại những lợi ích không chỉ cho Youtube mà còn cho cả các doanh nghiệp, nhà quảng cáo mà còn cho tất cả các người dùng lẫn các nhà sản xuất nội dung, các Youtube Partner
1.2.2 Nhược điểm từ Youtube
Những video được đăng tải lên Youtube ngày một nhiều và liên tục hơn với nhiều chủ đề, thể loại khác nhau, chính điều này làm cho Youtube không thể nào kiểm soát được hết những nội dung video trên kênh của mình Điều này cũng khiến cho các video có nội dung xấu có cơ hội xuất hiện, tiếp cận người dùng, gây ảnh hưởng đến tâm
lý cũng như lối sống xã hội
Cũng do chưa kiểm soát tốt được các nội dung video trên trang của mình nên tình trạng các video sao chép upload lại tràn lên trên Youtube, tình trạng này khiến cho lợi ích của những nhà sản xuất nội dung gốc không được đảm bảo
Trang 9CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Ngôn ngữ Python
Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guido van Rossum Nó dễ dàng để tìm hiểu và đang nổi lên như một trong những ngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động Python có cấu trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng,
dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng
để viết script và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng
* Tính năng chính của Python:
Ngôn ngữ lập trình đơn gi ản, dễ học: Python có cú pháp rất đơn giản, rõ ràng
Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác như C++, Java, C# Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập trung vào những giải pháp chứ không phải cú pháp
Miễn phí, mã nguồn mở: Bạn có thể tự do sử dụng và phân phối Python, thậm
chí là dùng cho mục đích thương mại Vì là mã nguồn mở, bạn không những có thể sử dụng các phần mềm, chương trình được viết trong Python mà còn có thể thay đổi mã nguồn của nó Python có một cộng đồng rộng lớn, không ngừng cải thiện nó mỗi lần cập nhật
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng này
sang nền tảng khác và chạy nó mà không có bất kỳ thay đổi nào Nó chạy liền mạch trên hầu hết tất cả các nền tảng như Windows, macOS, Linux
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự phức tạp
rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngôn ngữ khác (có thể gọi được từ C) vào code Python Điều này sẽ cung cấp cho ứng dụng của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm được
Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với Python, bạn không
phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những dữ liệu vô nghĩa, Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy tính
có thể hiểu Bạn không cần lo lắng về bất kỳ hoạt động ở cấp thấp nào
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có một
số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn trở nên dễ thở hơn rất nhiều, đơn giản vì không phải tự viết tất cả code Ví dụ: Bạn cần kết nối cơ sở dữ liệu MySQL trên Web server? Bạn có thể nhập thư viện MySQLdb và sử dụng nó
Trang 10Những thư viện này được kiểm tra kỹ lưỡng và được sử dụng bởi hàng trăm người Vì vậy, bạn có thể chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của mình
Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng Lập trình
hướng đối tượng (OOP) giúp giải quyết những vấn đề phức tạp một cách trực quan Với OOP, bạn có thể phân chia những vấn đề phức tạp thành những tập nhỏ hơn bằng cách tạo ra các đối tượng
2.2 Các thư viện hỗ trợ
Urllib: là một mô-đun của Python có thể dùng để mở các URL Nó định nghĩa
các hàm và lớp giúp thao tác với URL
Với Python, bạn cũng có thể truy cập và trích xuất dữ liệu từ internet như XML, HTML, JSON, v.v Bạn cũng có thể sử dụng Python để xử lý trực tiếp các dữ liệu này Trong hướng dẫn này, chúng ta sẽ xem làm thế nào chúng ta có thể lấy dữ liệu từ web Ví dụ:
ở đây chúng ta sử dụng URL video guru99.com và chúng ta sẽ truy cập URL cũng như
in tệp HTML của URL này bằng Python
Pytube: là một thư viện nhẹ được viết bằng Python Nó không có sự phụ thuộc
của bên thứ ba và nhằm mục đích có độ tin cậy cao Pytube cho phép bạn chỉ định các hàm gọi lại cho các sự kiện tải xuống khác nhau, chẳng hạn như on progress hoặc on complete
Tính năng, đặc điểm
Hỗ trợ cho cả hai luồng lũy tiến và DASH
Hỗ trợ tải xuống danh sách phát hoàn chỉnh
Dễ dàng đăng ký on_download_progressvà on_download_complete gọi lại
Bao gồm dòng lệnh
Hỗ trợ theo dõi chú thích
Đầu ra Chú thích theo dõi đến định dạng srt (Phụ đề SubRip)
Khả năng nắm bắt URL hình thu nhỏ
Mã nguồn tài liệu rộng rãi
Không phụ thuộc vào bên thứ ba
Beautiful Soup: là một thư viện Python để trích xuất dữ liệu từ các tập tin HTML
Có bốn đối tượng Python chính mà bạn cần biết: Tag, NavigableString, BeautifulSoup và Comment
Đối tượng Tag chỉ về một thẻ XML hoặc HTML thật sự trong tài liệu Bạn có thể truy cập vào tên của thẻ bằng tag.name Bạn cũng có thể đặt tên thành một cái gì đó khác Thay đổi tên sẽ được hiển thị trong markup do Beautiful Soup tạo ra
Bạn có thể truy cập các thuộc tính khác nhau như class và id của thẻ bằng tag['class'] và tag['id']tương ứng Bạn cũng có thể truy cập vào toàn bộ từ điển của các thuộc tính bằng tag.attrs Bạn cũng có thể thêm, xóa hoặc sửa đổi các thuộc tính của
Trang 11thẻ Các thuộc tính như class của một phần tử có thể lấy nhiều giá trị được lưu trữ dưới dạng một danh sách
Văn bản bên trong một thẻ được lưu trữ như là một NavigableString trong Beautiful Soup Nó có một vài phương thức hữu ích như replace_with("string") để thay thế văn bản trong một thẻ Bạn cũng có thể chuyển đổi một NavigableString thành unicode bằng cách sử dụng unicode()
Beautiful Soup cũng cho phép bạn truy cập các comment trong một trang web Các comment này được lưu trữ dưới dạng một đối tượng Comment, về cơ bản cũng
là NavigableString
Bạn đã học về đối tượng BeautifulSoup trong phần trước Nó được sử dụng để đại diện cho toàn bộ tài liệu Vì nó không phải là một đối tượng thực tế, nên nó không có bất kỳ tên hoặc thuộc tính nào
Speech recognition: là thư viện để thực hiện nhận dạng giọng nói, với sự hỗ trợ
cho một số công cụ và API, trực tuyến và ngoại tuyến
Công cụ nhận dạng giọng nói / hỗ trợ API:
- CMU Sphinx (works offline)
- Google Speech Recognition (Nhận dạng giọng nói của Google)
- Google Cloud Speech API
- Wit.ai
- Microsoft Bing Voice Recognition (Nhận dạng giọng nói Microsoft Bing)
- Houndify API
- IBM Speech to Text
- Snowboy Hotword Detection (works offline) (Phát hiện từ nóng Snowboy)
OpenCV: là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính
(computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực
OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi Được sử dụng trên khắp thế giới, OpenCV
có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot
OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm:
- Hình ảnh street view