Ffmpeg转码入门

翻出了以前写的合并多个文件到一个mp4文件的脚本,保存为bat和ffmpeg放置到同文件夹,直接拖多个文件到bat上,自动合并并输出到输入文件夹。
距离完美还有距离,原先还有这些设想:
输入音频文件和图片,合成带图的视频;
输入多个音频文件,合成一个音频并生成lrc文件,lrc文件根据合并的时长显示当前的音频文件的名字
输入一个视频文件,提示需要转换格式还是提取音频还是提取视频

    @echo off
 
set program=%~dp0ffmpeg
set outformat=.mp4
set outfile=%~1_all%outformat%

set allparam=concat:
 

:param
set str=%1
if "%str%"=="" (

    goto end
)
set allparam=%allparam%%str%char_spacer

shift /0
goto param




:end
echo end
 
set allparam=%allparam:char_spacer=^|%


if "%allparam%"=="concat:" (
 goto ex
)

rem remove left right blank

rem :intercept_left
rem if "%allparam:~0,1%"==" " set "allparam=%allparam:~1%"&goto intercept_left
 
:intercept_right
if "%allparam:~-1%"==" " set "allparam=%allparam:~0,-1%"&goto intercept_right

if "%allparam:~-1%"=="|" set "allparam=%allparam:~0,-1%"&goto intercept_right

if "%allparam:~-1%"=="concat:"  goto ex


:eof
echo ------------
 %program%  -i "%allparam%"  -c copy  "%outfile%"
pause
exit

:ex
echo input 0 file
pause