FFmpeg 输出视频文件比未压缩的输入音频文件小得多,使用选项保留原始音频质量

FFmpeg output video file much smaller than uncompressed input audio file, using option to preserve original audio quality

我尝试通过 2 个步骤从多个图像文件和一个音频文件创建视频幻灯片:

  1. 从一系列图像文件创建一个临时视频文件
  2. 在临时视频文件中添加一个音频文件,延迟 5 秒

音频文件为未压缩的立体声wav文件,编码采样率为44100Hz,位深为32位,大小为40.1MB。为了保持输入音频文件的无损质量,我根据 Slideshow Wiki 使用选项 -c:a aac -b:a 192k。然而,最终输出的视频文件只有 4.49 MB。

输出视频文件如何在比输入音频文件小 10 倍左右的情况下仍然保持原始无损质量?

我的代码:

ffmpeg -f concat -i slide-sequence.txt -c:v libx264 -r 30 -filter_complex format=yuv420p temp.mp4
ffmpeg -i temp.mp4 -i audio.wav -af "adelay=5000|5000" -c:v copy -c:a aac -b:a 192k out.mp4

How can the output video file be about 10 times smaller than the input audio file and still preserve the original lossless quality?

没有。 AAC 是一种有损格式。它使用编码方法使它听起来很好,虽然它有损。

有既压缩又无损的格式,例如 FLAC。 YouTube 支持此功能,因此请使用:

ffmpeg -i temp.mp4 -i audio.wav -af "adelay=5000|5000" -c:v copy -c:a flac out.mkv

请注意输出容器格式从 MP4 更改为 Matroska (.mkv)。 YouTube 支持 Matroska。