【FFmpeg】Фильтр ⑤ (Картинка в картинке — фильтр наложения | фильтр наложения дополнительные настройки параметров | встроенные параметры | базовое использование | управление размером «картинка в картинке» и эффектом воспроизведения | эффект выделения)
【FFmpeg】Фильтр ⑤ (Картинка в картинке — фильтр наложения | фильтр наложения дополнительные настройки параметров | встроенные параметры | базовое использование | управление размером «картинка в картинке» и эффектом воспроизведения | эффект выделения)

Эффект «картинка в картинке», реализованный в этом блоге:

Выполните следующую команду, чтобы добиться базового эффекта «картинка в картинке»;

Язык кода:javascript
копировать
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10[out]" output.mp4

Выполните следующую команду, чтобы добиться эффекта выделения «картинка в картинке»;

Язык кода:javascript
копировать
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

1. Картинка в картинке – накладной фильтр


1. Синтаксис наложения фильтра

Фильтр наложения может объединять несколько видеопотоков/устройств/видеофайлов в один видеоинтерфейс.

Язык кода:javascript
копировать
overlay=x=position_x:y=position_y[:options]

Анализ параметров x и y в приведенном выше наложенном фильтре:

  • x=position_x параметр , x это имя параметра , position_x фактическое значение параметра ,Этосуществоватьвыходвидеосередина Наложение контента горизонтальное положение ;
  • y=position_y параметр , y это имя параметра , position_y фактическое значение параметра ,Этосуществоватьвыходвидеосередина Наложение контента вертикальное положение ;
  • выше position_x и position_y параметрценить может быть Пиксельценить , такжеможет быть Процентное значение относительной позиции ;
  • (0, 0) Это верхний левый угол видео , x Значение увеличивается вправо , y значение увеличивается вниз ;

2. Настройки дополнительных параметров фильтра наложения.

Фильтр наложения также может устанавливать несколько дополнительных параметров, как показано ниже:

  • format : настраивать Наложение контентаиз Пиксель Формат , Можетнастраиватьизценитьнравиться : yuv420p / yuv422p / yuv444p / rgb24 / rgba / gray эквивалент ; ( Обычно не использовать )
    • yuv420p : Самый распространенный Пиксель Формат. , Y Указывает яркость Luma , и U и V Указывает цветность Chrominance ;
    • rgb24 : RGB Формат , Каждый Пиксель состоит из 24 Битовое представление : 8 немного красный / 8 немного зеленоватый / 8 немного синий ;
  • eof_action : настраиватьсуществовать Наложение Поведение обработки в конце контента , нравиться : Остановить наложение или циклическое воспроизведение , Можетнастраиватьизценитьнравиться Вниз :
    • repeat : Значение параметра 0 , Когда ввод видео заканчивается , повторить последний кадр , Наложенное изображение Воля сохраняет состояние последнего кадра существования до тех пор, пока не будет обработано все видео. ;
    • endall : Значение параметра 1 , Когда ввод видео заканчивается , конечное наложение , Прямо сейчас : Главное видео КОНЕЦ , Эффект суммирования заканчивается ; Пока один из них не закончит играть , Хватит играть вообще ;
    • pass : Значение параметра 2 , бронировать основной слой ;
  • repeatlast : нравитьсяфруктынастраиватьдля 1,когда Наложение контента После окончания,Воляповторить последний Кадровый контент.
  • enable : контроль Наложение контент показать и скрыть , может быть логическим значением или выражением видеочасов ;
  • shortest : После завершения самой короткой видеоигры , Стоит ли прекращать все , настройки Логическое значение , По умолчанию false ;
    • нравитьсяфруктынастраиватьдля true, Тогда существуют кратчайшие сроки завершения видеоигры , Весь экран остановится ;

3. Наложение встроенных параметров фильтра.

В фильтре наложения вы также можете использовать четыре встроенных параметра, представленные в предыдущем фильтре фильма:

  • main_w : выражать Введите ширину экрана видео ;
  • main_h : выражать Введите высоту экрана видео ;
  • overlay_w : выражать Ширина наложения видео ;
  • overlay_h : выражать Высота наложенного видео ;

Для получения более подробной информации см. 【FFmpeg】Filter фильтр ④ ( Изображение водяного знака - movie фильтр / overlay фильтр | movie введение значения встроенного параметра фильтра | Изображение водяного знака Пример ) -> movie введение значения встроенного параметра фильтра Глава блога , Подробное введение в использование четырех вышеуказанных параметров. ;

2. Анализ примера команды «картинка в картинке»


1. Настройки по умолчанию для команды «картинка в картинке» — базовое использование

В следующей команде , использовал movie фильтр и overlay фильтр , Достигнут эффект «картинка в картинке». ;

Язык кода:javascript
копировать
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) координировать ;
    • [in] параметрвыражать input.mp4 Введите видео ;
    • [vedio_inner] параметр выражать movie фильтр загружен input2.mp4 видеопоток, соответствующий файлу ;
    • [out] параметрвыражать output.mp4 выходной файл ;

Выполните приведенную выше команду, результаты выполнения будут следующими:

Сначала выполните приведенную выше команду преобразования, чтобы сгенерировать выходной файл output.mp4, а затем выполните ffplay output.mp4, чтобы воспроизвести выходной файл;

2. Команда «картинка в картинке» — установите параметр eof_action.

Установите параметр eof_action и установите параметр eof_action=0. Это параметр по умолчанию, и эффект его выполнения такой же, как и в предыдущей главе;

eof_action=1 Варианты: overlay фильтр Параметры , существовать y После установки координат , использовать толстая кишка разделитель Сделайте настройки разделения ;

Язык кода:javascript
копировать
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10:eof_action=1[out]" output.mp4

После выполнения вышеуказанной команды созданное видео будет иметь более короткую продолжительность внутреннего встроенного видео, чем продолжительность внешнего видео. После завершения воспроизведения внутреннего видео внешнее видео также остановится (звук не остановится).

3. Команда «картинка в картинке» — установка кратчайшего параметра.

Установка параметра shortest=1 имеет тот же эффект, что и установка параметра eof_action=1;

осуществлять

Язык кода:javascript
копировать
ffmpeg -i input.mp4 -vf "movie=input2.mp4[vedio_inner];[in][vedio_inner]overlay=x=10:y=10:shortest=1[out]" output.mp4

команда, эффект «картинка в картинке» достигается следующим образом: после завершения воспроизведения небольшого видео в верхнем левом углу воспроизведение всего видео прекращается;

4. Команда «Картинка в картинке» — установите параметр масштаба для управления размером «картинка в картинке».

осуществлять

Язык кода:javascript
копировать
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 Пиксельразмер ;

5. Команда «Картинка в картинке» — установка эффекта выделения.

осуществлять

Язык кода:javascript
копировать
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 Разбор выражений ;

осуществлятьэффектфруктынравиться Вниз : Встроенное видео «картинка в картинке» имеет эффект выделения. ;

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода