Эффект «картинка в картинке», реализованный в этом блоге:
Выполните следующую команду, чтобы добиться базового эффекта «картинка в картинке»;
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10[out]" output.mp4
Выполните следующую команду, чтобы добиться эффекта выделения «картинка в картинке»;
ffmpeg -i input.mp4 -vf "movie=input2.mp4,scale=200x200[vedio_inner];[in][vedio_inner]overlay=x=mod(50*t\,main_w):y=abs(sin(t))*main_h*0.7[out]" output.mp4
Фильтр наложения может объединять несколько видеопотоков/устройств/видеофайлов в один видеоинтерфейс.
overlay=x=position_x:y=position_y[:options]
Анализ параметров x и y в приведенном выше наложенном фильтре:
x=position_x
параметр , x это имя параметра , position_x фактическое значение параметра ,Этосуществоватьвыходвидеосередина Наложение контента горизонтальное положение ;y=position_y
параметр , y это имя параметра , position_y фактическое значение параметра ,Этосуществоватьвыходвидеосередина Наложение контента вертикальное положение ;Фильтр наложения также может устанавливать несколько дополнительных параметров, как показано ниже:
В фильтре наложения вы также можете использовать четыре встроенных параметра, представленные в предыдущем фильтре фильма:
Для получения более подробной информации см. 【FFmpeg】Filter фильтр ④ ( Изображение водяного знака - movie фильтр / overlay фильтр | movie введение значения встроенного параметра фильтра | Изображение водяного знака Пример ) -> movie введение значения встроенного параметра фильтра Глава блога , Подробное введение в использование четырех вышеуказанных параметров. ;
В следующей команде , использовал movie фильтр и overlay фильтр , Достигнут эффект «картинка в картинке». ;
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10[out]" output.mp4
movie=input2.mp4[vedio_inner]
часть для установки movie фильтр , Был указан входной видеофайл input2.mp4 , Загрузка видеопотока , И Воля назвал его vedio_inner , Вы можете назвать это как хотите , любая строка Прямо сейчас Может ;[in][vedio_inner]overlay=x=10:y=10[out]
часть используется длянастраивать overlay фильтр , Воля input.mp4 Введите видео имя vedio_inner извидео Наложение , Позиция наложения x=10 и y=10 Положение наложения указывается как (10, 10) координировать ; Выполните приведенную выше команду, результаты выполнения будут следующими:
Сначала выполните приведенную выше команду преобразования, чтобы сгенерировать выходной файл output.mp4, а затем выполните ffplay output.mp4, чтобы воспроизвести выходной файл;
Установите параметр eof_action и установите параметр eof_action=0. Это параметр по умолчанию, и эффект его выполнения такой же, как и в предыдущей главе;
eof_action=1 Варианты: overlay фильтр Параметры , существовать y После установки координат , использовать толстая кишка разделитель Сделайте настройки разделения ;
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10:eof_action=1[out]" output.mp4
После выполнения вышеуказанной команды созданное видео будет иметь более короткую продолжительность внутреннего встроенного видео, чем продолжительность внешнего видео. После завершения воспроизведения внутреннего видео внешнее видео также остановится (звук не остановится).
Установка параметра shortest=1 имеет тот же эффект, что и установка параметра eof_action=1;
осуществлять
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10:shortest=1[out]" output.mp4
команда, эффект «картинка в картинке» достигается следующим образом: после завершения воспроизведения небольшого видео в верхнем левом углу воспроизведение всего видео прекращается;
осуществлять
ffmpeg -i input.mp4 -vf "movie=input2.mp4,scale=200x200[vedio_inner];[in][vedio_inner]overlay=x=10:y=10[out]" output.mp4
Заказ , существовать movie фильтрсередина , набор scale=200x200 параметр , Этот параметр контролируется input2.mp4 Экран потокового видео установлен на 200x200 Пиксель ,
осуществлятьэффектфруктынравиться Вниз : Размер картинки в картинке установлен на 200x200 Пиксельразмер ;
осуществлять
ffmpeg -i input.mp4 -vf "movie=input2.mp4,scale=200x200[vedio_inner];[in][vedio_inner]overlay=x=mod(50*t\,main_w):y=abs(sin(t))*main_h*0.7[out]" output.mp4
Заказ , настраивать x и y характеристики ,Чтосерединаиспользовалвыражение, Динамическое изменение в зависимости от времени Куда вставить видео ;
Воля x Стоимость настройки mod(50*t\,main_w) То, что достигается,в секунду двигаться вправо 50 Пиксельизосуществлятьэффектфрукты ;
настраивать y Значение abs(sin(t))*main_h\*0.7 , Этосуществовать y Направление движется как синусоидальная функция. ;
ссылка 【FFmpeg】Filter фильтр ④ ( Изображение водяного знака - movie фильтр / overlay фильтр | movie введение значения встроенного параметра фильтра | Изображение водяного знака Пример ) 3、добавить в Изображение водяного знака - Область водяного знака продолжает двигаться Глава блогаиз FFmpeg Разбор выражений ;
осуществлятьэффектфруктынравиться Вниз : Встроенное видео «картинка в картинке» имеет эффект выделения. ;