Cách xây dựng AI Video Editor hỗ trợ 19 ngôn ngữ: Whisper, GPT-4 và Voice Cloning
Giới thiệu
Xin chào cộng đồng Viblo! Tôi là Caio, founder của Shorts Factory — một nền tảng SaaS giúp tự động tạo video ngắn từ nội dung dài bằng AI. Trong bài viết này, tôi muốn chia sẻ kiến trúc kỹ thuật đằng sau việc xây dựng một AI video editor hỗ trợ 19 ngôn ngữ, bao gồm cả tiếng Việt.
Bài viết sẽ đi sâu vào các thành phần chính: Whisper cho speech-to-text, GPT-4 cho xử lý ngôn ngữ tự nhiên, face tracking cho video editing, và voice cloning cho dubbing đa ngôn ngữ.
1. Bài toán: Tại sao cần AI Video Editor đa ngôn ngữ?
Thị trường video ngắn đang bùng nổ trên toàn cầu. TikTok, YouTube Shorts, Instagram Reels — tất cả đều cần content creators sản xuất nội dung nhanh chóng. Tuy nhiên, phần lớn các công cụ hiện tại chỉ hỗ trợ tốt cho tiếng Anh.
Vấn đề cốt lõi:
- Phụ đề tự động thường sai nghiêm trọng với tiếng Việt và các ngôn ngữ tonal
- Không có giải pháp dubbing tự động chất lượng cao cho ngôn ngữ Đông Nam Á
- Workflow editing vẫn manual và tốn thời gian
Giải pháp của chúng tôi: Xây dựng pipeline AI end-to-end xử lý từ transcription → editing → dubbing cho 19 ngôn ngữ.
2. Kiến trúc hệ thống tổng quan
┌─────────────────────────────────────────────┐
│ Upload Service │
│ (Chunked upload, lên tới 10GB) │
├─────────────────────────────────────────────┤
│ AI Pipeline │
│ ┌─────────┐ ┌──────────┐ ┌────────────┐ │
│ │ Whisper │→ │ GPT-4 │→ │ Face │ │
│ │ STT │ │ NLP/Edit │ │ Tracking │ │
│ └─────────┘ └──────────┘ └────────────┘ │
│ ↓ ↓ ↓ │
│ ┌─────────────────────────────────────┐ │
│ │ Video Rendering Engine │ │
│ │ (Animated subtitles, transitions) │ │
│ └─────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ Voice Cloning & Dubbing Service │
│ (19 ngôn ngữ, clone giọng gốc) │
└─────────────────────────────────────────────┘
Stack công nghệ:
- Backend: Docker containers trên Hetzner VPS
- Database: PostgreSQL
- CDN: Cloudflare
- Frontend: 3 ứng dụng web với Tailwind CSS
3. Speech-to-Text với Whisper
3.1 Tại sao chọn Whisper?
OpenAI Whisper là model speech recognition mạnh nhất hiện tại cho đa ngôn ngữ. So sánh với các giải pháp khác:
| Model | Tiếng Việt WER | Tiếng Anh WER | Đa ngôn ngữ |
|---|---|---|---|
| Whisper Large-v3 | ~12% | ~5% | 99 ngôn ngữ |
| Google STT | ~15% | ~6% | 125 ngôn ngữ |
| AWS Transcribe | ~20% | ~7% | 37 ngôn ngữ |
3.2 Tối ưu cho tiếng Việt
Tiếng Việt là ngôn ngữ tonal với 6 thanh điệu, tạo thách thức lớn cho STT. Các kỹ thuật tối ưu:
- Pre-processing audio: Noise reduction + normalization trước khi đưa vào Whisper
- Chunk-based processing: Chia audio thành segments 30 giây để tối ưu VRAM
- Post-processing: Dùng GPT-4 để sửa lỗi transcription phổ biến với tiếng Việt
- Timestamp alignment: Word-level timestamps cho animated subtitles chính xác
# Ví dụ pipeline transcription
import whisper
model = whisper.load_model("large-v3")
def transcribe_vietnamese(audio_path):
# Pre-process: noise reduction
audio = preprocess_audio(audio_path)
# Transcribe với language hint
result = model.transcribe(
audio,
language="vi",
word_timestamps=True,
condition_on_previous_text=True
)
# Post-process: GPT-4 correction
corrected = gpt4_correct_vietnamese(result["text"])
return {
"text": corrected,
"segments": result["segments"],
"word_timestamps": extract_word_timestamps(result)
}
4. GPT-4 trong Video Editing Pipeline
4.1 Highlight Detection
Một trong những tính năng quan trọng nhất là tự động phát hiện "highlight moments" trong video dài. GPT-4 phân tích transcript để tìm:
- Emotional peaks: Câu nói gây cảm xúc mạnh
- Key insights: Thông tin giá trị nhất
- Viral potential: Đoạn có khả năng viral cao
4.2 Gaming Highlights
Đối với gaming content, chúng tôi kết hợp:
- Audio analysis: Phát hiện moments hò hét, phấn khích
- Chat activity: Spike trong chat = highlight moment
- Kill feed detection: Computer vision cho gaming UI
4.3 Smart Subtitle Styling
GPT-4 phân tích ngữ cảnh để tự động style subtitles:
- Từ khóa quan trọng → bold + màu nổi bật
- Câu hỏi → style khác biệt
- Emotional moments → animated effects
5. Face Tracking cho Smart Cropping
Khi convert video ngang (16:9) sang video dọc (9:16), face tracking là yếu tố quyết định chất lượng:
# Face tracking pipeline
import mediapipe as mp
class FaceTracker:
def __init__(self):
self.face_detection = mp.solutions.face_detection
self.detector = self.face_detection.FaceDetection(
min_detection_confidence=0.7
)
def track_faces(self, frames):
"""Track faces across video frames"""
face_positions = []
for frame in frames:
results = self.detector.process(frame)
if results.detections:
# Lấy bounding box của face chính
bbox = results.detections[0].location_data
face_positions.append(self.smooth_position(bbox))
else:
# Interpolate khi mất face
face_positions.append(self.interpolate_last())
return self.apply_smooth_crop(face_positions)
Các thách thức đã giải quyết:
- Multiple faces: Thuật toán chọn speaker chính dựa trên audio correlation
- Fast movement: Kalman filter để smooth camera movement
- Scene transitions: Detect cuts để reset tracking
6. Voice Cloning & Dubbing đa ngôn ngữ
Đây là tính năng "wow factor" — clone giọng nói gốc của creator và dub sang 19 ngôn ngữ khác, giữ nguyên tone và emotion.
6.1 Pipeline Dubbing
Original Audio (VI)
→ Whisper STT
→ GPT-4 Translation (VI → EN, JA, KO, ...)
→ TTS với Voice Clone
→ Audio Sync với lip movement
→ Final Video
6.2 Ngôn ngữ hỗ trợ
Hiện tại Shorts Factory hỗ trợ 19 ngôn ngữ: EN, PT, ES, FR, DE, IT, JA, KO, ZH, AR, TR, VI, HI, TH, ID, RU, PL, NL, SV.
Đặc biệt cho thị trường Đông Nam Á (VI, TH, ID), chúng tôi đã fine-tune models để xử lý tốt hơn các đặc trưng ngôn ngữ khu vực.
7. Kết quả và Metrics
Sau khi triển khai hệ thống:
| Metric | Trước | Sau |
|---|---|---|
| Thời gian edit 1 video | 45 phút | 3 phút |
| Độ chính xác phụ đề VI | 75% | 95% |
| Số ngôn ngữ dubbing | 1 | 19 |
| Upload size tối đa | 500MB | 10GB |
8. Kết luận
Xây dựng AI video editor đa ngôn ngữ là một bài toán thú vị kết hợp nhiều lĩnh vực: NLP, Computer Vision, Audio Processing, và UI/UX. Thách thức lớn nhất không phải là từng component riêng lẻ, mà là cách kết hợp chúng thành một pipeline mượt mà.
Nếu bạn quan tâm, hãy thử Shorts Factory — miễn phí 30 phút/tháng, hỗ trợ đầy đủ tiếng Việt. Mọi tính năng đều mở, chỉ giới hạn theo thời lượng sử dụng.
Bạn có câu hỏi về kiến trúc hoặc muốn trao đổi thêm về các giải pháp AI cho video? Hãy để lại comment bên dưới!
All Rights Reserved