Eu tenho um arquivo MP4 de uma gravação de tela que preciso cortar. Como fazer isso sem usar ferramentas caras como Adobe Premier ou Final Cut? Prefiro ffmpeg
porque já o usei antes.
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ídaout_h
é a altura do retângulo de saídax
e y
especifique o canto superior esquerdo do retângulo de saída
Imagem original de 320x240
Para cortar uma seção 80 × 60, iniciando na posição (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
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
Qual é o mesmo que:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
in_w
e in_h
como mostrado neste primeiro exemplo. A largura e a altura da saída também podem ser usadas com out_w
e out_h
.Corte 20 pixels da parte superior e 20 da parte inferior:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
x
e y
for omitido, como neste exemplo.Você pode fazer uma colheita (heh heh) e visualizá-la ao vivo com ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
Dessa forma, você pode experimentar e ajustar seu corte sem a necessidade de codificar, visualizar e repetir.
O codificador padrão para MP4 é libx264
(vídeo H.264) ou mpeg4
(vídeo MPEG-4 Parte 2), dependendo da sua ffmpeg
compilação. Consulte FFmpeg Wiki: Guia de codificação de vídeo H.264 para obter mais informações.
Em vez de cortar e recodificar, considere cortar durante a reprodução. Isso é possível com qualquer jogador que valha a pena usar.
Antiga ffmpeg
constrói usado -croptop
, -cropbottom
, -cropleft
, -cropright
opções em vez do crop
filtro. Se este for o seu caso, adquira um modernoffmpeg
. O desenvolvimento é muito ativo e não há razão para usar uma antiguidade.
/Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4
mas o filme original é devolvido.crop
filtro) re-codifica o vídeo, ver stackoverflow.com/questions/33378548/... Se as coisas re-codificação para você-filter:v
para o mais atualizado e mais simples de digitar-vf
. Felicidades!