Как воспроизвести видео Watermark по порядку, используя FFMPEG

246
p.jadhav

Я хочу воспроизводить водяные знаки по одному в выходном видео, используя ffmpeg.
Ниже команды установите 4 видео в качестве водяного знака на изображении и создайте выходное видео, но видео водяного знака воспроизводится параллельно.

String [] cmd = {"- i", "/ storage / emulated / 0 / Download / trasprent_bg.png", "- i", videourl_1.mp4, "- i", videourl_2.mp4, "- i", videourl_3 .mp4, "- я", videourl_4.mp4, "- я", image_collage.png, "- filter_complex", "[1: v] масштаб = 500: 500, растениеводство = 266: 266 [ПФП]; [2: v] масштаб = 500: 500, растениеводство = 266: 266 [BFG]; [3: v] масштаб = 500: 500, растениеводство = 266: 266 [threefg]; [4: v] масштаб = 500: 500, растениеводство = 266: 266 [fourfg]; [5: v] масштаб = -1: -1 [colage]; [0: v] [ПФП] наложения = 2: 2 [o1]; [o1] [BFG] накладка = 272: 2 [O2]; [O2] [threefg] наложение = 2: 272 [O3]; [O3] [fourfg] накладка = 272: 272 [O4]; [O4] [colage] наложение = 0: 0", "- », "videoCrop37.mp4"};

Пожалуйста, помогите мне.

0

1 ответ на вопрос

0
Gyan

Вам нужно изменить метки времени для других видео.

String [] cmd = {"- loop", "1", "- i", "/ storage / emulated / 0 / Download / trasprent_bg.png", "- i", videourl_1.mp4, "- i", videourl_2 .mp4, "- я", videourl_3.mp4, "- я", videourl_4.mp4, "- я", image_collage.png, "- filter_complex", "[1: v] масштаб = 500: 500, растениеводство = 266 : 266 [ПФП]; [2: v] масштаб = 500: 500, растениеводство = 266: 266, setpts = PTS + X / ТБ [BFG]; [3: v] масштаб = 500: 500, растениеводство = 266: 266, setpts = PTS + Y / ТБ [threefg]; [4: v] масштаб = 500: 500, растениеводство = 266: 266, setpts = PTS + Z / ТБ [fourfg]; [5: v] масштаб = -1: -1 [colage]; [0: v] [ПФП] наложения = 2: 2: eof_action = передать [o1]; [o1] [BFG] накладка = 272: 2: eof_action = проходят [O2]; [O2] [ threefg] наложения = 2: 272: eof_action = передать [O3]; [O3] [fourfg] накладка = 272: 272: eof_action = передать: кратчайшее = 1 [O4]; [O4] [colage] наложения = 0: 0", "- это", "videoCrop37.mp4"};

Для 2-го, 3-го и 4-го видео setpts=PTS+T/TBбыл добавлен фильтр, где T - задержка в секундах для времени начала этого видео. Если продолжительность 4 видео составляет 6,3,11,5 секунды, то X = 6, Y = 9 (6 + 3) и Z = 20 (6 + 3 + 11).

команда запускается, но вывод видео создается с 00:00:00 секунды. 4 видео имеют продолжительность 9 секунд, поэтому установите значение X = 9, Y = 18, Z = 27. p.jadhav 5 лет назад 0
Попробуйте отредактировать cmd. Gyan 5 лет назад 0
отредактированная команда run infinity p.jadhav 5 лет назад 0
Какая версия ffmpeg? В некоторых старых версиях есть ошибка с самым коротким Gyan 5 лет назад 0
ffmpeg версия n3.0.1 p.jadhav 5 лет назад 0
Нужна 3.4 или новее. Gyan 5 лет назад 0
В настоящее время невозможно обновить версию ffmpeg, потому что мой дырочный проект построен на 3.0.1. Пожалуйста, скажите мне, как это возможно с версией ffmpeg 3.0.1. Пожалуйста, помогите мне. p.jadhav 5 лет назад 0
После `-loop 1` добавьте` -t N`, где N = длительность всех 4 добавленных видео. Gyan 5 лет назад 0
это работает .. спасибо большое p.jadhav 5 лет назад 0

Похожие вопросы