Audio 如何使用ffmpeg从音频文件创建视频

Audio 如何使用ffmpeg从音频文件创建视频,audio,video,ffmpeg,imagemagick,google-photos,Audio,Video,Ffmpeg,Imagemagick,Google Photos,我有大约8000个音频文件(总共约6 GB),大部分是m4a或mp3格式。有没有一种方法可以将这些音频文件转换为文件名在视频中显示为静态海报图像的视频。 我能够在ffmpeg中找到可能有用的内容。但我不知道如何在一个命令中写出它,所以我只需传入音频文件的名称(mp3/m4a),作为输出,我得到一个包含音频文件名称的视频作为显示器(,分辨率为256×144像素) 到目前为止,我已经能够通过使用ImageMagick将命令转换为首先创建静态图像,然后使用ffmpeg进行组合来完成这一切 因为,有很多

我有大约8000个音频文件(总共约6 GB),大部分是
m4a
mp3
格式。有没有一种方法可以将这些音频文件转换为文件名在视频中显示为静态海报图像的视频。 我能够在ffmpeg中找到可能有用的内容。但我不知道如何在一个命令中写出它,所以我只需传入音频文件的名称(
mp3
/
m4a
),作为输出,我得到一个包含音频文件名称的视频作为显示器(
,分辨率为256×144像素

到目前为止,我已经能够通过使用
ImageMagick
将命令转换为首先创建静态图像,然后使用
ffmpeg
进行组合来完成这一切

因为,有很多文件我希望使用ffmpeg/python/javascript以编程方式完成这项工作。
我想这样做是为了在谷歌照片中存档我的录音。Google photos接受无限制的高质量视频存储。

只需尝试执行以下代码:

ffmpeg -i 1.mp3 -i cover.jpg -f mp4 out.mp4

您可以通过使用ImageMagick创建标签图像,并在读取音频文件以组装输出之前将其管道化到ffmpeg中来获得该结果。我用Windows语法编写了一个命令

set FNAME="My Audio.mp3"

convert -pointsize 24 label:%FNAME% -gravity center -extent 720x480 png:- ^
   | ffmpeg -y -f image2pipe -i - -i %FNAME% ^
      -filter_complex "loop=-1:1:0" -shortest out_%FNAME%.mp4
要将其转换为*nix语法,应该非常简单,只需将连续的行插入符号“^”更改为反斜杠“\”,并更改其设置和读取变量的方式

该命令首先用音频文件的名称设置一个变量。然后运行ImageMagick“convert”命令创建一个标签,该文件名位于720x480画布的中心。输出强制为PNG格式,并通过管道传输到ffmpeg作为视频输入

读入音频文件后,ffmpeg使用“filter_complex”将视频图像作为无限循环运行,并使用“-shortest”将其限制为音频的长度

结果是一个MP4视频,输入为音频,文件名为黑色,背景为白色,以视频帧为中心。使用其他ImageMagick和/或ffmpeg选项以满足您自己的需要

要在满是图像的目录中运行该命令,请将该命令放入“for”循环中,以便它运行所有图像,并将变量更改为目录中的下一个文件名


如果您使用的是ImageMagick v7,请使用“magick”而不是“convert”。

我想以编程方式创建cover.jpg,cover.jpg应该具有音频文件名(1.mp3),以防出现上述情况。这很好,但我有大量文件,ImageMagick创建文件的速度非常慢。FFmpeg似乎工作得更快。不管怎样,这两项工作都可以只用ffmpeg来完成吗?请参阅字幕过滤器示例中的音频复制链接。