2016-08-15 4 views
0

J'avais un fichier vidéo brut nommé video.i420 basé sur le format I420. Et j'ai essayé de convertir en format BGRA en utilisant gst-launch-1.0:Comment convertir les images I420 au format BGRA avec gst-launch-1.0?

gst-launch-1.0 filesrc location=video.i420 ! videoparse width=1920 height=816 format=2 framerate=24/1 ! videoconvert ! videoparse format=12 ! filesink location=video.bgra 

Mais le fichier de sortie video.bgra de taille seulement 48 octets plus grand que le fichier source.

Je joue le video.bgra avec la commande suivie:

gst-launch-1.0 filesrc location=video.bgra ! videoparse width=1920 height=816 format=2 framerate=24/1 ! videoconvert ! autovideosink 

et il est le même que la lecture du fichier source.

Quel est le problème avec le pipeline que j'ai créé pour la conversion de format? Et pourquoi ne pas convertir que je pense

Répondre

0

Que diriez-vous ceci:

gst-launch-1.0 filesrc location=video.i420 ! videoparse width=1920 height=816 format=i420 framerate=24/1 ! videoconvert ! video/x-raw, format=bgra ! filesink location=video.bgra

J'ai changé les nombres magiques aux formats lisibles par l'homme. Juste pour la lisibilité, cela devrait fonctionner avec des nombres aussi bien.

À part cela. Ce qui est requis est de dire videoconvert un format vidéo définitif. Je pense que le videoparser ne fait qu'analyser les données, mais n'applique pas de limites spécifiques sur son élément précédent.