Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Tạo phụ đề từ video

Tải audio từ YouTube (hoặc nhận file cục bộ), nhận dạng giọng nói bằng Whisper, xuất ra file .srt và .vtt kèm timestamp.

Vì sao có repo này thay vì file phụ đề luôn

Phiên làm việc tạo ra repo này chạy trong môi trường bị chặn mạng ra YouTube (proxy trả 403 với mọi host youtube.com, youtu.be, googlevideo.com). Không tải được video thì không nhận dạng được. Nên phần làm được là bộ script chạy trên máy bạn — nơi có internet.

Cài đặt

Cần Python 3.9+ và ffmpeg.

# ffmpeg
brew install ffmpeg            # macOS
sudo apt install ffmpeg        # Ubuntu/Debian

# thư viện Python
pip install -r requirements.txt

Dùng

# Từ URL YouTube, tự phát hiện ngôn ngữ
python generate_subtitles.py "https://youtu.be/DP5DkEEcCjQ"

# Ép tiếng Việt, model lớn hơn cho chính xác, xuất cả srt lẫn vtt
python generate_subtitles.py "https://youtu.be/DP5DkEEcCjQ" \
    --language vi --model medium --format srt vtt --name DP5DkEEcCjQ

# Từ file cục bộ
python generate_subtitles.py video.mp4 --out-dir phude

Đường dẫn file phụ đề được in ra stdout; log tiến trình in ra stderr.

Tham số

Tham số Mặc định Ý nghĩa
source bắt buộc URL YouTube hoặc đường dẫn file audio/video
--model small tiny/base/small/medium/large-v3. To hơn = chính xác hơn, chậm hơn, tốn RAM hơn
--language tự phát hiện Mã ngôn ngữ ép buộc, vd vi, en
--out-dir . Thư mục xuất
--format srt srt, vtt, hoặc cả hai
--name subtitles Tên file, không kèm đuôi

Chọn model

Tiếng Việt nên dùng tối thiểu small, video quan trọng thì medium hoặc large-v3. tiny/base chạy nhanh nhưng sai nhiều với tiếng Việt. Lần đầu chạy sẽ tải trọng số model về, vài trăm MB đến ~3GB tùy cỡ.

Mặc định script thử faster-whisper trước (nhanh hơn nhiều, ăn ít RAM). Không có thì tự chuyển sang openai-whisper.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages