在短时间内将大量 mp4 视频转换为音频

在短时间内将大量 mp4 视频转换为音频

以前我认为我可以在几秒钟内将 100G 的视频转换为音频,因为我认为 mp4 格式的视频和音频是分开的,将视频转换为音频就像用剪刀轻松地剪切一样。

经过彻底的研究后,我发现我的想法完全是错误的,转换需要的时间远远超过几秒,对于 1 小时的视频来说,最多需要 3 分钟,而我有数千小时的视频需要转换,等待这么长时间真是太可怕了。

您是否了解我的想法,即在几秒钟内将长视频转换为音频,就像从音频中剪切视频一样,这样的事情可能吗?或者有什么类似的东西可以让我短时间内转换这些长视频?

答案1

嗯,这要看情况。MP4 只是一个容器。MP4 容器包含(大多数)多个数据流(音频、视频、字幕等)。所有这些流都有自己的编解码器(h.264、MP3、AAC、OGG 等)。您说的是提取音频流。这应该很快,但您不能更改编解码器,否则您必须使用快速的编解码器,因为重新编码需要大量的处理能力和时间。

您可以使用ffmpegCLI 来修改音频和视频。因此,如果您的输入有 AAC 音频并且您想告诉ffmpeg输出 MP3,那么ffmpeg应该做的是:

  1. 提取 AAC 流
  2. 解码
  3. 编码为 MP3(通常是瓶颈)
  4. 写入输出文件

如果您保留输入格式,则输出为 aac 文件,ffpmeg 可以跳过第 2 点和第 3 点,并且速度会更快。

所以:

  1. 了解您的输入格式(ffmpeg -i file.mp4ffprobe file.mp4mediainfo file.mp4
  2. 保持格式 ( ffmpeg -i the-file.mp4 -vn -c:a copy output.{mp3|aac|ogg|wav})
  3. 如果第 2 点无法实现,请使用原始音频,例如 wav ( ffmpeg -i the-file.mp4 -vn -c:a pcm_u24le output.wav)

相关内容