Лучшим вариантом будет профессиональный видеоредактор, такой как Adobe Premiere, но вы указали бесплатное программное обеспечение, поэтому я направлю вас к одному из моих любимых: ffmpeg или avconv. (Это та же самая программа, в основном. Добрые люди в комментариях могут помочь уточнить, какой из них доступен для Windows 7. Я использую avconv, потому что он есть в моем репозитории Debian, но загрузка для ffmpeg для Windows выглядит проще.)
Я не уверен, подпадает ли под интерфейс командной строки ваше определение "сценариев", но я действительно считаю, что это лучший и самый простой (и, возможно, самый быстрый) способ выполнить задачу.
Кроме того, ffmpeg/avconv обычно известен только для trans, en- и decoding, но он может сделать намного больше.
Примеры
ffmpeg может создавать эти мозаики, размещать видео на статическом фоновом изображении, накладывать поверх другого видео (но похоже, что оно в C #) и накладывать два видео друг на друга (командная строка).
Первая ссылка о мозаиках - это учебник от ffmpeg.org, поэтому он объясняет многое из того, что происходит.
Конкретное решение
ffmpeg/avconv очень мощный, но иногда может потребоваться некоторое время, чтобы точно определить, что вы хотите сделать и как вы хотите это сделать. Я сейчас собираюсь попытаться построить конкретное решение.
Скажем, видео в стандартном HD 1920x1080, соотношение 16:9.
Во-первых, вам нужно выяснить размер оверлейного видео. Возможно, вы хотели бы увидеть это визуально, но вы можете попробовать этот процесс несколько раз, пока не будете удовлетворены. Если два видео имеют одинаковый размер, возможно, вы сможете наложить четверть горизонтального размера фона. Тогда оверлей будет иметь ширину 1920/4 = 480 и высоту (1920/4) * (9/16) = 270 в координатах (сверху слева) x = 1920-480 = 1440 и y = 1080-270 = 810.
Это всего лишь математика, потому что я хотел сделать видео точно четверть горизонтального размера. Вы можете просто указать размер и положение наложения.
Используя filter_complex (документация), установите положение наложения:
-filter_complex overlay=1440:810
И добавляем масштабный фильтр для оверлея:
-filter_complex "[1] scale=480:270 [over]; [0][over] overlay=1440:810"
(Числа в квадратных скобках указывают, на какой из входов воздействуют.) (Фильтр масштабирования должен идти перед фильтром наложения, в противном случае видео наложения будет выходить за пределы фона / вывода и вызывать ошибку.)
Построение всей команды тогда будет следующим:
ffmpeg -i background.movie -i overlay.movie -filter_complex "[1] scale=480:270 [over]; [0][over] overlay=1440:810" output.movie
(«-i» обозначает входные данные; выходные данные являются единственным другим аргументом без опционального индикатора «-».)
метод
- Установите ffmpeg/avconv
- Скопируйте и вставьте команду в интерфейс командной строки
- Измените входные и выходные файлы. (Вы можете сначала перейти к определенной папке и затем просто запустить с именами файлов, или вы можете указать полный путь в команде.) (Ffmpeg /avconv автоматически выбирает формат из расширения выходного имени файла, поэтому просто измените его на например " .mp4" .)
- Измените разрешения / размеры.
- Выполните команду.
тестирование
Я проверил это с avconv с точно таким же синтаксисом (с другими разрешениями в соотношении 4:3, только потому, что это было по умолчанию) и смог изменить это
и это
в это
(Это снимки VLC.)
Спасибо и библиография