Communitygithub.com

PrankMedic/video-phu-hinh

Thêm phủ hình, b-roll đồ hoạ theo lời cho video người nói, thu nhỏ khung mặt, số đếm, danh sách, so sánh, các bước, biểu đồ cột và phụ đề karaoke Remotion.

video-phu-hinh 是什么?

Kỹ năng này dành cho các tác vụ sản xuất video giữ giọng người nói nhưng ưu tiên hiển thị đồ hoạ, chữ và khung hình nhỏ. Nó hỗ trợ nhiều định dạng đồ hoạ như số đếm (number), danh sách (list), so sánh (compare), các bước (steps), biểu đồ cột (bars), phụ đề karaoke (text) và chế độ phủ hình (overlay, card, full, cover). Kỹ năng này chạy trên Remotion với Python script hỗ trợ chuẩn bị giọng, phát hiện lỗi nói (tìm lỗi nói), kiểm tra đồ hoạ và chuẩn hoá âm thanh. Nó yêu cầu người dùng cung cấp dữ liệu beats và words, đồng thời tự động kiểm tra xung đột mặt, độ dài beat, và sự khớp giữa số hiển thị và lời nói. Kỹ năng này không tự động đăng, commit hoặc push; mọi thay đổi đều phải qua kiểm duyệt y khoa/quảng cáo.

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/PrankMedic/NoleXSapien/tree/main/skills/video-phu-hinh

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Video phủ hình theo lời

Dùng khi cần giữ giọng và sự hiện diện người nói nhưng ưu tiên khung nhỏ, chữ và đồ hoạ. Đọc CLAUDE.md, review nội dung và nguồn, đề xuất định dạng rồi đợi chọn nếu chưa chọn. Không xử lý media có dữ liệu nhận diện; dừng phần đó để người phụ trách loại bỏ trước. Không tự đăng, gửi, commit hay push.

  1. Chạy python3 scripts/chuan_bi_giong.py <video> Output/video/<slug>. Đọc báo cáo và nghe giọng gốc; phải dò nói vấp bằng scripts/tim_loi_noi.py trước khi cắt (script chuẩn bị giọng đã gọi, có thể chạy riêng khi sửa). Không suy ra hết nói vấp từ phụ đề đã làm gọn.
  2. Chuẩn hoá video nguồn thành canvas dọc 9:16 bằng letterbox, không cắt cận mặt. Đo face trên chính canvas này: {x,y,radius} chuẩn hoá 0–1, radius theo bề rộng, mặc định 0.14. Nguồn khác tỷ lệ phải chuyển trước; kiểm lại nếu mặt chuyển vị trí. Không có theo dõi mặt tự động; dùng vùng bao mọi vị trí mặt hoặc chia composition khi bố cục thay đổi. Chỉ dùng video đã loại bỏ nhận diện theo quy tắc dự án.
  3. Chuyển words {w,s,e} sang {text,startMs,endMs} với ms = giây × 1000. Giữ words gốc cùng segments gốc; audio từ video được cắt cùng segments. Không dùng đồng thời giọng cắt sẵn với words gốc. Media đặt trong public, đường dẫn tương đối. audio có thể rỗng vì PhuHinh dùng giọng trong video; music, musicVolume tuỳ chọn, nhạc không nằm trong lớp video co giãn.
  4. Lập beats {atPhrase,nth?,untilPhrase,untilNth?,mode,content,source?,box?}. Cụm cuối kết thúc ở endMs của từ cuối; nth đếm từ 0. Không chồng beats, mốc tăng dần. Khoảng trống tự về card; nên phủ toàn bộ lời bằng beats để kiểm nhịp rõ ràng. full: người nói vừa khung, contain, không cắt cận, tối đa 8 giây kể cả nhiều beat full liền nhau; card: người nói nhỏ góc trên, đồ hoạ dưới; over: đồ hoạ trong suốt, box tránh mặt cả lúc khung đang chuyển; cover: phủ kín bằng nền và đồ hoạ nhưng giọng video tiếp tục. Chuyển khung liên tục trong 650 ms.
  5. Content có kind là word, number, list, compare, steps, bars, và text. number thêm value, spoken là cụm số được nói, ví dụ value 12, spoken “mười hai”. spokenNth tuỳ chọn đếm lần xuất hiện cụm số trong chính beat, từ 0; mốc mục nth vẫn theo toàn bộ lời đã cắt. Giá trị chạy lên và chỉ đạt đủ khi nói xong cụm số. Các kiểu nhiều mục dùng items:[{text,atPhrase,nth?,value?,spoken?}], từng mục chỉ hiện khi nói đến; bars dùng value, compare chia cột, steps có mũi tên. spoken là ánh xạ thủ công cần người kiểm xác nhận ý nghĩa với value; script không hiểu ngữ nghĩa số viết bằng chữ. Không đặt số sớm trong tiêu đề hoặc nhãn mục; để value phụ trách hiện số. Giữ tối đa vài mục ngắn để không tràn vùng. Chữ chính 72 px trở lên.
  6. Box {x,y,width,height} tính bằng px 1080×1920, giới hạn x 64–1016, y 100–1260; mặc định card ở y620, over y900. Phụ đề y1330 trong vùng 1300–1520. Nguồn dưới phụ đề phải có tác giả/tổ chức, năm, link và ngày truy cập cho thông tin y khoa; dữ kiện chưa kiểm chứng phải ghi chờ duyệt. Nhãn giọng AI dùng aiVoice:true nếu cần.
  7. Viết JSON chứa props, chạy python3 scripts/kiem_phu_hinh.py <du-lieu.json>; phải sửa mốc không thấy, full dài, over đè mặt, số không có trong lời. Mã thoát 0 đạt kiểm dữ liệu, 1 lỗi kiểm, 2 lỗi đọc. Công cụ kiểm mặt ở khung ổn định và lấy mẫu 30 fps trong 650 ms sau mỗi lần chuyển khung; component kiểm thêm từng frame đang render. Mở frame thực tế để kiểm mặt di chuyển và chữ tràn. Sau đó tạo file TS trong studio/data export default {id:'VideoPhu',format:'PhuHinh',props:...}. Xem mau-moi.ts; MauPhuHinh là mẫu im lặng với placeholder video, không phải video đã duyệt.
  8. Chạy cd remotion && npx --no-install tsc --noEmit; render nháp bằng npx --no-install remotion render src/index.ts VideoPhu out/nhap.mp4 --codec h264. Xem mọi loại đồ hoạ, frame chuyển mode, đầu/cuối từng segment, nghe giọng xuyên cover, kiểm số đạt đủ đúng lúc, danh sách không hiện trước lời. Chạy dò lời trên bản cuối khi cần và nghe lại điểm nối.
  9. Chuẩn âm −14 LUFS bằng loudnorm hai lượt, đo true peak −1.5 dBTP, như mục chuẩn âm trong video-thuy-mac/SKILL.md; luôn ghi sang file khác và đo lại bản cuối. Bàn giao bản xem, nguồn, dữ liệu và phần chưa xác minh. Kiểm script và hình không thay duyệt y khoa/quảng cáo của người có trách nhiệm trước đăng.

相关技能