Comment convertir un film 16: 9 en une version boîte aux lettres 4: 3?

11

Supposons que vous ayez un fichier vidéo grand format au format 16: 9 et que vous souhaitiez créer une version idéale pour la lecture sur un appareil 4: 3. Étant donné que vous ne voulez pas couper une image ou déformer l'image, vous voulez donc faire une version boîte aux lettres.

Autrement dit, vous voulez un film 4: 3 avec des barres noires en haut et en bas entourant le rectangle de l'image en mouvement, qui a de vraies dimensions 16: 9.

Pouvez-vous nous dire comment faire cela sous Windows ou Linux, en utilisant des outils de ligne de commande ou GUI gratuits.

dggoldst
la source

Réponses:

11

Les versions plus récentes de ffmpeg déconseillent les options "padtop" et "padbottom". Pour le faire avec la nouvelle version, utilisez la même logique de base ci-dessus. Dans mon cas, ma vidéo d'origine était de 720x404, mais je voulais encoder 720x480 - en remplissant le haut et le bas. Donc par dessus:

(480-404) / 2 = 38

ie Pad 38 pixels à la fois en haut et en bas. La commande "pad" veut la taille de la vidéo que vous encodez, et jusqu'où vous voulez déplacer l'original vers la gauche et le bas. Donc:

-vf pad=720:480:0:38

notez que la résolution de sortie doit être écrite en 720: 480 et non 720x480

Brad
la source
voir ffmpeg.org/ffmpeg-filters.html#pad pour les détails.
Meekohi
7

Cela peut être fait dans ffmpeg. Avant de commencer, lisez cette excellente ressource sur la compréhension des mathématiques: http://www.doom9.org/index.html?/aspectratios.htm

Tout d'abord, calculez les valeurs de remplissage supérieur et inférieur.

long=width of original,
skinny=height of orginal
totalPadding = .75*long - skinny
top padding = bottom padding = totalPadding / 2

REMARQUE: si les rembourrages supérieur et inférieur ne sont pas des nombres MÊMES, forcez-les même pour qu'ils totalisent TotalPadding (par exemple, pas 47 et 53, mais 48 et 52 pour obtenir 100)

Deuxièmement, ajoutez des barres de boîte aux lettres et assurez-vous que le fichier de sortie sera reconnu comme 4x3. Supposons que vos rembourrages soient de 58 pixels en haut et en bas

ffmpeg -i Infile.avi -padtop 58 -padbottom 58 -padcolor 000000 -aspect 4:3 Outfile_letterbox.mpg
dggoldst
la source
2

Téléchargez et installez Avisynth . Ouvrez le bloc-notes, insérez ce qui suit:

AviSource("c:\movies\somemovie.avi")
BicubicResize(720,266,0,0.5)
AddBorders(0, 106, 0, 108)

Enregistrez-le sous mymovie.avs et mettez-le dans votre encodeur.

Vous devrez peut-être modifier le redimensionnement et les bordures, mais vous pouvez généralement voir ce qui se passe ici. De plus, si votre vidéo ne se charge pas avec AviSource, remplacez-la par DirectShowSource.

Percée
la source
1

Par "idéal", je suppose que votre appareil de lecture étire des vidéos?

La situation idéale est de ne pas ajouter de barres noires à la vidéo, mais d'afficher la vidéo avec des barres noires - le réencodage d'une vidéo pour ajouter des barres non seulement enfreint la règle de "coder une fois" mais réduit également la qualité globale par bit en ajoutant des informations supplémentaires inutiles.

Pouvez-vous expliquer davantage quel problème vous essayez de résoudre?

salmonmoose
la source
J'ai un téléviseur 4: 3. J'ai des films 16: 9. Je les grave sur des DVD lisibles et l'une des deux choses suivantes se produit 1) ils sont redimensionnés en 4: 3 (c'est-à-dire étirés) 2) ils ne sont pas étirés mais ne s'affichent pas comme des boîtes aux lettres. Puisqu'il est impossible qu'une image 16: 9 non étirée remplisse un écran 4: 3, cela signifie que les bords sont rognés. J'utilise un logiciel commercial ringard pour créer des DVD lisibles (Cyberlink PowerProducer). C'est peut-être le problème. Je suis ouvert à d'autres façons de créer des DVD à partir de fichiers .avi et .mpg en premier lieu.
dggoldst
Ahhh, ok, il y a le problème - je n'utilise plus de disques, mais je suggère de magasiner pour d'autres logiciels - je pense que vous devez pouvoir exporter avec des pixels anamorphiques - cela étendra la vidéo à 4: 3 mais dites au joueur de changer le rapport.
salmonmoose