Astuces‎ > ‎Vidéo‎ > ‎

Cropping facile avec MEncoder

Le cropping avec MEncoder n'est pas toujours n'est pas facile à comprendre, surtout au début avec la ligne de commande.

Voici un exemple pour faire un encodage avec cropping.

La taille de la vidéo d'origine est 720 x 576. L'aspect ratio 16/9. Des bandes noires dans l'image.



Voici comment on fait.

Pour détecter les bandes noires, j'utilise simplement avec la ligne de commande l'option "cropdetect" de MPlayer.

mplayer ma_video_entree.mpg -vf cropdetect

Dans le terminal, on obtient les infos :
...
[CROP] Crop area: X: 16..703 Y: 16..559 (-vf crop=688:544:16:16)
[CROP] Crop area: X: 16..703 Y: 16..559 (-vf crop=688:544:16:16)
[CROP] Crop area: X: 16..703 Y: 16..559 (-vf crop=688:544:16:16)

L'option crop sera :
-vf crop=688:544:16:16



La nouvelle taille de l'image est 688 x 544. Mais elle n'est pas en 16/9. Je la redimensionne.

688 divisé par 1,77778 = 387

Cela donne 688 x 387. Mais 387 n'est pas un multiple de 16 (1), je choisit 384. Résultat : 688 x 384

L'option scale sera
scale=688:384

L'option crop + scale sera
-vf crop=688:544:16:16,scale=688:384

Surtout ne pas oublier la virgule. Elle sert quand on ajoute un autre option.

Ma ligne de commande complète avec comme codecs Xvid et Mp3 :

mencoder 'ma-video-entree.mpg' -vf crop=688:544:16:16,scale=688:384 -ovc xvid -xvidencopts bitrate=1500 -oac mp3lame -lameopts cbr:br=128 -o 'ma-video-sortie.avi'





Si je veux un cropping personnalisé sans l'utilisation de l'option "cropdetect" de MPlayer.

Voici comment on fait.

Taille de la vidéo d'origine : 720 x 576
Bandes noires à enlever : Gauche = 16, Droite = 16, Haut = 16, Bas = 16

Pour trouver la largeur de l'image sans les bandes noires :
Largeur d'origine - (Gauche + Droite) = Largeur rogné
720 - (16 + 16) = 688

Pour trouver la hauteur de l'image sans les bandes noires :
Hauteur d'origine - (Haut + Bas) = Hauteur rogné
576 - (16 + 16) = 544

Avec l'option crop :
crop=688:544:16:16

Résultat : 688:544:16:16

Pour vérifier si le cropping est parfait, une ligne de commande avec MPlayer :

mplayer ma_video_entree.mpg -vf crop=688:544:16:16



Sinon, je rectifie en enlevant plus ou moins sur les bandes noires et je vérifie à nouveau.

Autrement j'utilise souvent Avidemux, pour voir les bandes noires à enlever. Ca marchera aussi avec un autre éditeur vidéo.

Pour éviter des messages d'erreur de Mencoder, on vérifie toujours que cela ne dépasse pas la largeur d'origine, c'est à dire 720 :
16 + 688 + 16 = 720.

Pareil pour la hauteur 576 :
16 + 544 + 16 = 576 
Bon encodage !

Liens :

(1) les macroblocs du MPEG-4 ont une taille de 16×16. Il faut veiller que la taille de l'image soit un multiple de 16.
Comments