[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理ffmpeg根据wav时长,把mp3覆盖到wav,求指教

求大佬指教:
文件夹下有一个wav和一个mp3,需要获取wav的时长,然后将mp3覆盖上(mp3时长比wav时长长),

目的形成混响效果。

提前表示感谢!

回复 1# 877


获取input.wav时长.bat
  1. @echo off
  2. REM 1、下载并安装 FFmpeg 这个命令行工具
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  5. set "path=C:\Program Files\ffmpeg\ffmpeg-n6.0-latest-win64-gpl-6.0\bin\;%path%"
  6. for /f "tokens=2 delims=, " %%a in ('ffmpeg.exe -i "input.wav" 2^>^&1 ^| find "Duration:"') do (
  7.     set "str=%%a"
  8. )
  9. echo,%str%
  10. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# 877


混响input.wav和input.mp3自动剪裁不需要计算时长.bat
  1. @echo off
  2. REM 1、下载并安装 FFmpeg 这个命令行工具
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  5. set "path=C:\Program Files\ffmpeg\ffmpeg-n6.0-latest-win64-gpl-6.0\bin\;%path%"
  6. ffmpeg.exe -i "input.wav" -i "input.mp3" -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" "output.mp3"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    感谢站长大大,只是每次都要手动修改文件名, input.wav input.mp3 和最后生成的 output.mp3,能否修改成*.wav和*.mp3这种呢?最后生成的用*_ok.wav命名

TOP

回复 4# 877


混响一个wav和一个mp3生成mp3自动获取文件名-方法1.bat
  1. @echo off
  2. REM 1、下载并安装 FFmpeg 这个命令行工具
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  5. set "path=C:\Program Files\ffmpeg\ffmpeg-n6.0-latest-win64-gpl-6.0\bin\;%path%"
  6. cd /d "%~dp0"
  7. for %%i in (*.wav) do (
  8.     set "InputWav=%%i"
  9. )
  10. for %%i in (*.mp3) do (
  11.     set "InputMp3=%%i"
  12.     set "Output=%%~ni_ok%%~xi"
  13. )
  14. ffmpeg.exe -i "%InputWav%" -i "%InputMp3%" -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" "%Output%"
复制代码
混响一个wav和一个mp3生成mp3自动获取文件名-方法2.bat
  1. @echo off
  2. REM 1、下载并安装 FFmpeg 这个命令行工具
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  5. set "path=C:\Program Files\ffmpeg\ffmpeg-n6.0-latest-win64-gpl-6.0\bin\;%path%"
  6. cd /d "%~dp0"
  7. for %%i in (*.wav) do (
  8.     set "InputWav=%%i"
  9. )
  10. for %%i in (*.mp3) do (
  11.     set "InputMp3=%%i"
  12.     set "Output=%%~ni_ok%%~xi"
  13. )
  14. ffmpeg.exe -i "%InputWav%" -i "%InputMp3%" -filter_complex "[0:0]volume=0.8[a];[1:0]volume=1.2[b];[a][b]amix=inputs=2:duration=shortest" -c:a libmp3lame "%Output%"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher


   大佬真厉害,只是生成的是以mp3命名的,不是.wav命名的,大佬能给修改成.wav命名的吗?

TOP

回复 5# Batcher


    大佬,还有一个问题向您指教,能否根据.wav的时长把mp4视频变速呢?

例如.wav是2分钟,mp4高于2分钟,能否实现根据.wav的时长,把.mp4文件变速成和.wav一样呢?

TOP

回复 6# 877


混响一个wav和一个mp3生成wav自动获取文件名.bat
  1. @echo off
  2. REM 1、下载并安装 FFmpeg 这个命令行工具
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  5. set "path=C:\Program Files\ffmpeg\ffmpeg-n6.0-latest-win64-gpl-6.0\bin\;%path%"
  6. cd /d "%~dp0"
  7. for %%i in (*.wav) do (
  8.     set "InputWav=%%i"
  9.     set "Output=%%~ni_ok%%~xi"
  10. )
  11. for %%i in (*.mp3) do (
  12.     set "InputMp3=%%i"
  13. )
  14. ffmpeg.exe -i "%InputWav%" -i "%InputMp3%" -filter_complex "[0:0]volume=0.8[a];[1:0]volume=1.2[b];[a][b]amix=inputs=2:duration=shortest" -c:a pcm_s16le "%Output%"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher


    谢谢老大,还按照这个原理,用wav的时长来把mp4变速可以实现吗?

TOP

回复 8# Batcher


    老大,在生成新的文件后,如何删除之前的.wav和mp3呢?结尾应该怎样写呢?求指教!

TOP

回复 10# 877


混响一个wav和一个mp3生成wav_自动获取文件名_清理文件.bat
  1. @echo off
  2. REM 1、下载并安装 FFmpeg 这个命令行工具
  3. REM https://github.com/BtbN/FFmpeg-Builds/releases
  4. REM 2、根据自己电脑实际安装路径设置以下临时环境变量
  5. set "path=C:\Program Files\ffmpeg\ffmpeg-n6.0-latest-win64-gpl-6.0\bin\;%path%"
  6. cd /d "%~dp0"
  7. for %%i in (*.wav) do (
  8.     set "InputWav=%%i"
  9.     set "Output=%%~ni_ok%%~xi"
  10. )
  11. for %%i in (*.mp3) do (
  12.     set "InputMp3=%%i"
  13. )
  14. ffmpeg.exe -i "%InputWav%" -i "%InputMp3%" -filter_complex "[0:0]volume=0.8[a];[1:0]volume=1.2[b];[a][b]amix=inputs=2:duration=shortest" -c:a pcm_s16le "%Output%"
  15. del /f /q "%InputWav%" "%InputMp3%"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表