Можно ли вертикально повернуть оверлей showwaves (или showfreqs) с помощью ffmpeg? - PullRequest
0 голосов
/ 05 февраля 2019

Я хочу взять оверлей showwaves (или showfreqs) и отцентрировать его по вертикали, используя ffmpeg, например

ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=2:slide=scroll:scale=log:win_func=gauss:overlap=1:s=960x1080,pad=1920:1080[vs]; [0:a]showspectrum=color=fiery:saturation=2:slide=rscroll:scale=log:win_func=gauss:overlap=1:s=960x1080[ss]; [0:a]showwaves=s=1920x540:colors=B80000|950000|690000:mode=p2p,inflate[sw]; [vs][ss]overlay=w[out]; [out][sw]overlay=0:(H-h)/2[out]" -map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv

enter image description here

Как показано выше, вывод showwaves центрируется по горизонтали.Но возможно ли также расположить его вертикально по центру?В частности, используя один аргумент команды -filter_complex?

Я просмотрел руководство по ffmpeg и искал stackoverflow для ответа, но безрезультатно.

1 Ответ

0 голосов
/ 05 февраля 2019

Используйте фильтр транспонирования.

ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=2:slide=scroll:scale=log:win_func=gauss:overlap=1:s=960x1080,pad=1920:1080[vs]; [0:a]showspectrum=color=fiery:saturation=2:slide=rscroll:scale=log:win_func=gauss:overlap=1:s=960x1080[ss]; [0:a]showwaves=s=1080x540:colors=B80000|950000|690000:mode=p2p,inflate,transpose=cclock[sw]; [vs][ss]overlay=w[out]; [out][sw]overlay=(W-w)/2:0[out]" -map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv

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