← ClaudeAtlas

nqh-video-transcribelisted

Tạo transcript word-level (JSON) cho video/audio bằng Whisper, tự nhận diện tệp khán giả Việt hay Anh. Dùng khi user muốn bóc lời video, lấy timestamp từng từ, hoặc trước khi chạy bất kỳ skill nqh-video-* nào khác (nqh-video-cut-silence, nqh-video-captions, nqh-video-punch-zoom đều cần file này). Kích hoạt khi user nói "bóc transcript", "lấy phụ đề", "transcribe video này", "chuẩn bị dựng short".
wanghie/nqh-skills · ★ 0 · Data & Documents · score 72
Install: claude install-skill wanghie/nqh-skills
# nqh-video-transcribe Bước 0 của mọi pipeline trong repo này. Các skill khác không đọc pixel — chúng đọc file JSON này. ## Chạy ```bash python3 skills/nqh-video-transcribe/scripts/transcribe.py INPUT.mp4 \ --audience auto \ -o work/INPUT.transcript.json ``` `--audience`: - `vi` — ép Whisper nhận tiếng Việt, nạp initial_prompt tiếng Việt (giảm lỗi tên riêng, thuật ngữ) - `en` — ép tiếng Anh - `auto` (mặc định) — để Whisper tự detect, sau đó phân loại lại bằng mật độ dấu thanh trong kết quả ## Đầu ra ```json { "audience": "vi", "duration": 61.4, "fps": 30.0, "width": 1920, "height": 1080, "words": [{"start": 0.12, "end": 0.41, "word": "chào", "prob": 0.98}], "segments": [{"start": 0.1, "end": 4.2, "text": "..."}] } ``` ## Lưu ý thật - Tiếng Việt: dùng `large-v3`. Model nhỏ hơn (`base`, `small`) sai timestamp từ khá nhiều với tiếng Việt vì âm tiết ngắn — caption sẽ lệch thấy rõ. Đây là chỗ KHÔNG nên tiết kiệm. - Apple Silicon: chạy CPU với `compute_type=int8` vẫn nhanh chấp nhận được (~1/3 realtime với large-v3). Không cần CUDA. - Nếu video có nhạc nền to, tách vocal trước sẽ tăng độ chính xác đáng kể. ## Yêu cầu `ffmpeg`, `ffprobe`, `pip install faster-whisper` ## Khi ASR không trả timestamp từng từ Một số đường ASR chỉ trả về CHỮ, không có timestamp: sherpa-onnx Whisper (ONNX, tải model từ GitHub thay vì Hugging Face), phần lớn API cloud gói rẻ, và mọi transcript do người gõ tay. Dùng `lib/align.py` để dựng lại timestamp từ chính file âm thanh: ```