ffmpeg剪切视频并将音频放在其中

时间:2020-09-16 09:12:28

标签: ffmpeg

我有

  • 持续60秒的视频文件。
  • 持续时间为35s的音频文件

我想将视频从5秒剪切到50秒,并将音频文件放在中间,然后从输出的5秒开始播放。因此,前5秒和后5秒的输出视频是无声的。我也不想重新编码视频,因此编译会很快并且质量会保持不变。

enter image description here

我正在尝试以下命令

ffmpeg -y -i DJI_0325.mp4 -ss 00:00:40.5 -i song.mp3 -c:v copy -c:a copy out.mp4

,但是音频开始在中间播放。 我还尝试了以下方法的不同组合,但没有运气:(

  • -async 1 -map 0:v:0
  • -c:v copy -c:a copy
  • -ss-to的不同集合

1 个答案:

答案 0 :(得分:0)

ffmpeg -y -i DJI_0325.mp4 -stream_loop -1 -shortest -itsoffset 00:00:05 -i song.mp3 -c:v copy -c:a mp3 -af "volume=enable='lte(55,t)':volume=0" out.mp4     

-stream_loop -1启用以下输入的循环。
-shortest选择要循环到最短输入的持续时间的最短输入(否则它将永远循环)。
-itsoffset HH:MM:SS将以下输入向前移动以从HH:MM:SS开始。
-af "volume=enable='lte(55,t)':volume=0"使音频从55秒开始静音。

我找不到设置不适用于输出的输入持续时间的方法,但这会为您提供所需的结果。
我个人建议您在所需的持续时间内创建音频首先,仅使用-itsoffet标志。