+1

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:

  1. Pre-processing audio: Noise reduction + normalization trước khi đưa vào Whisper
  2. Chunk-based processing: Chia audio thành segments 30 giây để tối ưu VRAM
  3. Post-processing: Dùng GPT-4 để sửa lỗi transcription phổ biến với tiếng Việt
  4. 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 Factorymiễ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

Viblo
Let's register a Viblo Account to get more interesting posts.