2015-02-25 1 views
1

J'essaie de faire pivoter une vidéo, puis d'ajouter une superposition. Mais ça ne marche pas, j'ai essayé une combinaison de choses, et aucune n'a fonctionné.Libav: Rotation de la vidéo, puis ajout de la superposition

C'est le plus proche, je suis devenu:

avconv -i VIDEO.mp4 -i OVERLAY.png -strict experimental -threads auto -c:a copy -filter_complex "transpose=1;[0:v][1:v]overlay" OUT.mp4 -y 

Le problème est que cela ajoute deux flux séparés au conteneur une rotation, et un avec le logo!

Répondre

0

D'une certaine manière, c'est exactement ce que vous lui avez demandé de faire. Vous n'avez pas réellement mappé le flux nécessaire correctement.

Voici ce que j'ai réussi à travailler rapidement sur ma machine:

avconv -i input.ogv -i logo.jpeg -an -filter_complex '[0:v]transpose=1[rv];[rv][1:v]overlay[final]' -map '[final]' -c:v libtheora out.ogv 

Regardons ce qui se passe ici.

  1. -filter_complex prend deux flux vidéo [0: v] et [1: v]
  2. I actionnez [0: v] et stocker le résultat dans [rv] (vous pouvez venir avec une chaîne ici , j'ai choisi rv signifie « vidéo pivotée »
  3. Je passe ensuite [rv] et [1: v]. dans la superposition et économisez

le résultat dans [finale] le problème à ce stade est que tous les autres flux sont encore quelque part et sont mappés sur le fichier de sortie. flux vidéo de sortie.

Par défaut, les filtres de -filter_complex stockent les choses dans les noms de flux qu'ils ont obtenus, mais dans ce cas, quelque chose est devenu confus. Dans les deux cas, vous n'avez pas besoin d'avoir deux flux à la fin de toute façon.