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.