web-dev-qa-db-fra.com

Sortie pal8 rawvideo avec avconv

J'essaie de réduire la résolution de certaines vidéos brutes en utilisant avconv. La sortie doit conserver le même format vidéo brut, car à un stade ultérieur, je dois le charger dans un autre programme qui est extrêmement difficile et n'acceptera aucun autre type d'entrée. Maintenant, j'ai essayé de faire

avconv -i myvideo.avi -s 88x72 -vcodec rawvideo myvideo-small.avi

Cela produit bien la vidéo réduite, mais il semble que le format ne soit pas exactement le même. avconv dit que l'entrée de lecture est

Stream #0.0: Video: rawvideo, pal8, 352x288, 30 fps, 30 tbr, 30 tbn

tandis que la sortie produite est

Stream #0.0: Video: rawvideo, yuv420p, 88x72, q=2-31, 200 kb/s, 30 tbn, 30 tbc

Même si les deux sont rawvideo, l'entrée est "pal8" et la sortie est "yuv420p". Je ne suis pas au courant des différences entre ces deux formats, mais j'ai besoin que ma sortie conserve exactement le même format que l'entrée. Comment cela peut-il être fait?

2
albarji

Il me semble que avconv pour le moment ne supporte que pal8 pour l'entrée. Pour vérifier que vous pouvez exécuter:

$ avconv -pix_fmts |grep pal8

ma sortie est:

avconv version v12_dev0-498-g2e09359, Copyright (c) 2000-2014 the Libav developers
  built on Dec  5 2014 09:32:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
I..P. pal8                   1             8

La légende de la première partie est:

I.... = Supported Input  format for conversion
.O... = Supported Output format for conversion
..H.. = Hardware accelerated format
...P. = Paletted format
....B = Bitstream format

Donc pal8 peut être lu, mais pas écrit. Cela signifie qu'il n'y a aucun moyen pour vous de coder activement l'un des flux dans ce format, ce que vous devez faire si vous avez l'intention de modifier la taille de la trame.

Si vous trouverez un autre format de pixels que votre logiciel "pointilleux" acceptera en plus de pal8 et qui peut être encodé avec avconv, vous pouvez sélectionner ce format particulier avec le -pix_fmt option:

avconv -i in.avi -s 88x72 -pix_fmt FORMAT -c:v rawvideo out.avi
1
v010dya