当前位置:首页 > 开发 > FFmpeg > 正文内容

使用FFmpeg混流MP4和MP3

FFmpeg2个月前 (03-06)


1. 裁剪为最短时长

ffmpeg -i input_video.mp4 -i input_audio.mp3 -c:v copy -c:a aac -shortest output.mp4
  • 作用: 以音频和视频中较短的一方为输出时长

  • 适用场景: 快速截断多余内容

2. 强制指定输出时长

# 获取视频时长(示例)
video_duration=$(ffprobe -i input_video.mp4 -show_entries format=duration -v quiet | grep "duration" | cut -d "=" -f 2)

# 裁剪音频并混流
ffmpeg -i input_audio.mp3 -t $video_duration audio_cut.mp3
ffmpeg -i input_video.mp4 -i audio_cut.mp3 -c:v copy -c:a aac output.mp4
提示:可用 ffprobe 精确获取时长

3. 时间戳对齐

ffmpeg -i input_video.mp4 -itsoffset 2 -i input_audio.mp3 -c:v copy -c:a aac -async 1 output.mp4
  • -itsoffset 2: 延迟音频2秒

  • -async 1: 自动修正时间戳

4. 动态拉伸音频

# 计算拉伸比例(视频60秒/音频50秒)
speed=$(echo "60/50" | bc -l)
ffmpeg -i input_audio.mp3 -filter:a "atempo=$speed" audio_stretched.mp3
注意:拉伸会改变音调,建议测试后再混流

5. 静音填充或循环音频

# 生成静音填充音频
ffmpeg -f lavfi -i anullsrc=r=44100:cl=stereo -t 60 silence.mp3

# 合并原始音频与静音
ffmpeg -i "concat:input_audio.mp3|silence.mp3" -c copy audio_padded.mp3
    

转载请注明出处。

本文链接:http://pythonopen.com/?id=7865

相关文章

FFmpeg [mp4 @ 0000013d42a009c0]

[mp4 @ 0000013d42a009c0] Could ...

FFmpeg 分割视频时抛弃音频

FFmpeg分割视频时抛弃音频的方法一、通过流选择参数精准保留视频ffmpeg -i&nb...

FFmpeg 合并视频时抛弃音频

在使用FFmpeg合并视频并抛弃音频时,可根据输入文件的编码一致性选择以下两种方法:方法1:conc...

FFmpeg 图片合成视频,并添加音频

使用FFmpeg将图片合成视频并添加音频你可以使用以下 ffmpeg 命令行将图片序列合成视频并添加...

FFmpeg 图片合成视频

FFmpeg图片合成视频命令(15fps)ffmpeg -framerate 1...