Communitygithub.com

PrankMedic/video-phu-hinh

音声に合わせてオーバーレイ、Bロール、グラフィックを追加し、話者フレームの縮小、カウント、リスト、比較、ステップ、棒グラフ、カラオケ字幕をRemotionで生成します。

video-phu-hinh とは?

このスキルは、話者の声と存在感を維持しつつ、小さなフレーム、テキスト、グラフィックを優先するビデオオーバーレイの作成を自動化します。Remotionを使用して、話者の顔を小さく表示しながら、カウント、リスト、比較、ステップ、棒グラフ、カラオケスタイルの字幕など、さまざまなグラフィック要素を音声に同期させます。主な機能には、音声の準備、顔検出、9:16縦型キャンバスへの正規化、ビートベースのグラフィックスケジューリング、LUFS -14 dBのオーディオノーマライゼーションが含まれます。Claude CodeのようなAIエージェント向けに設計されており、グラフィックの重なりや長すぎるクリップなどの問題を検出する検証スクリプトが含まれています。このスキルは、医療コンテンツのソース帰属、顔認識データの除去、および検証前のコンテンツの明示的なマーキングに関するガイドラインを実施します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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.

関連スキル