video-cut (Cắt ghép video)
Công cụ cắt ghép video theo đúng danh sách khoảng thời gian mà Agent đã chọn trong clip_plan.json, xuất ra edited_source.mp4 cho pipeline recap hai giai đoạn.
Ảnh · VideoNâng cao★ 470⑂ 86Điểm AI 8/10Cập nhật lần cuối: 24 thg 8, 2026
Công cụ này làm gì
- Kiểm tra và chuẩn hoá
clip_plan.json(danh sách start/end theo thời gian video gốc), tạoclip_plan_validated.jsongồmclip_id, thời gian gốc/đầu ra và độ dài. - Ghép các khoảng đã chọn thành
edited_source.mp4; cùng đầu vào luôn cho cùng đầu ra, và tái dùng bản đã render nếu nó mới hơn clip plan. - Điểm mạnh là bộ quy tắc an toàn cho ranh giới cắt: trước tiên bám vào hard cut để tránh frame nhoè/nháy, sau đó bám vào cuối câu hoặc khoảng lặng đáng tin cậy. Nếu ASR xác định điểm vào/ra vẫn nằm giữa câu nói, công cụ báo
unsafe_clip_sentence_boundaryvà chặn lại. - Mặc định cấm khoảng trùng lặp; bật
--allow-overlapthì lời bình phải ghisource_clip_id. Nối liên tục cùng nguồn thì không fade, chỉ fade chống nổ tiếng ở điểm không liên tục. - Đường cũ (một giai đoạn) còn map lời bình theo thời gian gốc sang
narration_mapped.json.
Phù hợp với ai
- Người xây pipeline tự động tạo video recap/tóm tắt phim bằng Agent LLM.
- Người cần kiểm soát chất lượng mối nối và tránh cắt giữa câu thoại trong dựng phim tự động bằng ffmpeg.
- Người dùng trung–cao cấp quen Python, ffmpeg CLI và đọc được tài liệu tiếng Trung.
Ví dụ sử dụng
- Sau khi có ASR và
speech_boundary_anchors.json, Agent viết danh sách khoảng thô rồi chạypython3 scripts/cut.py movie.mp4 --work-dir work --target-duration 10m --no-narration-mapđể chỉ xuất video cắt, sau đó viếtnarration.jsontheo timeline đầu ra. - Khi nghi mối nối bị nháy, dùng
ffmpeg -i input.mp4 -vf "select='gt(scene,0.35)',showinfo" -an -f null -để thu ứng viên rồi phân loại: shot ngắn vốn có của phim, shot ngắn cần giữ trọn hành động, hay cut do chính lần ghép này tạo ra. - Muốn dùng lại một đoạn gốc hai lần: bật
--allow-overlapvà thêmsource_clip_idvào từng câu lời bình để tránh nhập nhằng.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/zenstory-ai/video-recap-skills/HEAD/skills/video-cut/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/video-cut từ repo GitHub zenstory-ai/video-recap-skills vào ~/.claude/skills/zenstory-ai-video-cut/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/zenstory-ai/video-recap-skills.git && mkdir -p ~/.claude/skills && cp -r video-recap-skills/skills/video-cut ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và vào thư mục làm việc của bạn.
- Tải repo:
git clone https://github.com/zenstory-ai/video-recap-skills.git - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Copy skill:
cp -r video-recap-skills/skills/video-cut ~/.claude/skills/ - Kiểm tra điều kiện:
python3 --versionvàffmpeg -versionphải chạy được (macOS:brew install ffmpeg). - Chuẩn bị
work_dirchứa video gốc vàclip_plan.json. Skill này không tự chọn cảnh, nên hãy cài thêm các skill giai đoạn phân tích/kịch bản trong cùng repo. - Khởi động lại Claude Code và yêu cầu ví dụ: "cắt video theo clip_plan này" để kích hoạt skill.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT