Remotion - Criação de Vídeo em React
Conjunto abrangente de skills para criar vídeos programaticamente usando Remotion, um framework para criar vídeos de forma programática usando React.
Quando usar
Use este skill sempre que estiver lidando com código Remotion para obter conhecimento específico do domínio sobre:
- Criar composições de vídeo com componentes React
- Animar elementos usando animações baseadas em frames
- Trabalhar com assets de áudio, vídeo e imagem
- Construir gráficos e visualizações de dados
- Implementar animações de texto e legendas
- Usar conteúdo 3D com Three.js
- Aplicar transições e sequenciamento
- Integrar TailwindCSS e animações Lottie
Conceitos Centrais
Remotion permite que você crie vídeos usando:
- Componentes React: Construa conteúdo de vídeo com sintaxe React familiar
- Animações Baseadas em Frames: Todas as animações controladas pelo hook
useCurrentFrame()
- Composições: Defina composições de vídeo com duração, dimensões e props
- Assets: Importe e manipule imagens, vídeos, áudio e fontes
- Renderização: Exporte vídeos programaticamente com configurações personalizáveis
Recursos Principais
- Controle quadro a quadro sobre animações
- Cálculo dinâmico de metadados
- Processamento de mídia (corte, volume, velocidade, pitch)
- Geração e exibição de legendas
- Visualização de dados com gráficos
- Integração de conteúdo 3D
- Animações de texto profissionais
- Transições e sequenciamento de cenas
Como usar
Leia os arquivos de regras individuais para explicações detalhadas e exemplos de código:
Animação e Timing Principais
- references/animations.md - Técnicas fundamentais de animação para Remotion
- references/timing.md - Curvas de interpolação: linear, easing, animações spring
- references/sequencing.md - Atraso, corte e limitação de duração de itens
- references/trimming.md - Corte do início ou fim de animações
Composições e Metadados
- references/compositions.md - Definindo composições, stills, pastas, props padrão
- references/calculate-metadata.md - Definir dinamicamente duração, dimensões e props da composição
Assets e Mídia
- references/assets.md - Importando imagens, vídeos, áudio e fontes
- references/images.md - Incorporando imagens usando o componente Img
- references/videos.md - Incorporando vídeos com corte, volume, velocidade, loop, pitch
- references/audio.md - Usando áudio e som com corte, volume, velocidade, pitch
- references/gifs.md - Exibindo GIFs sincronizados com a timeline
Texto e Tipografia
- references/text-animations.md - Tipografia e padrões de animação de texto
- references/measuring-text.md - Medindo dimensões de texto, ajustando texto, verificando estouro
- references/fonts.md - Carregando Google Fonts e fontes locais
Legendas e Transcrição
- references/display-captions.md - Exibindo legendas com páginas ao estilo TikTok e realce de palavras
- references/import-srt-captions.md - Importando arquivos de legendas .srt usando @remotion/captions
- references/transcribe-captions.md - Transcrevendo áudio para gerar legendas
Visualização de Dados
- references/charts.md - Padrões de gráficos e visualização de dados
Recursos Avançados
- references/3d.md - Conteúdo 3D usando Three.js e React Three Fiber
- references/lottie.md - Incorporando animações Lottie
- references/transitions.md - Padrões de transição de cenas
Estilo e Layout
- references/tailwind.md - Usando TailwindCSS em Remotion
- references/measuring-dom-nodes.md - Medindo dimensões de elementos DOM
Processamento de Mídia (Mediabunny)
- references/can-decode.md - Verificar se um vídeo pode ser decodificado pelo navegador
- references/extract-frames.md - Extrair frames de vídeos em timestamps específicos
- references/get-audio-duration.md - Obter a duração de um arquivo de áudio
- references/get-video-dimensions.md - Obter a largura e altura de um arquivo de vídeo
- references/get-video-duration.md - Obter a duração de um arquivo de vídeo
Exemplo de Início Rápido
import { useCurrentFrame, useVideoConfig, interpolate } from "remotion";
export const MyComposition = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {
extrapolateRight: 'clamp',
});
return (
<div style={{ opacity }}>
<h1>Hello Remotion!</h1>
</div>
);
};
Melhores Práticas
- Sempre use
useCurrentFrame() - Controle todas as animações a partir do frame atual
- Evite animações CSS - Elas não serão renderizadas corretamente em vídeos
- Pense em segundos - Multiplique o tempo em segundos por
fps para cálculos de frames
- Use interpolate para animações suaves - Interpolação integrada com funções de easing
- Limite a extrapolação - Evite que valores ultrapassem os intervalos pretendidos
- Teste frequentemente - Visualize no Remotion Studio antes de renderizar
Recursos
1---2name: remotion3description: Melhores práticas e guia abrangente do Remotion - criação de vídeos programática em React com animações, composições e manipulação de mídia4license: MIT5---67# Remotion - Criação de Vídeo em React89Conjunto abrangente de skills para criar vídeos programaticamente usando Remotion, um framework para criar vídeos de forma programática usando React.1011## Quando usar1213Use este skill sempre que estiver lidando com código Remotion para obter conhecimento específico do domínio sobre:1415- Criar composições de vídeo com componentes React16- Animar elementos usando animações baseadas em frames17- Trabalhar com assets de áudio, vídeo e imagem18- Construir gráficos e visualizações de dados19- Implementar animações de texto e legendas20- Usar conteúdo 3D com Three.js21- Aplicar transições e sequenciamento22- Integrar TailwindCSS e animações Lottie2324## Conceitos Centrais2526Remotion permite que você crie vídeos usando:27- **Componentes React**: Construa conteúdo de vídeo com sintaxe React familiar28- **Animações Baseadas em Frames**: Todas as animações controladas pelo hook `useCurrentFrame()`29- **Composições**: Defina composições de vídeo com duração, dimensões e props30- **Assets**: Importe e manipule imagens, vídeos, áudio e fontes31- **Renderização**: Exporte vídeos programaticamente com configurações personalizáveis3233## Recursos Principais3435- Controle quadro a quadro sobre animações36- Cálculo dinâmico de metadados37- Processamento de mídia (corte, volume, velocidade, pitch)38- Geração e exibição de legendas39- Visualização de dados com gráficos40- Integração de conteúdo 3D41- Animações de texto profissionais42- Transições e sequenciamento de cenas4344## Como usar4546Leia os arquivos de regras individuais para explicações detalhadas e exemplos de código:4748### Animação e Timing Principais49- **[references/animations.md](references/animations.md)** - Técnicas fundamentais de animação para Remotion50- **[references/timing.md](references/timing.md)** - Curvas de interpolação: linear, easing, animações spring51- **[references/sequencing.md](references/sequencing.md)** - Atraso, corte e limitação de duração de itens52- **[references/trimming.md](references/trimming.md)** - Corte do início ou fim de animações5354### Composições e Metadados55- **[references/compositions.md](references/compositions.md)** - Definindo composições, stills, pastas, props padrão56- **[references/calculate-metadata.md](references/calculate-metadata.md)** - Definir dinamicamente duração, dimensões e props da composição5758### Assets e Mídia59- **[references/assets.md](references/assets.md)** - Importando imagens, vídeos, áudio e fontes60- **[references/images.md](references/images.md)** - Incorporando imagens usando o componente Img61- **[references/videos.md](references/videos.md)** - Incorporando vídeos com corte, volume, velocidade, loop, pitch62- **[references/audio.md](references/audio.md)** - Usando áudio e som com corte, volume, velocidade, pitch63- **[references/gifs.md](references/gifs.md)** - Exibindo GIFs sincronizados com a timeline6465### Texto e Tipografia66- **[references/text-animations.md](references/text-animations.md)** - Tipografia e padrões de animação de texto67- **[references/measuring-text.md](references/measuring-text.md)** - Medindo dimensões de texto, ajustando texto, verificando estouro68- **[references/fonts.md](references/fonts.md)** - Carregando Google Fonts e fontes locais6970### Legendas e Transcrição71- **[references/display-captions.md](references/display-captions.md)** - Exibindo legendas com páginas ao estilo TikTok e realce de palavras72- **[references/import-srt-captions.md](references/import-srt-captions.md)** - Importando arquivos de legendas .srt usando @remotion/captions73- **[references/transcribe-captions.md](references/transcribe-captions.md)** - Transcrevendo áudio para gerar legendas7475### Visualização de Dados76- **[references/charts.md](references/charts.md)** - Padrões de gráficos e visualização de dados7778### Recursos Avançados79- **[references/3d.md](references/3d.md)** - Conteúdo 3D usando Three.js e React Three Fiber80- **[references/lottie.md](references/lottie.md)** - Incorporando animações Lottie81- **[references/transitions.md](references/transitions.md)** - Padrões de transição de cenas8283### Estilo e Layout84- **[references/tailwind.md](references/tailwind.md)** - Usando TailwindCSS em Remotion85- **[references/measuring-dom-nodes.md](references/measuring-dom-nodes.md)** - Medindo dimensões de elementos DOM8687### Processamento de Mídia (Mediabunny)88- **[references/can-decode.md](references/can-decode.md)** - Verificar se um vídeo pode ser decodificado pelo navegador89- **[references/extract-frames.md](references/extract-frames.md)** - Extrair frames de vídeos em timestamps específicos90- **[references/get-audio-duration.md](references/get-audio-duration.md)** - Obter a duração de um arquivo de áudio91- **[references/get-video-dimensions.md](references/get-video-dimensions.md)** - Obter a largura e altura de um arquivo de vídeo92- **[references/get-video-duration.md](references/get-video-duration.md)** - Obter a duração de um arquivo de vídeo9394## Exemplo de Início Rápido9596```tsx97import { useCurrentFrame, useVideoConfig, interpolate } from "remotion";9899export const MyComposition = () => {100 const frame = useCurrentFrame();101 const { fps } = useVideoConfig();102103 const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {104 extrapolateRight: 'clamp',105 });106107 return (108 <div style={{ opacity }}>109 <h1>Hello Remotion!</h1>110 </div>111 );112};113```114115## Melhores Práticas1161171. **Sempre use `useCurrentFrame()`** - Controle todas as animações a partir do frame atual1182. **Evite animações CSS** - Elas não serão renderizadas corretamente em vídeos1193. **Pense em segundos** - Multiplique o tempo em segundos por `fps` para cálculos de frames1204. **Use interpolate para animações suaves** - Interpolação integrada com funções de easing1215. **Limite a extrapolação** - Evite que valores ultrapassem os intervalos pretendidos1226. **Teste frequentemente** - Visualize no Remotion Studio antes de renderizar123124## Recursos125126- **Documentação**: https://www.remotion.dev/docs127- **Repositório**: https://github.com/remotion-dev/remotion128- **Repositório de Skills**: https://github.com/remotion-dev/skills129- **Comunidade**: Discord e GitHub Discussions130- **Licença**: MIT