无人小站

FFmpeg 调用脚本

JP-Liu 格式转换FFmpeg

FFmpeg 调用脚本

FFmpeg 是一个通用的视频音频转换工具,自由度比较高,因为之前处理视频的时候使用的是格式工厂(其实安装格式工厂之后在安装的文件夹中也有 FFmpeg),但是格式工厂转换出来的文件画质变化较大,后来改用 FFmpeg 感觉不错,于是写了个脚本来调用。

:: FFmpeg转换脚本
@echo off

:: 音频参数 {{{1
set aformat=mp3
set acodec=mp3
set ar=44100
set ab=128K
set ac=2
set vol=

set AO=-c:a %acodec% -ar %ar% -ac %ac% -ab %ab% -y
set AOM=-vn -f %aformat% -ss 00:00:10 -t 00:00:50 -vol %vol% -strict -2
set AOM=-vn

:: 视频参数 {{{1
set vformat=mp4
set vcodec=h264
set crf=24
set resize=
set aspect=
set bv=

set VO=-c:v %vcodec% -c:a aac -strict -2 -ar %ar% -ac %ac% -ab %ab% -f %vformat% -crf %crf% -y
set VOM=-threads 0 -ss 00:00:10 -t 00:00:5 -s %resize% -aspect %aspect% -vol %vol% -b:v %bv% -an
set VOM=-threads 0
set VOHP=-preset veryslow -refs 4 -bf 3 -g 360 -keyint_min 1 -sc_threshold 60 -deblock 1:1 -qcomp 0.5 -psy-rd 0.3:0 -aq-mode 2 -aq-strength 0.8 -me_method umh -me_range 24 -subq 10 -flags loop

:: GIF参数 {{{1
set videofir=fps=5,scale=iw*2/3:ih*2/3:flags=lanczos,palettegen
set videogif=fps=5,scale=iw*2/3:ih*2/3:flags=lanczos[x];[x][1:v]paletteuse

:: 路径设置 {{{1
set ffmpeg=d:\1-Program\0-CommandLineTools\ImageMagick\ffmpeg.exe
set input=d:\3-FastStone\InPut
set output=d:\3-FastStone\OutPut
set outputpath=%output%\
md %outputpath%

:: 显示选项 {{{1
:Menu
echo 1.音频 - 转换
echo 2.视频 - 转换
echo 3.视频 - 转换 HP
echo 4.视频 - 复制 源
echo 5.视频 - GIF
echo.&echo.
set /p choose=输入数字回车:
if "%choose%"=="1" set AU=%AO% %AOM%&Goto Audio
if "%choose%"=="2" set VU=%VO% %VOM%&Goto Video
if "%choose%"=="3" set VU=%VO% %VOM% %VOHP%&Goto Video
if "%choose%"=="4" set VU=-c:v copy -c:a copy&Goto Video
if "%choose%"=="5" Goto VideoGIF

:: 具体命令 {{{1
:Audio
for /r %input% %%a in (*.*) do (%ffmpeg% -i "%%a" %AU% "%outputpath%%%~na%ab%.%aformat%")
pause
Exit

:Video
for /r %input% %%a in (*.*) do (%ffmpeg% -i "%%a" %VU% "%outputpath%%%~na.%vformat%")
pause
Exit

:VideoGIF
for /r %input% %%a in (*.*) do (
    %ffmpeg% -y -i "%%a" -vf %videofir% %temp%palette.png
    %ffmpeg% -y -i "%%a" -i %temp%palette.png -filter_complex "%videogif%" "%outputpath%%%~na.gif")
pause
Exit
JP-Liu
懒人一个