2015-02-25 10 views
1

Я пытаюсь повернуть видео, а затем добавить наложение. Но это не работает, я пробовал сочетание вещей, и никто не работал.Libav: Повернуть видео, затем добавить наложение

Это ближайший я получил:

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 

Проблема заключается в том, что это добавляет два отдельных потока в контейнер один повернуты, и один с логотипом!

ответ

0

В некотором роде именно это вы просили. Вы на самом деле не правильно отображали нужный поток.

Вот что мне удалось получить быстро работать на моей машине:

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 

Давайте посмотрим на то, что здесь происходит.

  1. -filter_complex принимает два видеопотока [0: v] и [1: v]
  2. я поворачиваю [0: v] и сохранить результат в [RV] (вы можете прийти с любой строкой здесь , я выбрал RV означает «повернутый видео»
  3. я затем передать [RV] и [1: v]. в наложение и сохранить результат в [окончательный]

проблема на данный момент является то, что все остальные потоки все еще задерживаются где-то и отображаются в выходной файл. Поэтому мне пришлось сделать -map '[final'], чтобы отобразить правильную результирующую строку как единственную видео поток.

По умолчанию фильтры -filter_complex хранят вещи обратно в имена потоков, которые они получили, но в этом случае что-то просто запуталось. В любом случае у вас нет необходимости иметь два потока в конце концов.

 Смежные вопросы

  • Нет связанных вопросов^_^