问题描述
我尝试通过 2 个步骤从多个图像文件和一个音频文件创建视频幻灯片:
音频文件为未压缩的立体声 wav 文件,编码为 44100 Hz,位深为 32 位,大小为 40.1 MB。为了保持输入音频文件的无损质量,我按照 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
解决方法
如何让输出的视频文件比输入的音频文件小 10 倍左右,还能保持原来的无损质量?
它没有。 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。