2025年3月22日 星期六 甲辰(龙)年 月廿一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 其它软件

ffmpeg 批量添加背景音乐的代码 优化后

时间:01-07来源:作者:点击数:18

ffmpeg 批量添加背景音乐的代码 优化后

  • @echo off
  • title 批量混合有声书与背景音乐
  • :: 设置背景音乐文件路径
  • set background_music=bj.mp3
  • :: 遍历 ./book 文件夹中的所有 MP3 文件
  • for %%f in (.\book\*.mp3) do (
  • echo 正在处理 %%f...
  • :: 使用 FFmpeg 混合背景音乐和有声书音频
  • ffmpeg -i "%%f" -i "%background_music%" -filter_complex "[0:a][1:a]amix=inputs=2:duration=first:dropout_transition=3" -b:a 128k "%%~nf_with_background.mp3"
  • echo %%f 已处理完毕,输出为 %%~nf_with_background.mp3
  • )
  • echo 所有文件已处理完毕!
  • pause

这是个bat命令!

  • @echo off
  • title 批量混合有声书与背景音乐
  • set "background_music=背景音乐.mp3"
  • set "output_dir=已合成"
  • if not exist "%output_dir%" mkdir "%output_dir%"
  • for %%f in (.\已加头尾待合成\*.mp3) do (
  • echo 正在处理 %%f...
  • ffmpeg -i "%%f" -i "%background_music%" -filter_complex "[0:a][1:a]amix=inputs=2:duration=first:dropout_transition=3" -b:a 128k "%output_dir%\%%~nf_听书.mp3"
  • if !errorlevel! neq 0 (
  • echo 错误: %%f 处理失败!
  • ) else (
  • echo %%f 已处理完毕,输出为 "%output_dir%\%%~nf_听书.mp3"
  • )
  • )
  • echo 所有文件已处理完毕!
  • pause
  • 更新后的脚本命令!生成的音频会保存到“已合成”文件夹 更方便
  • @echo off
  • setlocal EnableDelayedExpansion
  • set "sample_rate=24000"
  • set "channels=1"
  • set "bitrate=48k"
  • set "silence_dir=静音文件"
  • if not exist "%silence_dir%" mkdir "%silence_dir%"
  • :: 创建静音文件
  • echo 正在创建3秒静音文件...
  • ffmpeg -f lavfi -i "aevalsrc=0:d=3" -ar %sample_rate% -ac %channels% -ab %bitrate% -c:a libmp3lame -y "%silence_dir%\silence_3s.mp3"
  • echo 正在创建5秒静音文件...
  • ffmpeg -f lavfi -i "aevalsrc=0:d=5" -ar %sample_rate% -ac %channels% -ab %bitrate% -c:a libmp3lame -y "%silence_dir%\silence_5s.mp3"
  • if !errorlevel! neq 0 (
  • echo 错误:静音文件创建失败!
  • ) else (
  • echo 静音文件已成功创建在 "%silence_dir%" 目录下。
  • )
  • endlocal
  • pause

这是增加了对有声书mp3添加头尾,前3秒无声和后5秒无声,曲尾建议用格式工厂批量淡出更合适,提升听感!下面是生成无声音频的bat命令!

  • @echo off
  • setlocal EnableDelayedExpansion
  • set "sample_rate=24000"
  • set "channels=1"
  • set "bitrate=48k"
  • set "silence_dir=静音文件"
  • if not exist "%silence_dir%" mkdir "%silence_dir%"
  • :: 创建静音文件
  • echo 正在创建3秒静音文件...
  • ffmpeg -f lavfi -i "aevalsrc=0:d=3" -ar %sample_rate% -ac %channels% -ab %bitrate% -c:a libmp3lame -y "%silence_dir%\silence_3s.mp3"
  • echo 正在创建5秒静音文件...
  • ffmpeg -f lavfi -i "aevalsrc=0:d=5" -ar %sample_rate% -ac %channels% -ab %bitrate% -c:a libmp3lame -y "%silence_dir%\silence_5s.mp3"
  • if !errorlevel! neq 0 (
  • echo 错误:静音文件创建失败!
  • ) else (
  • echo 静音文件已成功创建在 "%silence_dir%" 目录下。
  • )
  • endlocal
  • pause

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:最简单的 NSIS 函数返回值的返回与接收实例 下一篇:很抱歉没有了
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐