Правильный синтаксис для комбинации фильтра ffmpeg? - PullRequest
0 голосов
/ 16 мая 2018

Я играю с ffmpeg, чтобы создать красивое видео из mp3 + jpg.

Мне удалось сгенерировать видео, в котором в качестве фона используется jpg, а поверх него добавляется сложный фильтр формы волны (и удаляется черный bg в качестве наложения).

Это работает: ffmpeg -y -i 1.mp3 -loop 1 -i 1.jpg -filter_complex "[0: a] showwaves = s = 1280x720: mode = cline, colorkey = 0x000000: 0.01: 0.1, format = yuva420p [v]; [ 1: v] [v] overlay [outv] "-map" [outv] "-pix_fmt yuv420p -map 0: a -c: v libx264 -c: копия -shortest output.mp4

Я тоже пытался добавить текст в сгенерированное видео. Я пытаюсь отфильтровать текст. Однако я не могу заставить это работать, так что, похоже, я не понимаю синтаксис или как комбинировать фильтры.

Это не работает: ffmpeg -y -i 1.mp3 -loop 1 -i 1.jpg -filter_complex "[0: a] showwaves = s = 1280x720: mode = line, colorkey = 0x000000: 0.01: 0.1, format = yuva420p [v]; [ 1: v] [v] overlay [outv] "-filter_complex" [v] drawtext = text = 'Мой пользовательский текстовый тест': fontcolor=White@0.5: fontsize = 30: font = Arvo: x = (w-text_w) / 5: y = (h-text_h) / 5 [out] "-map" [outv] "-pix_fmt yuv420p -map 0: a -c: v libx264 -c: копия -shortest output.mp4

Очень хотелось бы несколько указателей!

1 Ответ

0 голосов
/ 16 мая 2018

Фильтры, работающие последовательно, должны быть соединены вместе

ffmpeg -y -i 1.mp3 -loop 1 -i 1.jpg \
 -filter_complex "[0:a]showwaves=s=1280x720:mode=line,colorkey=0x000000:0.01:0.1,
                       format=yuva420p[v];
                  [1:v][v]overlay,
                          drawtext=text='My custom text test':fontcolor=White@0.5:
                          fontsize=30:font=Arvo:x=(w-text_w)/5:y=(h-text_h)/5[outv]"
 -map "[outv]" -pix_fmt yuv420p -map 0:a -c:v libx264 -c:a copy -shortest output.mp4

(Вы применили drawtext к выходу showwaves; он может быть непосредственно применен к выходу наложения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...