ffmpeg - 使用 ffmpeg 为视频添加背景音乐
问题描述
我正在尝试使用 ffmpeg 将免费音乐添加到视频中,它工作正常,但我希望如果视频的长度超过音乐文件,那么音乐应该重新开始播放,直到视频结束 -
ffmpeg -i 1.mp4 -i 2.mp3 -map 0:v:0 -map 1:a:0 output.mp4
无论如何要执行此操作吗?
解决方案
您可以使用以下示例:
ffmpeg -i ./INPUUT_VIDEO.mp4 -filter_complex "amovie=./INPUT_MUSIC.M4A:loop=0,asetpts=N/SR/TB[aud];[0:a][aud]amix[a]" -map 0:v -map '[a]' -c:v copy -c:a aac -b:a 256k -shortest ./OUTPUT_VIDEO.mp4
您可以使用-b:a
标志设置/更改音频比特率,有关更多详细信息,请查看此文档。
编辑:
用于替换视频中的新音频(重复直到视频结束):
ffmpeg -i VIDEO.mp4 -stream_loop -1 -i MUSIC.mp3 -c copy -shortest -map 0:v:0 -map 1:a:0 OUTPUT.mp4
替换视频中的新音频(重复视频直到音频结束):
ffmpeg -stream_loop -1 -i VIDEO.mp4 -i MUSIC.mp3 -c copy -shortest -map 0:v:0 -map 1:a:0 OUTPUT.mp4
推荐阅读
- android - Xamarin.Android 中的 DiffUtil
- sql-server - Azure SQL 管理实例 - 还原数据库不同版本
- postgresql - SAS 到 PostgreSQL(PADB) 代码 - 求和字段(如果存在)
- vba - 如何使用 ListBox 根据市场选择编写用户表单
- breeze - 微风查询:网络显示数据已返回,但 javascript 结果包含一个空模型
- javascript - JavaScript express、node 和 CSVtoJSON
- java - 具有特定逻辑且无字符串格式的 Java String 换行
- xamarin.forms - 无法在 IOS 设备上调试应用程序
- r - 根据另一列对列中的值求和
- python - 如何使用另一列列表中的特定元素填充数据框中的空列?