Chuyển đến nội dung chính
Hướng dẫn AI

Biến video YouTube thành video ngắn do AI tạo bằng Python

Tìm hiểu cách cài đặt và sử dụng AI Shorts Generator, công cụ Python mã nguồn mở biến video YouTube hoặc video cục bộ thành các đoạn video dọc với tính năng chuyển lời nói thành văn bản, xếp hạng điểm nổi bật bằng AI, tự động cắt khung hình, phụ đề và hook tùy chọn.

Biến video YouTube thành video ngắn do AI tạo bằng Python

AI Shorts Generator là gì?

AI Shorts Generator là giải pháp thay thế miễn phí, mã nguồn mở cho các sản phẩm SaaS tạo video ngắn như OpusClip và Vidyo.ai. Công cụ nhận URL YouTube hoặc tệp video cục bộ, tìm những khoảnh khắc tiềm năng và kết xuất thành các video ngắn sẵn sàng đăng mà không có watermark hoặc yêu cầu tín dụng trước khi cắt.

Dự án kết hợp tính năng phiên âm cục bộ với một nhà cung cấp LLM. faster-whisper tạo bản chép lời có dấu thời gian, trong khi OpenAI, Gemini hoặc MuAPI phân tích bản chép lời đó để xác định và xếp hạng các đoạn nổi bật tiềm năng.

Ví dụ video ngắn dọc đã xử lý

Quy trình xử lý hoạt động như thế nào

  1. Tải xuống hoặc nạp: Ứng dụng tải video YouTube xuống hoặc đọc đường dẫn đến video cục bộ.
  2. Phiên âm: faster-whisper tạo bản chép lời có dấu thời gian ngay trên máy.
  3. Phân loại: LLM được chọn phát hiện loại nội dung và nhịp độ, chẳng hạn như phỏng vấn, podcast, hướng dẫn hoặc vlog.
  4. Xếp hạng đoạn nổi bật: LLM đánh giá các khoảnh khắc dựa trên những tín hiệu như câu mở đầu thu hút, cao trào cảm xúc, phát hiện mới, xung đột, phát biểu đáng trích dẫn, cao trào câu chuyện và giá trị thực tiễn.
  5. Loại bỏ phần chồng lặp: Các ứng viên trùng lặp được loại bỏ dựa trên điểm số.
  6. Chọn đoạn clip: Các ứng viên có thứ hạng cao nhất được chọn theo tùy chọn --n.
  7. Kết xuất: Mỗi lựa chọn được tự động cắt theo tỷ lệ khung hình yêu cầu. Trừ khi bị tắt, một câu mở đầu do AI tạo, phù hợp với ngữ cảnh, sẽ được thêm vào đầu video.

Tính năng chính

  • Hỗ trợ YouTube và video cục bộ: Xử lý URL video hoặc tệp đã lưu trên máy tính.
  • Tự động chọn đoạn nổi bật: Tìm những khoảnh khắc có tiềm năng cao cho nội dung dạng ngắn.
  • Kết xuất video dọc: Tạo video 9:16 phù hợp với các nền tảng video ngắn.
  • Nhiều đầu ra: Kết xuất nhiều đoạn nổi bật từ một nguồn bằng --n.
  • Câu mở đầu do AI tạo: Thêm câu mở đầu phù hợp với ngữ cảnh hoặc tắt bằng --no-hook.
  • Phụ đề, dịch thuật và lồng tiếng: Dự án tập hợp các khả năng xử lý nội dung này trong một quy trình duy nhất.
  • Giao diện web cục bộ: Xếp hàng nhiều video và cấu hình tùy chọn kết xuất trực quan.
  • Có API: Có thể tích hợp trình tạo vào các dự án khác thông qua API.

Yêu cầu

Trước khi bắt đầu, hãy đảm bảo môi trường của bạn có những thành phần sau:

  • Python 3.10 trở lên
  • Khóa API cho OpenAI, Gemini hoặc MuAPI
  • Git để sao chép kho lưu trữ
  • Các gói Python được liệt kê trong requirements.txt

Gemini cung cấp gói miễn phí với giới hạn hằng ngày. OpenAI tính phí, trong khi MuAPI cung cấp quyền truy cập trả phí theo lượt sử dụng mà không cần đăng ký. Lấy khóa từ Google AI Studio, OpenAI Platform hoặc MuAPI.

Cài đặt và thiết lập

1. Sao chép kho lưu trữ

git clone https://github.com/pierrenade/short-video-generator-AI.git
cd short-video-generator-AI

2. Tạo môi trường ảo

Tạo môi trường Python riêng để các gói của dự án không xung đột với những bản cài đặt khác.

python -m venv venv

Trên Windows, kích hoạt bằng:

venv\Scripts\activate

Trên Linux hoặc macOS, kích hoạt bằng:

source venv/bin/activate

3. Cài đặt các phần phụ thuộc

pip install -r requirements.txt

4. Cấu hình tệp môi trường

Tạo hoặc chỉnh sửa tệp .env trong thư mục dự án. Đặt LLM_PROVIDER thành openai, gemini hoặc muapi, sau đó cung cấp khóa API tương ứng.

LLM_PROVIDER=openai

OPENAI_API_KEY=your_openai_key_here
OPENAI_MODEL=gpt-4o-mini

GEMINI_API_KEY=your_gemini_key_here
GEMINI_MODEL=gemini-2.5-flash

MUAPI_API_KEY=your_muapi_key_here

LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=auto

Bạn chỉ cần khóa API hợp lệ cho nhà cung cấp được chọn bởi LLM_PROVIDER. Các thiết lập mô hình OpenAI và Gemini là tùy chọn.

Chọn thiết lập Whisper

LOCAL_WHISPER_MODEL chấp nhận tiny, base, small, medium hoặc large-v3. README sử dụng base làm cấu hình khởi đầu.

LOCAL_WHISPER_DEVICE chấp nhận auto, cpu hoặc cuda. Hãy giữ auto trừ khi bạn cần buộc xử lý bằng CPU hoặc CUDA.

Tạo video ngắn đầu tiên

Truyền URL YouTube vào main.py:

python main.py "https://www.youtube.com/watch?v=video_id"

Khi quá trình xử lý hoàn tất, các đoạn clip đã kết xuất sẽ được lưu trong thư mục output.

Kết quả video ngắn do AI tạo

Kiểm soát đầu ra

Ví dụ sau tạo ba đoạn video dọc và yêu cầu độ phân giải tải xuống video nguồn là 1080:

python main.py "https://www.youtube.com/watch?v=video_id" \
  --n 3 \
  --ratio 9:16 \
  --resolution 1080

Các tùy chọn dòng lệnh hiện có

  • --n: Đặt số lượng clip cần kết xuất. Giá trị mặc định là 3.
  • --ratio: Đặt tỷ lệ khung hình đầu ra. Giá trị mặc định là 9:16; dùng 1:1 cho đầu ra hình vuông hoặc cung cấp một tỷ lệ khác.
  • --resolution: Đặt độ phân giải tải xuống của video nguồn. Các giá trị được dự án hỗ trợ là 360, 480, 720 và 1080. Giá trị mặc định là 720.
  • --language: Buộc sử dụng mã ngôn ngữ Whisper, chẳng hạn en. Theo mặc định, hệ thống sẽ tự động phát hiện ngôn ngữ.
  • --no-hook: Ngăn không cho thêm phần mở đầu do AI tạo vào đầu mỗi clip.

Xử lý video cục bộ

Có thể thay URL YouTube bằng đường dẫn tệp cục bộ. Ví dụ này tạo bốn clip dọc ở độ phân giải 720 và buộc phiên âm tiếng Trung:

python main.py "/Users/Admin/Folder/video.mp4" \
  --n 4 \
  --ratio 9:16 \
  --resolution 720 \
  --language zh

Hãy sử dụng đường dẫn tuyệt đối hoặc tương đối phù hợp với hệ điều hành của bạn. Đặt đường dẫn trong dấu ngoặc kép sẽ hữu ích khi tên thư mục hoặc tệp có chứa khoảng trắng.

Sử dụng giao diện web cục bộ

Phiên bản web cung cấp cách trực quan để xếp hàng nhiều video và điều chỉnh các tùy chọn kết xuất. Việc chọn nhà cung cấp và thông tin xác thực API vẫn được lấy từ .env; giao diện xử lý đầu vào video và các tùy chọn kết xuất.

1. Khởi động backend

python3 server.py

2. Phục vụ frontend

Mở một terminal khác, di chuyển vào thư mục web và khởi động máy chủ HTTP tĩnh:

cd web
python3 -m http.server 8000

3. Mở giao diện

Truy cập http://localhost:8000/shorts-generator-ui.html trong trình duyệt.

Mẹo nâng cao

Điều chỉnh tỷ lệ khung hình theo nơi đăng

Dùng --ratio 9:16 cho video ngắn dọc thông dụng. Dùng --ratio 1:1 khi cần clip hình vuông. Dự án cũng chấp nhận các tỷ lệ khác.

Buộc chọn ngôn ngữ khi việc phát hiện không chắc chắn

Phát hiện ngôn ngữ tự động là mặc định. Nếu đã biết ngôn ngữ được nói, hãy truyền mã ngôn ngữ Whisper tương ứng bằng --language, chẳng hạn --language en.

Chọn số lượng ứng viên cần kết xuất

Giá trị mặc định --n 3 tạo ra ba đoạn nổi bật được chọn. Tăng giá trị này khi muốn có thêm ứng viên từ video nguồn dài, hoặc giảm xuống khi chỉ cần kết quả nổi bật nhất.

Tắt phần mở đầu khi đoạn mở đầu gốc đã đủ

Phần mở đầu được tạo là tùy chọn. Thêm --no-hook nếu muốn mỗi clip bắt đầu trực tiếp bằng đoạn đã chọn từ nguồn:

python main.py "https://www.youtube.com/watch?v=video_id" --n 2 --no-hook

Cân đối tài nguyên phiên âm

Các mô hình Whisper hiện có trải dài từ tiny đến large-v3. Hãy chọn mô hình phù hợp với máy của bạn và chỉ sử dụng LOCAL_WHISPER_DEVICE=cuda khi có môi trường CUDA tương thích. Nếu không, auto sẽ cho phép ứng dụng tự chọn thiết bị.

Không đặt thông tin xác thực trực tiếp trong lệnh

Lưu khóa của nhà cung cấp trong .env thay vì đặt trực tiếp trong lệnh terminal hoặc mã nguồn. Tránh commit các tệp môi trường đã điền thông tin khi fork hoặc đóng góp cho kho mã.

Kết luận

AI Shorts Generator cung cấp quy trình cục bộ, mã nguồn mở để chuyển các video YouTube hoặc video cục bộ dài thành những clip dạng ngắn. Sau khi cấu hình Python, nhà cung cấp LLM và các thiết lập Whisper cục bộ, bạn có thể tạo nhiều clip được tự động chọn từ dòng lệnh hoặc sử dụng giao diện trên trình duyệt để quản lý đầu vào và tùy chọn kết xuất.

Dự án được phát hành theo Giấy phép MIT. Bạn có thể báo cáo vấn đề, đóng góp thay đổi hoặc fork dự án từ kho GitHub.