Observação
O MoviePy foi atualizado recentemente para a v2.0, introduzindo grandes mudanças importantes. Você pode consultar os últimos documentos da v1 aqui, mas cuidado, pois a v1 não é mais mantida. Para obter mais informações sobre como atualizar seu código de v1 para v2, consulte este guia.
MoviePy (documentação online aqui) é uma biblioteca Python para edição de vídeo: cortes, concatenações, inserções de títulos, composição de vídeo (também conhecida como edição não linear), processamento de vídeo e criação de efeitos personalizados.
MoviePy pode ler e gravar todos os formatos de áudio e vídeo mais comuns, incluindo GIF, e roda em Windows/Mac/Linux, com Python 3.9+.
Neste exemplo abrimos um arquivo de vídeo, selecionamos o subclip entre 10 e 20 segundos, adicionamos um título no centro da tela e escrevemos o resultado em um novo arquivo:
from moviepy import VideoFileClip , TextClip , CompositeVideoClip
# Load file example.mp4 and keep only the subclip from 00:00:10 to 00:00:20
# Reduce the audio volume to 80% of its original volume
clip = (
VideoFileClip ( "long_examples/example2.mp4" )
. subclipped ( 10 , 20 )
. with_volume_scaled ( 0.8 )
)
# Generate a text clip. You can customize the font, color, etc.
txt_clip = TextClip (
font = "Arial.ttf" ,
text = "Hello there!" ,
font_size = 70 ,
color = 'white'
). with_duration ( 10 ). with_position ( 'center' )
# Overlay the text clip on the first video clip
final_video = CompositeVideoClip ([ clip , txt_clip ])
final_video . write_videofile ( "result.mp4" )
Nos bastidores, o MoviePy importa mídia (quadros de vídeo, imagens, sons) e os converte em objetos Python (matrizes numpy) para que cada pixel se torne acessível e efeitos de vídeo ou áudio possam ser definidos em apenas algumas linhas de código (veja o efeitos integrados para exemplos).
A biblioteca também oferece maneiras de misturar clipes (concatenações, reproduzir clipes lado a lado ou uns sobre os outros com transparência, etc.). O clipe final é então codificado novamente em mp4/webm/gif/etc.
Isso torna o MoviePy muito flexível e acessível, embora mais lento do que usar o ffmpeg diretamente devido às operações mais pesadas de importação/exportação de dados.
Instale o moviepy com pip install moviepy
. Para opções de instalação adicionais, como FFMPEG personalizado ou visualização, consulte esta seção. Para desenvolvimento, clone esse repositório localmente e instale com pip install -e .
A documentação online (aqui) é construída automaticamente a cada envio para o branch master. Para construir a documentação localmente, instale as dependências extras via pip install moviepy[doc]
, vá para a pasta docs
e execute make html
.
MoviePy é um software de código aberto originalmente escrito por Zulko e lançado sob a licença do MIT. O projeto está hospedado no GitHub, onde todos são bem-vindos para contribuir e abrir questões ou dar feedback. Leia nossas Diretrizes de Contribuição. Para pedir ajuda ou simplesmente discutir uso e exemplos, use nosso canal Reddit.
Procuram-se mantenedores! esta biblioteca só foi mantida graças ao envolvimento de seus mantenedores, e há momentos em que nenhum de nós tem largura de banda suficiente. Adoraríamos ouvir sobre desenvolvedores interessados em ajudar e resolver alguns dos problemas (especialmente aqueles que afetam você) ou revisar solicitações pull. Abra um problema ou entre em contato conosco diretamente se estiver interessado. Obrigado!