Supprimer les barres noires vidéo supérieure et inférieure à l'aide de ffmpeg

23

Je suis nouveau sur ffmpeg et j'ai entendu dire qu'il avait un filtre pour le noir. Je souhaite supprimer les barres noires en haut et en bas de la vidéo afin que la vidéo soit rognée sur la vidéo restante sans barres noires. Merci:)


la source
Les fenêtres? Installez WinFF. Il vous permettra de saisir les valeurs que vous souhaitez recadrer via une interface graphique ...
Kinnectus

Réponses:

39

FFmpeg cropdetect et filtres de recadrage

1. Obtenez les paramètres de recadrage

cropdetect peut être utilisé pour fournir les paramètres du filtre de recadrage . Dans cet exemple, les 90 premières secondes sont ignorées et 10 images sont traitées:

$ 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

Donc, selon cropdetect, nous pouvons utiliser crop=1280:720:0:0.

2. Aperçu avec ffplay

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

3. Ré-encoder en utilisant le filtre de recadrage

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

Dans cet exemple, l'audio est simplement copié (re-multiplexé) car vous n'avez probablement pas besoin de le recoder.

Regarde aussi


Recadrer pendant la lecture

Comme vous l'avez vu ci-dessus avec l' ffplayexemple, certains joueurs vous permettent de recadrer lors de la lecture. Cela a l'avantage de:

  • Gratification instantanée; pas besoin de ré-encoder
  • La qualité est préservée
llogan
la source
Désolé mais je suis nouveau sur ffmpeg et je ne comprends pas la partie pour supprimer les barres noires en haut et en bas et redimensionner la vidéo à la taille restante sans barres noires.
1
Existe-t-il un moyen automatisé de supprimer les barres noires ou dois-je toujours utiliser manuellement les valeurs de recadrage?
1
@rexhin Lorsque vous exécutez cropdetect, il affichera un tas d'informations dans la sortie de la console, comme indiqué ci-dessus. Il vous donne littéralement les paramètres de recadrage réels que vous devez utiliser. Vous pouvez l'automatiser via des scripts.
llogan
Wow génial cela a fonctionné. Mais où avons-nous mis le filtre pour le noir? Quels sont également les deux autres paramètres dans crop = 1280: 720: 0: 24
Il a supprimé la barre noire supérieure mais a laissé une petite barre noire en bas. Pourquoi est-ce arrivé?
1

La réponse de @LordNeckbeard est excellente. Je le recommanderais dans la plupart des cas.

ffplay a très bien fonctionné et a bien prévisualisé, mais la version de ffmpeg que j'utilisais a eu du mal avec l'audio de cette vidéo que j'utilisais.

st:1 error, non monotone timestamps 

J'ai fini par avoir des problèmes avec la réponse proposée à la fois avec le fait de -c:ane pas être pris en charge avec la version que j'utilisais et avec un problème de conversion de débit avec la vidéo que j'utilisais.

Remarque: -c:apeut être remplacé par:-acodec

La solution gratuite alternative la plus simple que j'ai trouvée était d'utiliser le frein à main.

Son autocrop a supprimé les barres noires sans trop de problèmes.

J'espère que cela pourra aider.

phyatt
la source