假设我们有一个视频文件video.mp4
和一个音频文件audio.mp3
,我们想要将它们合并成一个同步的视频文件。
首先,我们可以使用ffprobe
命令获取视频文件的帧率(fps)和音频文件的采样率(sample rate):
shell ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of default=noprint_wrappers=1:nokey=1 video.mp4
输出:
25/1
这表示视频文件的帧率为25。现在让我们检查音频文件的采样率:
shell ffprobe -v error -show_entries format=sample_rate -of default=noprint_wrappers=1:nokey=1 audio.mp3
输出:
44100
这表示音频文件的采样率为44100。
接下来,我们可以使用以下命令将两个文件合并:
shell ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
该命令中的-c:v copy
选项表示复制视频流,并且不对视频进行重新编码。-c:a aac
选项表示使用AAC编码音频流。-strict experimental
选项是必需的,否则会出现“aac编码器不支