CommunityEscrita e Ediçãogithub.com

Pavan-makwana/My-Agentic-Skills

Motor de renderização de Reels para Instagram 1080x1920 (9:16 vertical) de alto desempenho, combinando Chrome headless (Puppeteer) e demuxer de concatenação FFmpeg. Renderiza animações orgânicas de escrita, ondulações com deslocamento de turbulência e tipografia nítida.

O que é My-Agentic-Skills?

Este skill implementa um mecanismo de renderização de vídeos verticais em 1080x1920 para Instagram Reels, utilizando Puppeteer (Chrome headless) para capturar quadros pixel-perfeitos e FFmpeg para codificação final em H.264 com áudio AAC 320kbps. Ele é especialmente útil para gerar animações de escrita orgânica, efeitos de ondulação por turbulência (feTurbulence) e tipografia precisa, eliminando quadros perdidos e tremulação comuns em gravações de tela. O skill automatiza todo o pipeline: criação de frames no navegador, geração de script de concatenação demuxer e codificação rápida (3x–6x tempo real). Suporta plataformas como Instagram e Telegram ao forçar o flag +faststart para buffer instantâneo e prioriza animações rápidas (máximo 0,24s) em trechos de canto rápido. A documentação inclui um fluxograma Mermaid, estrutura de código JavaScript e regras de otimização essenciais.

Funciona com~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/Pavan-makwana/My-Agentic-Skills/tree/HEAD/skills/paint-frame-reel-renderer

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Paint Frame Reel Renderer

Renderiza quadros de vídeo verticais pixel-perfeitos em 1080x1920 no Chrome headless, cria um script de demuxer de concatenação FFmpeg com microtempo e codifica o MP4 final em H.264 com áudio AAC 320kbps.

flowchart TD
    A[Interface Canvas Web 1080x1920] --> B[Captura Headless Puppeteer]
    B --> C[Capturas de Tela de Fase Visual]
    C --> D[Script Demuxer de Concatenação]
    D --> E[Codificação FFmpeg libx264 + AAC + faststart]
    E --> F[Reel MP4 Finalizado]

Por que Puppeteer + Demuxer de Concatenação?

  • Zero Quadros Perdidos: Elimina quadros perdidos e tremulação de gravação de tela.
  • Precisão de Microssegundos: Cada palavra ou estado de quadro recebe uma duração float exata em segundos.
  • Ondulação por Turbulência: Usa feTurbulence e feDisplacementMap do SVG com sementes rotativas para dar vida de marcador desenhada à mão ao texto estático.
  • Velocidade: A codificação roda a 3x–6x a velocidade real em comparação com gravação de tela 1x.

Estrutura do Script de Renderização Principal

const puppeteer = require('puppeteer-core');
const { spawnSync } = require('child_process');

// 1. Iniciar Puppeteer em 1080x1920
const browser = await puppeteer.launch({
  executablePath: CHROME_PATH,
  args: ['--no-sandbox', '--disable-gpu']
});
const page = await browser.newPage();
await page.setViewport({ width: 1080, height: 1920, deviceScaleFactor: 1 });
await page.goto('file:///' + HTML_PATH);

// 2. Capturar Estados de Palavras / Linhas
const concatLines = [];
for (const line of linesData) {
  // Capturar screenshot...
  concatLines.push(`file '${framePath}'`);
  concatLines.push(`duration ${duration.toFixed(3)}`);
}

// 3. Requisito do Demuxer de Concatenação (repetir último quadro)
concatLines.push(concatLines[concatLines.length - 2]);
fs.writeFileSync('concat.txt', concatLines.join('\n'));

// 4. Codificar com FFmpeg
spawnSync(FFMPEG_PATH, [
  '-f', 'concat', '-safe', '0', '-i', 'concat.txt',
  '-ss', String(audioStartOffset),
  '-i', songAudioPath,
  '-c:v', 'libx264', '-pix_fmt', 'yuv420p', '-r', '30',
  '-c:a', 'aac', '-b:a', '320k',
  '-shortest', '-movflags', '+faststart',
  '-y', outputMp4Path
]);

Principais Regras de Otimização

  1. Revelações Rápidas: Animações de revelação não devem exceder 0,24s durante canto rápido.
  2. Fator de Escala do Dispositivo: Defina deviceScaleFactor: 1 para garantir resolução exata de 1080x1920 sem inchaço de memória.
  3. +faststart: Inclua sempre -movflags +faststart para que os reels tenham buffer instantâneo no Instagram e Telegram.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas