Muitos amigos podem não ter ouvido falar do FFmpeg, mas você deve ter usado um destes softwares: Baofeng Yingyin, QQ Yingyin, KMP, GOM Player, PotPlayer (2010), KMPlayer. FFmpeg é um software de código aberto, e o software que usa FFmpeg de acordo com o acordo também deve ser de código aberto. No entanto, esses softwares de áudio e vídeo não estão em conformidade com o acordo, por isso foram colocados na "lista negra" do FFmpeg.

FFmpeg é uma estrutura líder de código aberto para processamento multimídia de áudio e vídeo, usando licença LGPL ou GPL. Ele fornece funções ricas, como coleta de áudio e vídeo, codificação, decodificação, transcodificação, separação de áudio e vídeo, fusão, streaming, filtros, etc. Inclui uma biblioteca de codecs de áudio/vídeo muito avançada, libavcodec, que possui alta confiabilidade e portabilidade. a qualidade do codec o torna um artefato de processamento multimídia.

Ao mesmo tempo, o FFmpeg também fornece pacotes de comando, que podem ser usados ​​​​no Windows, Linux e outras plataformas. Muitas pessoas pensam que o FFmpeg é difícil de usar, desde que instalemos a ferramenta de comando do FFmpeg, podemos implementá-lo rapidamente. conversão de formato de vídeo e compactação de vídeo no Windows e conversão entre vídeos e imagens.

Software gratuito e de código aberto para conversão e compactação de formatos de vídeo e áudio FFmpeg - Como converter formatos e compactar vídeos

Para mais ferramentas e software para webmasters, aqui estão:

  1. Habilidades essenciais para webmasters adicionarem marcas d'água a imagens em lotes - métodos de processamento em lote XnView e Meitu XiuXiu
  2. Melhor editor para WordPress: Instale e use o Windows Live Writer (Windows 10)
  3. Faça capturas de tela sem preocupações com Yisoft: ferramenta de captura de tela ShareX - tarefas curtas, concisas e cheias de funções automatizadas podem capturar imagens e vídeos em movimento.

1. Instalação do software FFmpeg

local na rede Internet:

  1. Site oficial: https://ffmpeg.zeranoe.com/builds/
  2. Download alternativo: https://wzfou.com/down/ffmpeg64 (64 bits)

Após entrar no site, selecione a versão que deseja instalar, que suporta Windows 7 e Mac OS X 10.10 e superior.

Descompacte o pacote compactado baixado para obter a pasta ffmpeg-xxx-win64-static, renomeie-o para ffmpeg e coloque a pasta ffmpeg na pasta do programa, por exemplo, o caminho de posicionamento de wzfou.com é: C:.

Abra a página de configurações de variáveis ​​de ambiente: Explorer > Este PC > Clique com o botão direito - Propriedades > Configurações avançadas do sistema > Variáveis ​​de ambiente. Clique duas vezes no item Caminho para entrar na página de edição, selecione Novo, cole o caminho C:ffmpegbin na caixa de entrada e confirme para salvar. (Clique para ampliar)

Agora abra seu CMD, digite ffmpeg e pressione Enter para executar. Se você vir uma mensagem de retorno, significa que instalou o FFmpeg com sucesso.

2. Uso rápido do FFmpeg

Se você não é um usuário profissional de áudio e vídeo, você só pode assistir esta parte das operações comuns do FFmpeg, e as operações mais complexas a seguir podem ser “assistidas sob demanda”.

2.1 Formato de conversão

O comando mais simples e comumente usado para converter o formato FFmpeg é:

ffmpeg -i input.xxx output.xxx

Para converter os formatos mp4 e flv, o comando é o seguinte:

ffmpeg -i input.flv output.mp4
#或者
ffmpeg -i input.mp4 output.flv

Para converter os formatos mp4 e webm, o comando é o seguinte:

ffmpeg -i input.mp4 output.webm
#或者
ffmpeg -i input.webm output.mp4

2.2 Vídeo compactado

Os comandos do FFmpeg para compactar vídeo são os seguintes:

ffmpeg -i input.mp4 -r 10 -b:a 32k output.mp4 #对它降低fps和音频码率的方法大大压缩文件大小,而清晰度不变。
#或者
ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4 #采用H.264视频压缩算法和AAC音频压缩算法,视频帧率10fps,音频码率32k
#或者是
ffmpeg -i wzfou.mp4 -crf 20 wzfou.mp4
ffmpeg -i wzfou1.flv -crf 20 wzfou1.mp4
ffmpeg -i wzfou1.mp4 -crf 30 wzfou30.mp4
ffmpeg -i 480p.mp4 480p.webm

2.3 Converter GIF

Para converter vídeo em GIF, o comando é o seguinte:

#把视频的前 30 帧转换成一个 Gif
ffmpeg -i input_video.mp4 -vframes 30 -y -f gif output.gif

#将视频转成 gif 将输入的文件从 (-ss) 设定的时间开始以 10 帧频率,输出到 320x240 大小的 gif 中,时间长度为 -t 设定的参数。
ffmpeg -ss 00:00:00.000 -i input.mp4 -pix_fmt rgb24 -r 10 -s 320x240 -t 00:00:10.000 output.gif

3. Operação de vídeo FFmpeg

Os parâmetros de comando do FFmpeg são os seguintes:

Instruções relacionadas:

-crt: Esta opção afetará diretamente a taxa de bits do vídeo de saída. Após definir este parâmetro, definir -b para especificar a taxa de bits não terá efeito. , é recomendado 18-28.

-preset: Especifique a configuração de codificação x264 fornece alguns valores predefinidos, e esses valores predefinidos podem ser especificados por meio de predefinição. A predefinição afeta principalmente a velocidade da codificação e não afeta muito a qualidade dos resultados codificados.

Depois de executar um comando de transcodificação, ajuste o valor do parâmetro -crf para 19, 20, 28 e 51 respectivamente e transcodifique novamente a saída em diferentes arquivos MP4. Registre os dados e compare-os da seguinte forma:

Arquivo Fonte                Tamanho      Taxa de redução
crf = 18       46,3 < x2>            21%
crf = 19  < x2>    36,7            <x2 > 33%
crf = 20       31,2       < x2>      43%
crf = 28       26,5               83%
crf = 51        1,25              97 %

3.1 Especifique o formato de conversão

Geralmente, o FFmpeg selecionará o formato de contêiner e o formato de codificação mais apropriados com base no formato do arquivo, ou você também pode especificá-lo manualmente. Por exemplo:

ffmpeg -i out.ogv -vcodec h264 out.mp4
ffmpeg -i out.ogv -vcodec mpeg4 out.mp4
ffmpeg -i out.ogv -vcodec libxvid out.mp4
ffmpeg -i out.mp4 -vcodec wmv1 out.wmv
ffmpeg -i out.mp4 -vcodec wmv2 out.wmv

-i é seguido pelo nome do arquivo de entrada. -vcodec é seguido pelo formato de codificação, h264 é o melhor, mas não é instalado por padrão em sistemas Windows. Se você deseja inserir um vídeo ppt, o mais apropriado é escolher wmv1 ou wmv2.

Existem também opções adicionais: -r especifica a taxa de quadros, -s especifica a resolução, -b especifica a taxa de bits ao mesmo tempo, a taxa de bits; canal de áudio pode ser modificado Transcodificação, -acodec especifica a codificação de áudio, -ab especifica a taxa de bits de áudio, -ac especifica o número de canais, por exemplo :

ffmpeg -i out.ogv -s 640x480 -b 500k -vcodec h264 -r 29.97 -acodec libfaac -ab 48k -ac 2 out.mp4

Converta o formato como está, ou seja, mantenha o formato original de codificação de vídeo e áudio O comando é o seguinte:

ffmpeg -i input.flv -vcodec copy -acodec copy out.mp4 #-vcodec copy 和 -acodec copy 表示所使用的视频和音频编码格式,为原样拷贝。

3.2 Mesclar vídeos MP4

O FFmpeg pode mesclar vários vídeos. É melhor primeiro converter mp4 em ts com qualidade sem perdas e depois mesclá-los. O comando é o seguinte:

ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

3.3 Alterar o tamanho da resolução

Se quiser ajustar a resolução do vídeo, você pode usar o seguinte comando:

ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4
# or
ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4

Se quiser ajustar a proporção do seu vídeo, você pode usar o seguinte comando:

ffmpeg -i input.mp4 -aspect 16:9 output.mp4
#常见的宽高比:16:9、4:3、16:10、5:4

3.4 Converter taxa de bits de vídeo

Os principais parâmetros relacionados à taxa de bits do ffmpeg são -minrate, maxrate, -b:v Os comandos são os seguintes:

ffmpeg -i input.mp4 -b:v 2000k output.mp4

#把原始视频转换成 2 Mbps 码率视频。ffmpeg 官方建议,在设置 -b:v 时,同时加上 -bufsize 用于设置码率控制缓冲器大小,让整体码率更加趋近于希望的值,减少波动。
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k output.mp4

# -minrate 和 -maxrate 比较简单,设置码率不要低于或者超过某一个阈值
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k -maxrate 2500k output.mp4

3.5 Editar e cortar vídeos

Caso queira alterar a interceptação de parte do vídeo ou manter determinada parte do vídeo, o comando é o seguinte:

ffmpeg -i a.mov -ss 00:00:21 -t 00:00:10 -acodec aac -vcodec h264 -strict -2 out.mp4
#其中 -ss 00:00:21 表示开始剪辑的位置(时间点),-t 00:00:10 表示剪辑的长度,即 10 秒钟

ffmpeg -i a.mov -strict -2 -vf crop=1080:1080:0:420 out.mp4
#将竖向的视频 1080 x 1920,保留中间 1080×1080 部分,其中的 crop=1080:1080:0:420 才裁剪参数,具体含义是 crop=width:height:x:y,其中 width 和 height 表示裁剪后的尺寸,x:y 表示裁剪区域的左上角坐标。比如当前这个示例,我们只需要保留竖向视频的中间部分,所以 x 不用偏移,故传入0,而 y 则需要向下偏移:(1920 – 1080) / 2 = 420

4. Operação de imagem

4.1 Mesclar fotos em vídeos

Primeiro, coloque as imagens que deseja mesclar em uma pasta e depois renomeie-as como: img001.png, img002.png, img003.png, então .

Por fim, execute o comando para mesclar imagens em vídeos:

ffmpeg -framerate 24 -i img%03d.png output.mp4
#或者
ffmpeg -r 0.5 -i  img%03d.jpg  video.avi

4.2 Conversão de imagem e vídeo

O comando é o seguinte:

#将图片序列合成视频
ffmpeg -f image2 -i image%d.jpg video.mpg

#将视频分解成图片序列
ffmpeg -i video.mpg image%d.jpg

#截取一张352x240尺寸大小的,格式为jpg的图片:
ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg

#把视频的前30帧转换成一个Animated Gif :
ffmpeg -i test.asf -vframes 30 -y -f gif a.gif

#在视频的第8.01秒处截取 352*240 的缩略图
ffmpeg -i test2.asf -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg
ffmpeg -r 0.5 -i d:/tmpImg/image%04d.jpg -i d:/time.mp3 -vcodec mpeg4 d:/video5.avi

5. Comandos comumente usados ​​do FFmpeg

A seguir estão comandos comuns para conversão de formato ffmpeg, compactação de vídeo, mesclagem e corte de vídeos:

# 去掉视频中的音频
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
// -an: 去掉音频;-vcodec:视频选项,一般后面加copy表示拷贝

# 提取视频中的音频
ffmpeg -i input.mp4 -acodec copy -vn output.mp3
// -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝

# 音视频合成
ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4
// -y 覆盖输出文件

#剪切视频
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4
// -ss 开始时间; -t 持续时间

#视频截图
ffmpeg –i test.mp4 –f image2 -t 0.001 -s 320x240 image-%3d.jpg
// -s 设置分辨率; -f 强迫采用格式fmt;

# 视频分解为图片
ffmpeg –i test.mp4 –r 1 –f image2 image-%3d.jpg
// -r 指定截屏频率

# 将图片合成视频
ffmpeg -f image2 -i image%d.jpg output.mp4

#视频拼接
ffmpeg -f concat -i filelist.txt -c copy output.mp4

#将视频转为gif
ffmpeg -i input.mp4 -ss 0:0:30 -t 10 -s 320x240 -pix_fmt rgb24 output.gif
// -pix_fmt 指定编码

#将视频前30帧转为gif
ffmpeg -i input.mp4 -vframes 30 -f gif output.gif

#旋转视频
ffmpeg -i input.mp4 -vf rotate=PI/2 output.mp4

#缩放视频
ffmpeg -i input.mp4 -vf scale=iw/2:-1 output.mp4
// iw 是输入的宽度, iw/2就是一半;-1 为保持宽高比

#视频变速
ffmpeg -i input.mp4 -filter:v setpts=0.5*PTS output.mp4

#音频变速
ffmpeg -i input.mp3 -filter:a atempo=2.0 output.mp3

#音视频同时变速,但是音视频为互倒关系
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4


# 视频添加水印
ffmpeg -i input.mp4 -i logo.jpg -filter_complex [0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] -map [out] -map 0:a -codec:a copy output.mp4
// main_w-overlay_w-10 视频的宽度-水印的宽度-水印边距;

# 截取视频局部
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

# 截取部分视频,从[80,60]的位置开始,截取宽200,高100的视频
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4

# 截取右下角的四分之一
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

# 截去底部40像素高度
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4

6. Efeitos de software FFmpeg

A seguir está uma demonstração do efeito de vídeo compactado FFmpeg (o tamanho do vídeo é inferior a 1,3 MB):

A seguir está uma imagem animada convertida por FFmpeg para WebP (menos de 700 KB, clique para assistir a animação):

7. Resumo

FFmpeg é um artefato de conversão de formato. Embora não seja tão conveniente de usar quanto o cliente, desde que você domine alguns comandos básicos, poderá concluir a conversão e compactação de volume de MP4, FLV, Gif, WebP e outros formatos. é comum em plataformas Windows e Linux.

Ao mesmo tempo, o FFmpeg também é adequado para usuários profissionais. Se você tiver requisitos específicos para vídeo, áudio e outros formatos, poderá consultar os parâmetros oficiais do FFmpeg. Você só precisa adicionar alguns parâmetros ao formato de conversão e compactação. vídeo. A velocidade de conversão e compactação é muito rápida.

Deixe uma resposta