OVH Cloud OVH Cloud

Changement d'aspect ratio avec ffmpeg ?

27 réponses
Avatar
Alf92
Bonjour,

je n'arrive pas à faire un changement d'aspect ratio avec ffmpeg.
j'utilise la formule suivante :

ffmpeg -i VIDEO-INPUT.AVI -aspect 16:9 -vcodec copy -acodec copy
VIDEO-OUTPUT.AVI

where is the pb ?

(note : "-vcodec copy" et "-acodec copy" pour le direct stream copy)
--
Alf92

10 réponses

1 2 3
Avatar
gerard guenin
Le Wed, 4 Jan 2012 18:39:28 +0100, "Alf92" écrit:

Bonjour,

je n'arrive pas à faire un changement d'aspect ratio avec ffmpeg.
j'utilise la formule suivante :

ffmpeg -i VIDEO-INPUT.AVI -aspect 16:9 -vcodec copy -acodec copy
VIDEO-OUTPUT.AVI

where is the pb ?



A partir du moment où tu demande une copie des flux audio et vidéo, le paramètre
d'aspect ratio ne peut plus concerner qu'une éventuelle entête dans le
conteneur.
Je ne suis pas du tout sûr que le conteneur AVI ait un tag de ce type dans son
entête. Et même dans ce cas, beaucoup de décodeurs se fient prioritairement au
contenu des descriptifs régulièrements répétés du flux vidéo.
Il faudrait une fonction plus subtile dans ffmpeg qui, sans réencoder,
modifierait juste les descriptifs.
--
Enlever la pub pour me répondre
Avatar
Thierry M.
gerard guenin a exposé le 06/01/2012 :

Je ne suis pas du tout sûr que le conteneur AVI ait un tag de ce type



y peut encapsuler ça dans un mkv avec mkv-merge et indiquer le nouveau
ratio dans les propriétés vidéos.
bon, évidemment, si ce n'est pas lu avec l'ordi (quoique dans ce cas,
un vlc quelconque permet de corriger le ratio à la volée), il faudra un
lecteur compatible (qui lise les mkv)
idem pour les décalages son etc.

sinon, réencoder ce n'est pas la mer à boire.

--
Thierry
Qu'est-ce qu' un embryon ? un foetus ?
(cours a l'intention des étudiants en médecine - site suisse)
http://www.embryology.ch/francais/jfetalperiod/entwicklung01.html#fetal
Avatar
Alf92
"gerard guenin" a écrit

je n'arrive pas à faire un changement d'aspect ratio avec ffmpeg.
j'utilise la formule suivante :

ffmpeg -i VIDEO-INPUT.AVI -aspect 16:9 -vcodec copy -acodec copy
VIDEO-OUTPUT.AVI

where is the pb ?



A partir du moment où tu demande une copie des flux audio et vidéo, le
paramètre
d'aspect ratio ne peut plus concerner qu'une éventuelle entête dans le
conteneur.
Je ne suis pas du tout sûr que le conteneur AVI ait un tag de ce type dans
son
entête.



Cette entête existe bien dans le container AVI.
elle est modifiable avec le soft MPEG4Modifier.

Et même dans ce cas, beaucoup de décodeurs se fient prioritairement au
contenu des descriptifs régulièrements répétés du flux vidéo.



La fbx V5 en tient compte, idem pour ma platine DivX de génération ancienne
(5 ans).

Il faudrait une fonction plus subtile dans ffmpeg qui, sans réencoder,
modifierait juste les descriptifs.



c'est en effet ce que recherche avec ffmpeg.
je sais que l'attribut "-aspect 16:9" (ou 4:3 , ou 16:10, ...) fonctionne
lorsque l'on procède à un réencodage en sortie AVI.
j'aimerai qu'il fonctionne en direct stream copy...

--
Alf92
Avatar
Alf92
"Thierry M." a écrit dans le message
de groupe de discussion :
gerard guenin a exposé le 06/01/2012 :

Je ne suis pas du tout sûr que le conteneur AVI ait un tag de ce type



y peut encapsuler ça dans un mkv avec mkv-merge et indiquer le nouveau
ratio dans les propriétés vidéos.
bon, évidemment, si ce n'est pas lu avec l'ordi (quoique dans ce cas, un
vlc quelconque permet de corriger le ratio à la volée), il faudra un
lecteur compatible (qui lise les mkv)



il me faut un AVI en sortie.


idem pour les décalages son etc.



voilà un truc qui m'intéresse : comment rattrapes-tu les décalages son avec
ffmpeg ?
(décalage progressif : changement du frame rates, et décalage constant :
préload + ou -)


sinon, réencoder ce n'est pas la mer à boire.



en effet mais c'est dommage.

--
Alf92
Avatar
jdd
Le 07/01/2012 19:26, Alf92 a écrit :

c'est en effet ce que recherche avec ffmpeg.
je sais que l'attribut "-aspect 16:9" (ou 4:3 , ou 16:10, ...)
fonctionne lorsque l'on procède à un réencodage en sortie AVI.
j'aimerai qu'il fonctionne en direct stream copy...



la seule façon à peu près imbatable c'est de fixer la taille
directement en 16x9 (tant que ce n'est pas du vrai dvd)

jdd
Avatar
jdd
Le 07/01/2012 19:38, Alf92 a écrit :

voilà un truc qui m'intéresse : comment rattrapes-tu les décalages son
avec ffmpeg ?
(décalage progressif : changement du frame rates, et décalage constant
: préload + ou -)



on peut pas. à la rigueur si c'est constant (mais en général ca ne
m'est pas)

jdd
Avatar
Thierry M.
Alf92 vient de nous annoncer :

il me faut un AVI en sortie.



ça reste un avi dans le mkv

sinon, pour le réencodage, pourquoi s'emm avec des lignes de commande ?
j'utilise M4ng
pour la vidéo, tu redéfinis les dimentions (donc le ratio) en wisiwig,
après avoir rogné les bandes noires éventuelles qui ne servent à rien
sinon plomber la bande passante. par défaut c'est xvid 2 passes, ce qui
est très bien pour un avi, et il va faire un avi de 702 Mo, ou tu
indiques un bitrate au moins egal a celui d'origine. pour le son, faut
pas demander de changement (original). S'il y a un probleme son, vaut
mieux passer sous virtualdub

pour l'audio, toujours avec le même m4ng, outils audio et extraction en
wav, à ce moment passer sous virtualdub ou on pourra tester ça en temps
réel, demander son: le wav, mettre compression mp3 comme on veut,
video: dscopy, et changer le delay son pour le décalage constant ou le
fps pour le décalage progressif et poum

moi, ça me prend quelques minutes, mais franchement, depuis que j'ai un
lecteur mkv (wdlivetv) ça me prend quelques secondes avec mkvmerge et
sans retoucher quoique ce soit à la video d'origine, sinon, la repasser
à la moulinette virtualdub en direct stream copy audio et video pour
eliminer les erreurs en une poignée de secondes.

--
Thierry
Qu'est-ce qu' un embryon ? un foetus ?
(cours a l'intention des étudiants en médecine - site suisse)
http://www.embryology.ch/francais/jfetalperiod/entwicklung01.html#fetal
Avatar
Stephane Legras-Decussy
Le 08/01/2012 05:32, Thierry M. a écrit :
Alf92 vient de nous annoncer :

il me faut un AVI en sortie.



ça reste un avi dans le mkv



impossible, l'avi c'est le conteneur, comme le mkv ou comme mov.

on ne peut pas mettre un conteneur dans un autre conteneur.

on peut juste déplacer les flux d'un conteur à l'autre.


sinon, pour le réencodage, pourquoi s'emm avec des lignes de commande ?
j'utilise M4ng



yep excellent, mais c'est surtout un workflow complet de rippage disque
Avatar
Thierry M.
Stephane Legras-Decussy a exposé le 08/01/2012 :

ça reste un avi dans le mkv



impossible, l'avi c'est le conteneur, comme le mkv ou comme mov.
on ne peut pas mettre un conteneur dans un autre conteneur.
on peut juste déplacer les flux d'un conteur à l'autre.



j'voulais dire : ça reste ce que c'était en encodage, donc il n'ya pas
besoin de réencoder, mais oui, les flux A/V sont séparés et re combinés
dans le mkv quand on passe la moulinette mkvmerge, si la video c'est
du xvid, ça reste du xvid, si le son c'est du mp3, ça reste du mp3,
c'est que du dubbing
et surtout dans un mkv, on peut en mettre autant qu'on veut, avec du
chapitrage, des sous titres, tout comme un dvd
ce format était un peu ignoré jusqu'à l'arrivé des rip en hd ou 3d ...
maintenant il devient incontournable

--
Thierry
Photos de foetus entre 8 et 12 semaines:
http://ardf.free.fr/foetus
Avatar
Alf92
"Thierry M." a écrit

il me faut un AVI en sortie.



ça reste un avi dans le mkv



?
non, un MKV est un MKV. ce n'est pas un AVI.

sinon, pour le réencodage, pourquoi s'emm avec des lignes de commande ?



parce que c'est simple.
parce que c'est puissant : ffmpeg en ligne de commande est la seule appli
qui convertit correctement les video de mon APN.
même mes GUI de ffmpeg echouent.
parce que c'est compatible en input et en output avec tous les containers et
tous les codecs.
parce que pour le traitement par lot c'est idéale.
parce que c'est minimaliste (un simple fichier exe !).
parce que ça ne plante jamais.
parce que ça marche sous tout les OS.
parce que c'est beau.
...

j'utilise M4ng



c'est quoi son moteur d'encodage ?

pour la vidéo, tu redéfinis les dimentions (donc le ratio) en wisiwig,
après avoir rogné les bandes noires éventuelles qui ne servent à rien
sinon plomber la bande passante. par défaut c'est xvid 2 passes, ce qui
est très bien pour un avi, et il va faire un avi de 702 Mo, ou tu indiques
un bitrate au moins egal a celui d'origine. pour le son, faut pas demander
de changement (original).



Super(C) le fait aussi.

S'il y a un probleme son, vaut mieux passer sous virtualdub



oui

pour l'audio, toujours avec le même m4ng, outils audio et extraction en
wav, à ce moment passer sous virtualdub ou on pourra tester ça en temps
réel, demander son: le wav, mettre compression mp3 comme on veut, video:
dscopy, et changer le delay son pour le décalage constant ou le fps pour
le décalage progressif et poum



oui

moi, ça me prend quelques minutes, mais franchement, depuis que j'ai un
lecteur mkv (wdlivetv)



je n'ai pas de platine MKV.
les anciennes platines le sont pas compatibles avec ce format.

ça me prend quelques secondes avec mkvmerge et sans retoucher quoique ce
soit à la video d'origine, sinon, la repasser à la moulinette virtualdub
en direct stream copy audio et video pour eliminer les erreurs en une
poignée de secondes.



oui

--
Alf92
1 2 3