[Cập nhật] Hướng dẫn cài đặt và sử dụng trên Windows và Mac OS X
[Cập nhật] Các bạn cài chương trình cho Windows chú ý nếu quá trình chạy bị lỗi hãy thay thế file autosub_app.py như ở bước 4.
[Cập nhật] Một số bạn gặp lỗi khi chạy lệnh python và pip trên cmd bị lỗi (‘pip’ is not recognized as an internal or external command) thì hãy thêm đường dẫn của hai thư mục C:\Python27\ và C:\Python27\Scripts (hoặc tương tự) vào biến môi trường Path nhé.
Các bạn đã bao giờ xem một bộ phim tiếng Anh nhưng chưa có phụ đề. Hay các bạn học theo một tutorial tải ở trên mạng bằng tiếng Anh, cố gắng nghe đi nghe lại nhưng không thể nghe được người ta nói gì chưa? Gần đây nhiều người có một giải pháp đó là upload video đó lên youtube và chờ youtube tạo sẵn phụ đề cho mình. Mặc dù youtube nhận diện khá tốt tuy nhiên đây là một công việc khá mất thời gian khi phải tải video lên youtube, sau đó lại xem trực tuyến trên youtube, đó là còn chưa kể đến các vấn đề về bản quyền nữa. Do đó, trong bài viết này mình sẽ hướng dẫn các bạn sử dụng công cụ Autosub để có thể nhanh chóng tạo phụ đề cho một video tiếng Anh bất kì.
Giới thiệu
Autosub là một công cụ được viết bằng ngôn ngữ lập trình Python, nguyên lý hoạt động của nó là sẽ tách phần âm thanh của video ra, sau đó upload lên mạng và sử dụng Google Web Speech API để nhận diện, tạo ra phụ đề và cuối cùng là lưu xuống máy tính của mình. Thông tin thêm về Autosub các bạn có thể tìm kiếm thêm ở đây
Môi trường
Mình chạy autosub trên hệ điều hành Ubuntu 14.04 đã cài đặt Python. Các bạn cũng có thể sử dụng Windows hoặc Mac OS X để chạy công cụ.
Hướng dẫn cài đặt
Trên Ubuntu
- Trước hết là máy của bạn phải cài đặt Python đã, nếu chưa, hãy chạy lệnh
sudo apt-get update sudo apt-get install python python-dev sudo apt-get python pip
- Tiếp đến chúng ta cần phải cài đặt FFmpeg, sử dụng các lệnh sau
sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg -y
- Tiếp theo hãy cài đặt Autosub bằng lệnh
sudo pip install autosub
Trên Windows
- Trước hết là máy của bạn phải cài đặt Python đã, nếu chưa, tải tại địa chỉ (chọn phiên bản 2.x.x):
https://www.python.org/downloads/
Các bạn lưu ý là thêm đường dẫn của hai thư mục C:\Python27\ và C:\Python27\Scripts vào biến môi trường nhé. - Cài đặt FFmpeg
2.1. Tải FFmpeg tại địa chỉ https://ffmpeg.zeranoe.com/builds/, chọn phiên bản 32bit hay 64bit tùy thuộc vào máy tính của bạn
2.2. Giải nén file vừa tải về vào địa chỉC:\ffmpeg
, chú ý để cấu trúc file như hình
2.3. Thêm địa chỉ của ffmpeg vào biến môi trường. Chuột phải My Computer chọn Properties-> Advanced System Settings -> Advanced-> Environments Variables… Tim đến Path ở ô System variables chọn Edit, thêm vào thư mục bin của ffmpeg
- Cài đặt autosub:
3.1. Mở cmd bằng quyền admin
3.2. Chạy lệnhpip install autosub
- Di chuyển tới thư mục
C:\Python27\Scripts
đổi tên file autosub thành autosub_app.py, nếu trong quá trình chạy mà phát sinh lỗi bạn hãy thay thế file autosub_app.py bởi file này
Trên Mac OS X
- Cài đặt ffmpeg bằng lệnh
brew install ffmpeg
- Cài đặt autosub bằng lệnh
pip install autosub
Hướng dẫn sử dụng để nhận diện video, âm thanh tiếng Anh
Mình sẽ hướng dẫn các bạn sử dụng công cụ qua một ví dụ, đó là bài nói chuyện TED Talks “The mind behind Linux” với sự xuất hiện của Linus Torvalds. Các bạn có thể xem video này tại đây hoặc tải về tại đây.
0. Trước hết, hãy nhìn qua hướng dẫn sử dụng một lượt đã nhé (Nếu bạn sử dụng công cụ để tạo sub tiếng Anh thì không cần quan tấm lắm đến bước này). Các bạn hãy chú ý đặc biệt đến hai tham số -S và -D, đây là hai tham số ngôn ngữ được nói trong video và ngôn ngữ của file phụ đề sẽ được xuất ra.
$ autosub -h
usage: autosub [-h] [-C CONCURRENCY] [-o OUTPUT] [-F FORMAT] [-S SRC_LANGUAGE]
[-D DST_LANGUAGE] [--list-formats] [--list-src-languages]
[--list-dst-languages]
source_path
positional arguments:
source_path Path to the video or audio file
optional arguments:
-h, --help show this help message and exit
-C CONCURRENCY, --concurrency CONCURRENCY
Number of concurrent API requests to make
-o OUTPUT, --output OUTPUT
Output path for subtitles (by default, subtitles are
saved in the same directory and name as the source
path)
-F FORMAT, --format FORMAT
Destination subtitle format
-S SRC_LANGUAGE, --src-language SRC_LANGUAGE
Language spoken in source file
-D DST_LANGUAGE, --dst-language DST_LANGUAGE
Desired language for the subtitles
-K API_KEY, --api-key API_KEY
The Google Translate API key to be used. (Required for
subtitle translation)
--list-formats List all available subtitle formats
--list-src-languages List all available source languages
--list-dst-languages List all available destination languages
Trên Ubuntu
- Mở Terminal di chuyển đến thư mục chứa video
- Gõ lệnh
autosub [tên_video]
- Nếu thành công, phụ đề sẽ được lưu ngay cùng với thư mục chứa video.
- Enjoy. Kết quả rất tốt.
Trên Windows
- Di chuyển đên thư muc C:\Python27\Scripts
- Chọn File-> Open command prompt-> Open command prompt as administrator
- Gõ lệnh
python autosub_app.py [tên_video]
Nếu bạn gặp lỗi trong bước này thì hãy thay thế file autosub_app.py bởi file này. - Kết quả rất tốt, tương tự như trên Ubuntu.
Hướng dẫn sử dụng để nhận diện video, âm thanh tiếng Việt
Làm tương tự như nhận dạng tiếng Anh nhưng hãy thêm hai tham số:
Trên Ubuntu
autosub [tên_video] -S vi -D vi
Trên Windows
python autosub_app.py [tên_video] -S vi -D vi
Kết quả thử nghiệm cũng rất tốt trên video bản tin.
Nhận xét
Autosub sử dụng Google Web Speech API nên độ chính xác là khá cao, tốc độ thực thi tương đối nhanh, và dĩ nhiên, phụ thuộc vào tốc độ mạng của các bạn nữa. Các video từ 10 phút đổ xuống Autosub chỉ chạy trong vòng chưa đến 1 phút. Mình đã thử nghiệm nhận dạng sub cho bộ phim Big Hero 6 với độ dài 1 giờ 41 phút chương trình chạy chỉ trong vòng 4 phút. Cá nhân mình thấy Autosub rất hay, nhất là trong việc tạo sub tự động cho các video hướng dẫn chỉ bằng tiếng Anh, sẽ giúp đỡ rất nhiều trong quá trình học tập, tiếp cận thêm thông tin mà lại nhanh chóng hơn giải pháp sử dụng youtube.
Các bạn nếu trong quá trình cài đặt gặp lỗi gì hãy comment ở đây nhé, mình sẽ cố gắng giúp đỡ. Nếu bạn có giải pháp tốt hơn, hãy chia sẻ cho mình cùng biết với nhé. 😀
C:\Python27\Scripts>autosub_app.py pixsar.mp4
ffmpeg: Executable not found on machine.
Traceback (most recent call last):
File “C:\Python27\Scripts\autosub_app.py”, line 304, in
sys.exit(main())
File “C:\Python27\Scripts\autosub_app.py”, line 230, in main
audio_filename, audio_rate = extract_audio(args.source_path)
File “C:\Python27\Scripts\autosub_app.py”, line 140, in extract_audio
raise Exception(“Dependency not found: ffmpeg”)
Exception: Dependency not found: ffmpeg
C:\Python27\Scripts>
ThíchThích
nếu muốn ib tôi giúp cho nhé https://www.facebook.com/nguchamcom
ThíchThích
Làm không được ở đây thì vào chỗ này nhé:
https://sofsog.com/thu-thuat-chung/tu-dong-tao-phu-de-bang-autosub
ThíchThích
bạn nào cài ko dc ib minh hướng dẫn cho nhé https://www.facebook.com/nguchamcom
ThíchThích
có vào được FB bạn đâu
ThíchThích
m tải C:\ffmpeg về nhưng các mục lại ko giống như b đã chụp wor trên, ngoài ra 1 vài link b cho bảo gồm cả link fb cũng ko vào dk ạ. nản…..
ThíchThích
Bạn có thể xem video hướng dẫn tại đây : https://www.youtube.com/watch?v=QSo45hzkqHE
ThíchThích
Mọi người cho mih xin cách chạy sub file audio mp3 với ạ, mih không biết làm như thế nào cả?
ThíchThích
C:\Python27\Scripts>pip install autosub
Traceback (most recent call last):
File “c:\python27\lib\runpy.py”, line 162, in _run_module_as_main
“__main__”, fname, loader, pkg_name)
File “c:\python27\lib\runpy.py”, line 72, in _run_code
exec code in run_globals
File “C:\Python27\Scripts\pip.exe\__main__.py”, line 5, in
File “c:\python27\lib\site-packages\pip\__init__.py”, line 13, in
from pip.utils import get_installed_distributions, get_prog
File “c:\python27\lib\site-packages\pip\utils\__init__.py”, line 18, in
from pip.compat import console_to_str, stdlib_pkgs
File “c:\python27\lib\site-packages\pip\compat\__init__.py”, line 13, in
from pip.compat.dictconfig import dictConfig as logging_dictConfig
File “c:\python27\lib\site-packages\pip\compat\dictconfig.py”, line 22, in
import logging.handlers
File “c:\python27\lib\logging\handlers.py”, line 26, in
import errno, logging, socket, os, cPickle, struct, time, re
File “c:\python27\lib\socket.py”, line 47, in
import _socket
ImportError: DLL load failed: The specified procedure could not be found
mong bạn giúp đỡ
ThíchThích
Reblogged this on Colour Guy and commented:
Giải pháp tuyệt vời cho việc làm sub!
ThíchThích
chuyển từ sub en qua vi như thế nào ad ?
ThíchThích
Làm phiền anh chỉ giúp em chi tiết trên Mac với ạ, em làm thật sự không được 😦
ThíchThích
Bạ có thể hướng dẫn chi tiết cài trên Mac được không vậy, cám ơn nhiều.
ThíchThích
great way for MAC
ThíchThích