Присоединяйся ко многим кадрам с некоторыми аудио файлами - PullRequest
1 голос
/ 30 октября 2019

Что я пытаюсь сделать

У меня есть 3697 кадров (frames / [0-3696] .png) и 5 ​​аудиофайлов, которые имеют ту же длину, что и итоговое видео (аудио / [0-4] .mp3). Я пытаюсь воспроизвести кадры со скоростью 15 кадров в секунду, при этом аудиофайлы воспроизводятся последовательно и помещаются в out.mp4Как мне этого добиться?

Дерево файлов

frames
|-0.png
|-1.png
|...
|-3695.png
\-3696.png
audio
|-0.mp3
|-1.mp3
|-2.mp3
|-3.mp3
\-4.mp3

Что я пробовал

ffmpeg -i frames/%d.png -i audio/%d.mp3 -vf fps=15 out.mp4

Что я ожидаю

Я ожидаю. mp4, чтобы содержать все кадры, с 5 mp3 файлами, играющими в последовательности

Что на самом деле происходит

$ ffmpeg -i frames/%d.png -i audio/%d.mp3 -vf fps=15 out.mp4
ffmpeg version n4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.1.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, image2, from 'frames/%d.png':
  Duration: 00:02:27.88, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 1920x1080, 25 fps, 25 tbr, 25 tbn, 25 tbc
audio/%d.mp3: No such file or directory

1 Ответ

0 голосов
/ 30 октября 2019

Установите частоту кадров в качестве параметра ввода для демультиплексора изображений и объедините аудиофайлы с помощью фильтра concat . Фильтр формата добавлен для вывода широко совместимого формата пикселей для вывода MP4.

ffmpeg -framerate 15 -i frames/%d.png -i audio/0.mp3 -i audio/1.mp3 -i audio/2.mp3 -i audio/3.mp3 -i audio/4.mp3 -filter_complex "[0]format=yuv420p[v];[1][2][3][4][5]concat=n=5:v=0:a=1[a]" -map "[v]" -map "[a]" -shortest output.mp4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...