Tenho um arquivo MP4 de uma gravação de tela que preciso cortar. Como posso fazer isso sem usar ferramentas caras como Adobe Premier ou Final Cut? Eu prefiro ffmpeg
porque já usei antes.
Resposta
Use o crop
filtro :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Onde as opções são as seguintes:
-
out_w
é a largura do retângulo de saída -
out_h
é a altura do retângulo de saída -
x
ey
especificam o canto superior esquerdo do retângulo de saída
Imagem original
Imagem original 320×240
Exemplo 1
Para cortar uma seção 80 × 60, começando da posição (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
- O áudio é stream copiado neste exemplo, então a recodificação é evitada.
Exemplo 2
Para cortar o quarto inferior direito:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
É o mesmo que:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
Que é o mesmo que:
ffmpeg -i in.mp4 -filter:v "crop=160:120:160:120" -c:a copy out.mp4
- Você pode consultar o tamanho da imagem de entrada com
in_w
ein_h
conforme mostrado neste primeiro exemplo. A largura e altura de saída também podem ser usadas comout_w
eout_h
.
Exemplo 3
Corte 20 pixels da parte superior e 20 pixels da parte inferior:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
- O filtro centralizará automaticamente o corte se
x
ey
são omitidos como neste exemplo.
Visualização
Você pode fazer um recorte (heh heh) e visualizá-lo ao vivo com ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
Dessa forma, você pode experimentar e ajustar o corte sem a necessidade de codificar, visualizar, repetir.
Observações
-
O codificador padrão para MP4 é
libx264
(vídeo H.264) oumpeg4
(MPEG- Vídeo 4 Parte 2) dependendo do seuffmpeg
construir. Consulte FFmpeg Wiki: Guia de codificação de vídeo H.264 para obter mais informações. -
Em vez de recortar e voltar codificação, considere cortar durante a reprodução. Isso é possível com qualquer jogador que valha a pena usar.
-
Construções
ffmpeg
antigas usadas-croptop
,-cropbottom
,-cropleft
,-cropright
opções em vez decrop
. Se este for o seu caso, obtenha umffmpeg
moderno. O desenvolvimento é muito ativo e não há razão para usar uma antiguidade.
crop
filtro) recodifica o vídeo, consulte stackoverflow.com/questions/33378548/… se re a codificação é importante para você-filter:v
para o mais atualizado e mais simples de digitar-vf
. Saúde!cropdetect
primeiro a ter os parâmetros de corte de impressão do ffmpeg para você:ffmpeg.exe -i vid.mp4 -vf cropdetect out.mp4