How quanglb/reup-video works
reup-video là pipeline local để biến video ngắn từ YouTube, TikTok hoặc Douyin thành MP4 tiếng Việt có phụ đề, lồng tiếng và giữ nhạc nền. Người dùng thêm hoặc khám phá video qua CLI/Web, tạo job, rồi runner lần lượt dispatch các stage xử lý media, nhận dạng, dịch, tổng hợp giọng và dựng hình. Job dừng ở chốt A để sửa/duyệt bản dịch và chốt B để xem thành phẩm trước export. Một số wiring chi tiết không được trích xuất; các cạnh dưới chỉ giữ các quan hệ được README hoặc source hỗ trợ.
Components 25
Interfaces
- CLI
src/reup/cli.py - Web UI
src/reup/web/app.py - Telegram Bot
src/reup/telegram_bot.py
Discovery State
- Discovery Adapters
src/reup/adapters/source.py - Job Store
src/reup/core/store.py
Video Pipeline
- Job Runner
src/reup/core/runner.py - Fetch
src/reup/stages/fetch.py - Demux
src/reup/stages/demux.py - Audio Separation
src/reup/stages/separate.py - Speech Recognition
src/reup/stages/asr.py - Subtitle Detection
src/reup/stages/subdetect.py - Video OCR
src/reup/stages/ocr.py
Language Voice
- Transcript Reconcile
src/reup/stages/reconcile.py - Vietnamese Translation
src/reup/stages/translate.py - Timing Fit
src/reup/stages/fit.py - Voice Synthesis
src/reup/stages/tts.py - LLM Adapters
src/reup/adapters/llm.py
Render Delivery
- FFmpeg Runtime
src/reup/media/ffmpeg.py - Video Compose
src/reup/stages/compose.py - Metadata Export
src/reup/stages/export.py - Output MP4
src/reup/stages/export.py
Other components
- User
- Video Platforms
- CapCut TTS
- Telegram Service
Connections 36
- User → CLI: submits jobs
- User → Web UI: reviews jobs
- Video Platforms → Discovery Adapters: provides listings
- Discovery Adapters → Job Store: records seen
- CLI → Job Runner: starts jobs
- Web UI → Job Runner: starts jobs
- Web UI → Discovery Adapters: requests scans
- Web UI → Job Store: reads state
- Telegram Bot → Job Runner: commands runs
- Telegram Service → Telegram Bot: delivers updates
- Job Runner → Job Store: records status
- Job Runner → Fetch: dispatches stage
- Job Runner → Demux: dispatches stage
- Job Runner → Audio Separation: dispatches stage
- Job Runner → Speech Recognition: dispatches stage
- Job Runner → Subtitle Detection: dispatches stage
- Job Runner → Video OCR: dispatches stage
- Job Runner → Transcript Reconcile: dispatches stage
- Job Runner → Vietnamese Translation: dispatches stage
- Job Runner → Timing Fit: dispatches stage
- Job Runner → Voice Synthesis: dispatches stage
- Job Runner → Video Compose: dispatches stage
- Job Runner → Metadata Export: dispatches stage
- Fetch → Video Platforms: downloads media
- Demux → FFmpeg Runtime: runs ffmpeg
- Audio Separation → FFmpeg Runtime: runs media tools
- Speech Recognition → FFmpeg Runtime: reads media
- Subtitle Detection → FFmpeg Runtime: reads media
- Video OCR → FFmpeg Runtime: reads frames
- Transcript Reconcile → LLM Adapters: requests JSON
- Vietnamese Translation → LLM Adapters: requests JSON
- Timing Fit → LLM Adapters: requests JSON
- Metadata Export → LLM Adapters: requests metadata
- Voice Synthesis → CapCut TTS: synthesizes speech
- Video Compose → FFmpeg Runtime: renders video
- Metadata Export → Output MP4: writes artifacts