Remova as barras pretas superior e inferior do vídeo .mp4 usando ffmpeg

22

Eu sou novo no ffmpeg e ouvi dizer que ele tem um filtro para preto. Quero remover as barras pretas na parte superior e inferior do vídeo para que o vídeo seja cortado no vídeo restante sem barras pretas. Obrigado:)


fonte
Janelas? Instale o WinFF. Ele irá permitir que você digite os valores que você deseja cortar através de uma GUI ...
Kinnectus

Respostas:

38

FFmpeg cropdetect e filtros de colheita

1. Obtenha parâmetros de corte

O cropdetect pode ser usado para fornecer os parâmetros para o filtro de corte . Neste exemplo, os primeiros 90 segundos são ignorados e 10 quadros são processados:

$ ffmpeg -ss 90 -i input.mp4 -vframes 10 -vf cropdetect -f null -
...
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:215 t:0.215000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:257 t:0.257000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:299 t:0.299000 crop=1280:720:0:0

Então, de acordo com o cropdetect, podemos usar crop=1280:720:0:0.

2. Visualize com ffplay

$ ffplay -vf crop=1280:720:0:0 input.mp4

3. Codifique novamente usando o filtro de corte

$ ffmpeg -i input.mp4 -vf crop=1280:720:0:0 -c:a copy output.mp4

Neste exemplo, o áudio é apenas copiado em fluxo (re-mixado), pois você provavelmente não precisa recodificá-lo.

Veja também


Cortar durante a reprodução

Como você viu acima com o ffplayexemplo, alguns players permitem cortar durante a reprodução. Isso tem a vantagem de:

  • Gratificação instantânea; não há necessidade de recodificar
  • A qualidade é preservada
llogan
fonte
Desculpe, mas eu sou novo no ffmpeg e não entendo a parte para remover barras pretas na parte superior e inferior e redimensionar o vídeo para o tamanho restante sem barras pretas.
1
Existe uma maneira automatizada de remover barras pretas ou eu tenho que usar sempre manualmente os valores de corte?
1
@rexhin Quando você executa o cropdetect, ele despeja um monte de informações na saída do console, como mostrado acima. Ele literalmente fornece os parâmetros de corte reais que você precisa usar. Você pode automatizá-lo via script.
Llogan
Uau incrível que funcionou. Mas onde colocamos o filtro para preto? Além disso, quais são os outros dois parâmetros na colheita = 1280: 720: 0: 24
Ele removeu a barra preta superior, mas deixou uma pequena barra preta na parte inferior. Por quê isso aconteceu?
1

A resposta de @LordNeckbeard é ótima. Eu recomendaria na maioria dos casos.

O ffplay funcionou muito bem e teve uma boa visualização, mas a versão do ffmpeg que eu estava usando lutava com o áudio deste vídeo que eu estava usando.

st:1 error, non monotone timestamps 

Acabei tendo problemas com a resposta proposta, por -c:anão ter suporte na versão em execução e por um problema de conversão de taxa de bits no vídeo que estava usando.

Nota: -c:apode ser substituído por:-acodec

A solução alternativa gratuita mais fácil que encontrei foi usar o freio de mão.

O corte automático removeu as barras pretas sem muitos problemas.

Espero que ajude.

phyatt
fonte