Como converter vídeos usando ffmpeg no Ubuntu

Como converter vídeos usando ffmpeg no Ubuntu

No mundo moderno, com o YouTube e outros aplicativos de mídia social como a maneira principal de ver a mídia digital, o upload de vídeos tornou -se uma prática comum. Tornou -se tão comum, de fato, que criar e editar arquivos de áudio e vídeo se tornaram o novo normal no período de apenas algumas décadas. Obviamente, existem ferramentas caras por aí que se pode comprar para atender às necessidades de alguém, mas e se pudéssemos fazer isso de graça? E se algumas linhas de código pudessem fazer quase qualquer tarefa relacionada ao vídeo que você precise?

O FFMPEG é uma ferramenta de conversão, extração e edição de vídeo de código aberto e de código aberto que fornece uma resposta a esta pergunta! O que o ffmpeg não pode fazer? Quase nada. As tarefas que podem ser executadas com o auxílio do FFMPEG incluem conversão de arquivos de áudio, conversão de arquivos de vídeo, conversão de fotos, extração de arquivos de imagem de arquivos de vídeo, gerando vídeos de arquivos de imagem, extraindo áudio do vídeo, corte vídeos e fotos, aparar vídeos, re. -Sizer vídeos, aumentar o volume e criar gravações de tela.

Instalando o FFMPEG no Ubuntu

O FFMPEG não é pré-instalado no Ubuntu por padrão, então você precisará primeiro instalar este programa para usá-lo. Para concluir a instalação, você deve ser o usuário root. Em seguida, digite o seguinte para instalar o FFMPEG:

sudo apt-get install ffmpeg

O instalação apt-get O comando funcionará para todas as versões do Ubuntu, exceto 14.04.

Conversão de áudio

A conversão do FileType de um arquivo de áudio pode ser executada em uma única linha de código usando o utilitário FFMPEG. Nesse caso, você só precisa passar dois parâmetros: o nome do arquivo original e o nome do novo arquivo. Este comando permite converter qualquer formato de arquivo em qualquer outro formato de arquivo, detectando automaticamente os tipos de arquivo por nome. Como tal, não há necessidade de código adicional para especificar os tipos de arquivo.

ffmpeg -i origial_file.mp3 convertido_file.MP4

Você pode adicionar seus próprios nomes e tipos de arquivos a esta linha de código. Esta é apenas a sintaxe básica para uso.

Conversão de vídeo

Você também pode converter tipos de arquivo de vídeo usando FFMPEG. Ao inserir o comando, tudo o que você precisa é o nome do arquivo original e o nome do arquivo de saída. A tag -i indica o arquivo de entrada.

ffmpeg -i original_file.MP4 convertido_file.WebM

Conversão de fotos

O que é verdadeiro para arquivos de vídeo e áudio se aplica a arquivos de imagem também. Você pode converter um formato de foto em outro formato de maneira rápida e fácil com o FFMPEG simplesmente usando a sintaxe mostrada abaixo:

ffmpeg -i original_file.JPG convertido_file.png

Extraia a imagem do arquivo de vídeo

O FFMPEG também pode ser usado para extrair imagens de arquivos de vídeo. Em outras palavras, este programa pode tirar capturas de tela em momentos precisos durante um vídeo e salvar as capturas de tela como uma coleção de arquivos de imagem. Por exemplo:

FFMPEG -I Vídeo.mp4 output_file.jpg

Nesse caso, a tag -i descreve o arquivo de vídeo do qual o (s) arquivo (s) de imagem será extraído. No entanto, ainda não fornecemos especificações ao programa sobre a qualidade da imagem ou o tempo de captura de tela. Portanto, é necessário primeiro especificar esses detalhes antes de inserir o código.

Se escrevermos o seguinte:

FFMPEG -I Vídeo.mp4 output_file%d.jpg

O valor %D após o nome do arquivo de saída representa uma variável que você pode personalizar de acordo com o número de quadros por segundo que você gostaria de gerar no vídeo. Quando as fotos são geradas em um quadro por segundo, cada foto será rotulada em output_file1.jpg; Em dois quadros por segundo, output_file2.jpg; Com três quadros por segundo, output_File3.jpg; etc. Se o filme tiver 35 quadros por segundo e durar um segundo, então dar à variável %D um valor de 1 gerará 35 fotos.

Em seguida, e se quisermos capturar as imagens a uma determinada taxa de quadros por segundo? O valor FPS define isso na sintaxe do FFMPEG. Para capturar 1 quadro por segundo, você definiria o valor do FPS igual a 1.

FFMPEG -I Vídeo.mp4 -vf fps = 1 saída_file%d.jpg

Da mesma forma, ao definir o valor do FPS para 1/6000, o comando a seguir gerará 1 imagem por 6.000 segundos de vídeo:

FFMPEG -I Vídeo.mp4 -vf fps = 1/6000 output_file%6d.jpg

No comando acima, o termo %6D gerará uma variável com seis dígitos. Os arquivos de saída serão rotulados da seguinte forma: output_file000001.jpg, output_file000002.JPG, etc.

Agora, suponha que você não queira capturar todos os quadros. Em vez disso, você quer ser mais seletivo e deseja capturar um número definido de imagens entre dois prazos. Então, a sintaxe seria algo assim:

ffmpeg -ss 00:00:01 -t 00:00:04 -i Vídeo.mp4 output_file%3d.jpg

Este código capturará imagens, a partir das 00:00:01, por 4 segundos. Em outras palavras, a captura da imagem começará às 00:00:01 e termina às 00:00:05 no vídeo. Como sempre, o número em nome do arquivo de saída terá três dígitos (i.e., output_file001.jpg, output_file002.JPG, etc.).

Gerar vídeo a partir de arquivos de imagem

E se você quiser fazer exatamente o oposto e montar imagens para formar um vídeo? FFMPEG chega ao resgate mais uma vez!

ffmpeg -r 1/5 -i img%03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p output_file.MP4

Depois de ler as seções anteriores, agora você sabe o que o termo img%03.PNG significa - os arquivos de imagem de origem que compilarem no vídeo. Nesta sintaxe, a tag -c: v representa o codec para o vídeo, o FPS representa os quadros por segundo valor e R representa a taxa de quadros do vídeo de saída.

Extrair áudio do vídeo

Que tal extrair arquivos de áudio de um arquivo de vídeo? Existem ferramentas na web que você pode usar para executar esta tarefa, mas com o FFMPEG, uma linha de código pode fazer o trabalho também.

FFMPEG -I Vídeo.mp4 -c: a libmp3Lame -q: a 0 -MAP A Output_File.mp3

Na sintaxe acima, vídeo.MP4 é o arquivo de vídeo de entrada e output_file.mp3 é o arquivo de áudio de saída. A tag -map A pega o fluxo de áudio padrão e exclui quaisquer legendas, C: A Especifica o codec para o áudio a ser usado, e Q: A Define uma taxa de bits variável para o áudio.

Se você deseja extrair apenas uma parte do arquivo de áudio de um arquivo de vídeo, você pode usar a seguinte sintaxe para fazê -lo. No código a seguir, apenas a seção do áudio entre as 00:00:08 e 00:00:10 é extraída:

FFMPEG -I Vídeo.mp4 -ss 00:00:08 -t 00:00:10 -q: a 0 -c: a libmp3lame -q: a 0 -map a output_file.mp3

Obviamente, há muitos outros detalhes que você pode acrescentar, se desejar, mas o exemplo acima é um ótimo ponto de partida.

Vídeos de corte e fotos

E se você quiser cortar vídeos? Você pode dedicar tempo e dinheiro para encontrar software de corte em outro lugar, ou pode usar uma linha de código com FFMPEG para cortar o vídeo para ter tamanho.

FFMPEG -I Vídeo.MP4 -Filter: v "Crop = W = largura: H = altura: x: y" output_file.MP4

Por exemplo:

FFMPEG -I Vídeo.MP4 -Filter: v "Crop = W = 550: h = 200: x = 100: y = 200" output_file.MP4

Como exemplo, tirei minha própria foto e tentei cortá -la com o seguinte código:

FFMPEG -I Photo44.JPG -Filter: V "Crop = W = 500: H = 200" out.jpg

Aparar vídeos

Aparar os arquivos de vídeo requer cortá -los de um tempo específico para outro tempo específico. Por exemplo, cortar um arquivo de vídeo em dois ou três segmentos seria aparar. Mais uma vez, os arquivos de vídeo ou áudio de corte podem ser feitos facilmente usando o FFMPEG.

FFMPEG -I Vídeo.MP4 -SS 00:00:20 -T 00:00:10 -C: V H264 -C: AAC Output_File.MP4

Nesse caso, a tag -ss significa começar a procurar, ou o tempo em que iniciar o processo de corte. No comando acima, começaremos a cortar ou aparar às 00:00:20. A tag T significa duração do clipe. Aqui, a duração do clipe de corte será de 10 segundos. Finalmente, a tag C: V é para o codec do vídeo usado, enquanto C: A é para o codec de áudio usado.

Redimensionar o vídeo

Os vídeos de redimensionamento são tão fáceis quanto aparar e cortar vídeos.

FFMPEG -I Vídeo.MP4 -VF Escala = 320: 240 Output_File.MP4

Como alternativa, você também pode fazer o seguinte:

FFMPEG -I Vídeo.mp4 -vf escala = "iw/1: ih/2" output_file.MP4

Aqui, o valor IW define a largura de entrada, enquanto Ih define a altura de entrada. O último também vai escalar.

Aumente o volume de vídeo

Neste artigo, você viu como cortar, aparar e converter arquivos de vídeo e imagem, mas que tal aumentar o volume de arquivos de áudio e vídeo?

FFMPEG -I Vídeo.mp3 -filter: um “volume = 2” output_file.mp3

Neste último caso, estamos humildemente pedindo ao FFMPEG para dobrar o volume do arquivo.

Crie gravação de tela

Gravar sua tela é uma tarefa que é frequentemente necessária para executar, seja para apresentações, compartilhamento de vídeo ou reuniões on -line. Qualquer que seja o motivo para gravar sua área de trabalho, normalmente, você precisaria executar algum tipo de software para fazer isso. Ao contrário de alternativas caras, o FFMPEG pode fazer isso por você de graça!

ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 output_file.mp4 -f dshow -i áudio = "mix estéreo (áudio realtek)" output_file.MP4

No comando acima, a tag -f representa o formato da gravação de vídeo da sua tela. Após o valor do áudio, você colocará sua fonte de áudio.

Além disso, o código a seguir pegará apenas o vídeo da gravação da tela, sem nenhum som adicionado:

ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 -qp 0 saída.MP4

Conclusão

No geral, o FFMPEG é um programa extremamente útil que permite realizar muitas coisas em uma única linha de código. Você pode comprar ferramentas caras on -line para atender às suas necessidades de edição, ou pode experimentar essas funções gratuitamente, instalando o utilitário FFMPEG.