Rimuovi le barre nere superiori e inferiori del video .mp4 usando ffmpeg


17

Sono nuovo di ffmpeg e ho sentito che ha un filtro per il nero. Voglio rimuovere le barre nere nella parte superiore e inferiore del video in modo che il video venga ritagliato sul video rimanente senza barre nere. Grazie:)

ffmpeg  mp4 

Finestre? Installa WinFF. Ti permetterà di digitare i valori che vuoi ritagliare attraverso una GUI ...
Kinnectus

Risposte:


30

FFmpeg cropdetect e filtri di ritaglio

1. Ottieni i parametri del raccolto

cropdetect può essere utilizzato per fornire i parametri per il filtro delle colture . In questo esempio i primi 90 secondi vengono saltati e vengono elaborati 10 frame:

$ 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

Quindi, secondo cropdetect, possiamo usare crop=1280:720:0:0.

2. Anteprima con ffplay

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

3. Ricodificare utilizzando il filtro di ritaglio

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

In questo esempio l'audio viene semplicemente copiato in streaming (ri-miscelato) poiché probabilmente non è necessario ricodificarlo.

Vedi anche


Ritaglia durante la riproduzione

Come hai visto sopra con l' ffplayesempio, alcuni giocatori ti permettono di ritagliare durante la riproduzione. Questo ha il vantaggio di:

  • Gratificazione immediata; non è necessario ricodificare
  • La qualità è preservata

Ci dispiace ma sono nuovo di ffmpeg e non capisco la parte per rimuovere le barre nere in alto e in basso e ridimensionare il video alla dimensione rimanente senza barre nere.

1
Esiste un modo automatizzato per rimuovere le barre nere o devo sempre utilizzare manualmente i valori di ritaglio?

@rexhin Quando esegui cropdetect, verranno scaricate molte informazioni nell'output della console, come mostrato sopra. Ti dà letteralmente gli effettivi parametri di ritaglio che devi usare. Puoi automatizzarlo tramite script.
llogan,

Wow fantastico ha funzionato. Ma dove abbiamo messo il filtro per il nero? Inoltre quali sono gli altri due parametri in crop = 1280: 720: 0: 24

Ha rimosso la barra nera superiore ma ha lasciato una piccola barra nera nella parte inferiore. Perché è successo?

1

La risposta di @LordNeckbeard è fantastica. Lo consiglierei nella maggior parte dei casi.

ffplay ha funzionato alla grande e l'anteprima è stata buona, ma la versione di ffmpeg che stavo usando ha lottato con l'audio di questo video che stavo usando.

st:1 error, non monotone timestamps 

Ho finito per avere problemi con la risposta proposta sia con il -c:anon supporto con la versione che stavo eseguendo sia con un problema con la conversione in bitrate con il video che stavo usando.

Nota: -c:apuò essere sostituito con:-acodec

La soluzione gratuita alternativa più semplice che ho trovato è stata quella di usare il freno a mano.

Ha rimosso automaticamente le barre nere senza troppi problemi.

Spero che aiuti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.