Windows CMD 批处理脚本 FFmpeg
Windows CMD Batch Script FFmpeg
我创建了一个批处理文件 (.bat),它使用 FFmpeg 将各种视频(文件扩展名为 *.mov 或 *.mp4)从输入文件夹转码到输出文件夹(扩展名为 *.mkv)作为批处理(Windows 10 环境)。
输入文件夹中的文件名(无扩展名)应复制到新创建的输出文件名(具有新文件扩展名 *.mkv)。
@echo off
set CMD=ffmpeg -c:v ffv1 -level 3 -g 1 -coder 1 -context 1 -pix_fmt + -slices 24 -slicecrc 1 -report -c:a pcm_s24le
FOR /R input_folder %%G IN (*.mov,*.mp4) DO (
echo %%G
call set outputfile=%%~nG%.mkv
call set inputfile=%%~nG%%~xG
echo %CMD% -y output_folder/%outputfile% -i %inputfile%
)
但是这个脚本没有按预期工作,即没有任何反应。
您是否知道如何解决这个问题?
提前致谢!
这里有一个例子,显示了我从评论中提出的建议,并根据评论中的要求添加了文件删除。 这假设 ffmpeg returns 成功时的错误级别为 0
(如果处理失败,您不想删除它们),并且存在一个名为 output_folder
, 在当前工作目录下.
@Echo Off
SetLocal EnableExtensions
Set "CMD=ffmpeg.exe -c:v ffv1 -level 3 -g 1 -coder 1 -context 1 -pix_fmt +"
Set "CMD=%CMD% -slices 24 -slicecrc 1 -report -c:a pcm_s24le"
For /R "input_folder" %%G In (*.mov *.mp4) Do (
Echo %%G
%CMD% -y "output_folder\%%~nG.mkv" -i "%%G"
If Not ErrorLevel 1 Del /A /F "%%G"
)
我创建了一个批处理文件 (.bat),它使用 FFmpeg 将各种视频(文件扩展名为 *.mov 或 *.mp4)从输入文件夹转码到输出文件夹(扩展名为 *.mkv)作为批处理(Windows 10 环境)。 输入文件夹中的文件名(无扩展名)应复制到新创建的输出文件名(具有新文件扩展名 *.mkv)。
@echo off
set CMD=ffmpeg -c:v ffv1 -level 3 -g 1 -coder 1 -context 1 -pix_fmt + -slices 24 -slicecrc 1 -report -c:a pcm_s24le
FOR /R input_folder %%G IN (*.mov,*.mp4) DO (
echo %%G
call set outputfile=%%~nG%.mkv
call set inputfile=%%~nG%%~xG
echo %CMD% -y output_folder/%outputfile% -i %inputfile%
)
但是这个脚本没有按预期工作,即没有任何反应。 您是否知道如何解决这个问题? 提前致谢!
这里有一个例子,显示了我从评论中提出的建议,并根据评论中的要求添加了文件删除。 这假设 ffmpeg returns 成功时的错误级别为 0
(如果处理失败,您不想删除它们),并且存在一个名为 output_folder
, 在当前工作目录下.
@Echo Off
SetLocal EnableExtensions
Set "CMD=ffmpeg.exe -c:v ffv1 -level 3 -g 1 -coder 1 -context 1 -pix_fmt +"
Set "CMD=%CMD% -slices 24 -slicecrc 1 -report -c:a pcm_s24le"
For /R "input_folder" %%G In (*.mov *.mp4) Do (
Echo %%G
%CMD% -y "output_folder\%%~nG.mkv" -i "%%G"
If Not ErrorLevel 1 Del /A /F "%%G"
)