Instalando FFMPEG em um Docker Container

Em algumas situações pode ser necessário a instalação do pacote FFMPEG em um container docker, por exemplo, para que o N8N possa combinar videos. Neste tutorial bem rápido eu pretendo te explicar como fazer isso de forma bem fácil.

O que é FFMPEG ?

O FFmpeg é uma poderosa ferramenta de código aberto usada para manipulação de arquivos multimídia. Ele permite converter, editar, gravar, transmitir e processar áudio e vídeo em uma ampla variedade de formatos. Desenvolvido para ser eficiente e versátil, o FFmpeg suporta uma grande quantidade de codecs e é amplamente utilizado em aplicações profissionais e amadoras. Além disso, pode ser operado por linha de comando ou integrado a outros softwares, tornando-o indispensável para desenvolvedores e entusiastas da edição multimídia.

Instalando em um container Docker

Descubra o nome do container ou seu ID com o comando:

				
					sudo docker ps
				
			

Guarde esse ID que é o que vamos usar agora. Você não precisa digitá-lo todo, mas pode pegar apenas os 5 primeiros chars, por exemplo, para que identifique. O importante é que não tenha outro container com os mesmos 5 primeiros chars.

Então execute o comando para conectar no container:

				
					docker exec -u 0 -it <nome_do_container_ou_id> /bin/sh
				
			

Atualize a listagem dos pacotes:

				
					apk update
				
			

Instale o pacote do FFMPEG:

				
					apk add --no-cache ffmpeg
				
			

Confirme que está tudo ok:

				
					ffmpeg -version
				
			

Possíveis erros:

Caso o pacote não seja encontrado ao utilizar o apk add, adicione os seguintes endereços no /etc/apk/repositories:

				
					https://dl-cdn.alpinelinux.org/alpine/v3.20/main
https://dl-cdn.alpinelinux.org/alpine/v3.20/community
				
			

E utilize novamente o comando:

				
					apk update
				
			

Testando no N8N

Crie um workflow de teste e adicione o node “Execute Command”

Em seguida, no node, utilize o comando:

				
					ffmpeg -version
				
			

Compartilhe:

Facebook
Twitter
LinkedIn
X
Telegram
WhatsApp
Email
Print
Threads
Reddit

Paulo Junior

Dev Raiz

Profissionalmente atuando desde 2002, mas com o primeiro acesso à internet em 95. Comecei com Cobol, passei por várias linguagens e atualmente me conforto no C#, Flutter, Angular e Python. Full stack raiz mesmo. Atuando em infra, banco, programação,arquitetura, design e o que for preciso pra fazer funcionar.

4 Comentários

  • Sylvio Pereira

    Boa noite,
    Estou com uma duvida ao executar (sudo docker ps) no meu aparece 3 n8n ( webhook , Editor, Worker)qual deles que eu pegaria o id , estou usando o portainer na hetnez.
    Parabens pelo post.

    • Boa noite Sylvio!
      Provavelmente você deve ter instalado como micro serviços e aí divide para escalabilidade e melhor gerenciamento. Isso só se faz necessário quando vc vai fazer muita coisa. Geralmente colocamos tudo em um container só. No seu caso você tem 3 containers : webhook ( vai lidar com as requisições externas), editor (frontend) e o worker (que é o responsável pela execução dos fluxos no back). Se for isso mesmo, você deveria instalar no worker.

      Valeu!

  • Jorge

    Boa tarde Paulo,
    Parabéns pelo post, estava procurando esse tema e só encontrei com aqui.

    Sobre a instalação, você fez a instalação no mesmo container do n8n.
    Para que funcione com automações do n8n, é fundamental que esssa instalação seja feita no mesmo container ?

    Abraços, e mais uma vez paravéns pela iniciativa e conteúdo.
    Att,Jorge

    • Fala Jorge, blz?
      Obrigado pelo elogio.
      Em relação ao container, no caso do tutorial, eu instalei sim no mesmo container que o n8n.
      Mas pode variar dependendo da sua necessidade. Exemplo: você quer consumir um serviço que junta os arquivos com o ffmpeg e esse serviço está em outro container. Você vai ter que instalar naquele container.
      Em resumo: onde você for executar o ffmpeg é que vc vai ter q instalar.
      Abs!

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Edit Template

Sobre

A ideia é compartilhar uma parte da minha experiência na área de TI. É quase um dump do meu aprendizado. Fique a vontade para participar e contribuir.

Novidades

  • All Post
  • Artigos
  • Blog
  • Códigos
  • Links Úteis

Me segue aí!

Todos os direitos reservados. (Na medida do possível, né?)