FFmpeg - Как добиться наложения кругового видео ..?

436
Gew

Я помогаю моей дочери и ее друзьям с их каналом VLOG на Youtube, и теперь они хотят делать скриншоты и помещать меньшую круглую грань крупным планом (например, в верхнем правом или левом углу), где вы можете видеть, как они разговаривают. о реальных вещах, которые они показывают. Я использовал FFmpeg для более простых вещей почти десять лет, но могу сказать, что это более сложная задача.

Я наткнулся на другую ветку вопросов ( https://stackoverflow.com/questions/42518592/circular-movie-overlay-in-ffmpeg ) благодаря Google, и я думаю, что он пытается сделать более или менее то же самое, кроме него с помощью один и тот же источник для небольшого кругового наложения и «основного» видео, тогда как я хочу использовать отдельные входы; используйте "main.mkv" и "facecloseup.mkv", например, командную строку, если кто-то готов к решению этой сложной задачи! ;)

Для простоты, вероятно, у меня уже есть два источника с оптимизированным разрешением, скажем, 1080p для main.mkv и 240x240 или что-то подобное для facecloseup.mkv, а затем мне просто нужен математический синтаксис, чтобы обрезать центральный круг из facecloseup .mkv и положить в какой-то угол, возьмите верхний левый для простоты.

Ура!

2

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

1
Gyan

использование

ffmpeg -i main.mkv -i facecloseup.mkv -filter_complex "[1]trim=end_frame=1, geq='st(3,pow(X-(W/2),2)+pow(Y-(H/2),2));if(lte(ld(3),pow(min(W/2,H/2),2)),255,0)':128:128, loop=-1:1,setpts=N/FRAME_RATE/TB[mask]; [1][mask]alphamerge[cutout]; [0][cutout]overlay=x=W-w:y=0[v]; [0][1]amix=2[a]" -map "[v]" -map "[a]" out.mp4 

Видео с комментариями используется для создания круговой маски в градациях серого с центром в центре видео. Затем он объединяется в альфа-канал с источником. Это накладывается в верхнем правом углу. Аудио смешаны вместе. Удалите этот последний фильтр, и -map "[a]"если в основном видео нет звука.

Вау, большое спасибо за быстрый ответ! Это было именно то, что я искал. Я, вероятно, никогда бы не понял этого сам, так как мои математические навыки, в большинстве случаев, находятся на базовом арифметическом уровне. Кроме того, я убежден, что этот пост поможет другим; Я искал в Интернете почти два часа, чтобы найти существующие вопросы и ответы, но безрезультатно. Ссылка, которую я разместил, была самой близкой, которую я получил, чтобы найти ответ. О, маленький дополнительный вопрос, скажем, я хотел вместо этого «пузырь» в верхнем левом углу, будет ли это большим достижением? Еще раз большое спасибо! Это мне очень поможет с автоматизацией. Gew 6 лет назад 0
В наложенном фильтре значения для `x` и` y` представляют местоположение левого верхнего угла наложенного видео (вырез) относительно верхнего левого угла основного изображения (основного). Здесь x - это `Ww`, то есть при` полной ширине основного - полной ширине выреза`, который выровняет по правому краю два входа по горизонтали. Измените это на 0 для выравнивания по левому краю. Gyan 6 лет назад 0

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