FFMPEG: Объединить «Создание видео из изображений» + масштаб для x + добавить аудио + наложение логотипа - PullRequest
1 голос
/ 07 января 2020

Я работаю над проектом веб-камеры. Он предназначен для создания замедленных видео заката / заката.

Я использую raspberrypi для их генерации с помощью gphoto2 + DSLR.

В конце дня изображения должны попасть в видео , со звуком и наложением lo go. И это должно быть масштабировано до 1920 пикселей. Я получил хорошее решение, и оно сработало.

  1. Создание видео с интервальной съемкой в ​​масштабе:

    ffmpeg -y -framerate 25 -start_number 0000001 -i /var/www/html/webcam/2020-01-05_bilder/%7d.jpg -vf scale=1920:-1 -pix_fmt yuv420p /var/www/html/webcam/2020-01-05-tag-output-1920.mp4


Взяв вывод (1) и добавив оверлей lo-1034 *, добавьте аудио

ffmpeg -y -i '/var/www/html/webcam/2020-01-05-tag-output-1920.mp4' -i '/var/www/html/webcam-scripts/graphics/logo.png' -i '/var/www/html/webcam-scripts/sounds/chill_time_5.mp3' -shortest -filter_complex '[1][0]scale2ref=h=ow/mdar:w=iw/6[#A logo][liebfrauen]; [#A logo]format=argb,colorchannelmixer=aa=0.95[#B logo transparent]; [liebfrauen][#B logo transparent] overlay=(main_w-w)-(main_w*0.05):(main_h-h)-(main_h*0.01)' -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac -strict -2 '/var/www/html/webcam/2020-01-05-tag-1920.mp4

Я пытался объединить оба действия, но я получаю ошибку:

ffmpeg -y -framerate 25 -start_number 0000001 -i '/var/www/html/webcam/2020-01-05_bilder/%7d.jpg' -vf scale=1920:-1 -pix_fmt yuv420p -i '/var/www/html/webcam-scripts/graphics/logo.png' -i '/var/www/html/webcam-scripts/sounds/chill_time_5.mp3' -shortest -filter_complex '[1][0]scale2ref=h=ow/mdar:w=iw/6[#A logo][liebfrauen]; [#A logo]format=argb,colorchannelmixer=aa=0.95[#B logo transparent]; [liebfrauen][#B logo transparent] overlay=(main_w-w)-(main_w*0.05):(main_h-h)-(main_h*0.01)' -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac -strict -2 '/var/www/html/webcam/2020-01-05-tag-1920.mp4'

Ошибка: Filtergraph 'scale = 720: -1' был указан с помощью параметра -vf / -af / -filter для выходного потока 0: 0, что подается от сложного фильтрографа. -vf / -af / -filter и -filter_complex нельзя использовать вместе для одного и того же потока.

Разве невозможно объединить эти входы и масштабировать их? Или ... Где мое недоразумение?

1 Ответ

0 голосов
/ 07 января 2020

Не смешивайте -vf и -filter_complex. Выполните всю фильтрацию в одном filtergraph .

ffmpeg -y -framerate 25 -i '/var/www/html/webcam/2020-01-05_bilder/%7d.jpg' -i '/var/www/html/webcam-scripts/graphics/logo.png' -i '/var/www/html/webcam-scripts/sounds/chill_time_5.mp3' -filter_complex '[0]scale=1920:-2[v0];[1][v0]scale2ref=h=ow/mdar:w=iw/6[#A logo][liebfrauen]; [#A logo]format=argb,colorchannelmixer=aa=0.95[#B logo transparent]; [liebfrauen][#B logo transparent] overlay=(main_w-w)-(main_w*0.05):(main_h-h)-(main_h*0.01),format=yuv420p' -c:v libx264 -crf 18 -preset slow -c:a aac -shortest '/var/www/html/webcam/2020-01-05-tag-1920.mp4'
  • Нет необходимости в -strict -2. Он ничего не делает для современных ffmpeg.
  • Я заменил -pix_fmt yuv420p на format=yuv420p, поэтому он более организован.
  • -start_number 0000001 не требуется, поскольку 1 является значением по умолчанию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...