bat+ffmpeg命令
有聲視頻+BGM(末尾淡出)
@echo off
set out_av=bp.mp4
::out_av為視頻路徑
::b.wav為
ffmpeg -i %out_av% -vn -acodec pcm_s16le -ar 44100 a.wav -y
::提取原視頻聲音
ffmpeg -i %out_av% -an -vcodec copy output_video.mp4 -y
::生成靜音視頻
ffmpeg -i a.wav -i b.wav -filter_complex "[0:a]adelay=0|0,volume=3[a];[1:a]adelay=$(ffprobe -i a.wav -show_entries format=duration -v quiet -of csv="p=0")|$(ffprobe -i b.wav -show_entries format=duration -v quiet -of csv="p=0")[b];[a][b]amix=inputs=2[aout]" -map "[aout]" -acodec pcm_s16le -ar 44100 -ac 2 output.wav -y
::背景音樂和視頻聲音合并,volume=3設(shè)置原聲音量比例為3:1
setlocal
for /f "delims=" %%a in ('ffmpeg -i bp.mp4 2^>^&1 ^| findstr "Duration"') do (set "duration=%%a")
echo %duration%
::獲取原視頻聲音時長或視頻時長00:00:00.00
set time=%duration:~12,11%
set /a mn=%time:~3,2%
set /a ms=%time:~6,2%
set /a d=%mn%*60+%ms%-2
set in=output_video.mp4
set out=endout1.mp4
ffmpeg -i output.wav -ss 00:00:00 -t %time% -c copy c.wav -y
ffmpeg -i c.wav -filter_complex afade=t=out:st=%d%:d=2 end.wav -y
ffmpeg -i %in% -i end.wav -c:v copy -c:a aac -strict experimental %out% -y
del c.wav
del a.wav
del end.wav
del output.wav
del output_video.mp4
echo d%duration%f%format%,%time%,%d%
pause
無聲視頻+bgm(末尾淡出)
@echo off
set mv=b.mp4
set bgm=bgm.wav
::out_av為視頻路徑
::bgm為背景音樂
for /f "delims=" %%a in ('ffmpeg -i %mv% 2^>^&1 ^| findstr "Duration"') do (set "duration=%%a")
echo %duration%
::獲取原視頻聲音時長或視頻時長00:00:00.00
set time=%duration:~12,11%
set /a mn=%time:~3,2%
set /a ms=%time:~6,2%
set /a d=%mn%*60+%ms%-2
set out=endout1.mp4
ffmpeg -i %bgm% -ss 00:00:00 -t %time% -c copy c.wav -y
ffmpeg -i c.wav -filter_complex afade=t=out:st=%d%:d=2 end.wav -y
ffmpeg -i %mv% -i end.wav -c:v copy -c:a aac -strict experimental %out% -y
del c.wav
del end.wav
echo %duration%,%time%,%d%
pause
for 循環(huán)語法
@echo off
set "dirPath=D:\PYcharm\ANIMS\myself_anim\movie\end\use\123"? ?::文件夾路徑
for /r "%dirPath%" %%i in (*.mp4) do (
? echo %%i
)
pause