ffmpeg:使用 ffmpeg 将图像/音频转换为视频

mel*_*e93 4 audio video ffmpeg

我使用 ffmpeg使用以下命令将一系列图像(img001.pngimg002.png等)转换为视频(output.mp4 ):

ffmpeg -r 1/5 -i img%03d.png  -r 25 -qscale:v 2 -shortest -codec:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)

结果是一个视频显示每个输入图像五 (5) 秒。

  1. 是否可以让 ffmpeg 解析文件中的文件名路径和时间?我尝试了 ffmpeg 官方网站上的幻灯片教程,但输出仅显示视频末尾的最后一张图像。
  2. 是否可以将音频文件与这些设置捆绑在一起?

例如:

file 'image001.png'
file 'sound001.wav'
duration 5
file 'image002.png'
file 'sound002.wav'
duration 2
file 'image003.png'
file 'sound003.wav'
duration 3
Run Code Online (Sandbox Code Playgroud)

Image001显示五 (5) 秒,同时播放sound001等。

Gya*_*yan 6

幻灯片教程中的 concat demuxer 方法就是执行此操作的方法。如前所述,您是否重复了最后一个图像条目一次?

连接分路器文本文件指定串行输入,因此不能用于指定配对或并行输入。但是,您始终可以使用两个文本文件。

图像的文本文件:

file 'image001.png'
duration 5
file 'image002.png'
duration 2
file 'image003.png'
duration 3
file 'image003.png'
Run Code Online (Sandbox Code Playgroud)

声音的文本文件:

file 'sound001.wav'
outpoint 5
file 'sound002.wav'
outpoint 2
file 'sound003.wav'
outpoint 3
Run Code Online (Sandbox Code Playgroud)

(对于视频或音频文件,必须指定入点/出点才能使用文件的修剪部分)

有了这两个文件,

ffmpeg -f concat -i images.txt -f concat -i sounds.txt -r 25 -pix_fmt yuv420p out.mp4
Run Code Online (Sandbox Code Playgroud)