这次是增强版:
1.增加手动输入视频码率和自动压缩视频码率功能。
2.增加子文件夹视频处理,输出视频原子文件夹目录不变。
源码如下:
@echo off&setlocal enabledelayedexpansion&title ffmpeg batch
if not exist output (
md output
) else (
del output /s /q /f >nul
rd output /s /q >nul
)
if "%~1"=="" (
set /p a=请拖拽文件夹`到此窗口,按回车键继续:
echo.
color b
echo 请选择码率模式:
title 请选择码率模式: ^| ffmpeg batch
echo 1.自动压缩码率。
echo 2.手动输入码率大小。
set /p b=
for /f "delims=` tokens=2" %%a in ('dir /s /b /ad !a!') do (
md output%%a
)
for /f "delims=`. tokens=2,3" %%a in ('dir /b /s /a-d !a!') do (
if !b! equ 1 (
title 模式:自动压缩缩码率 ^| ffmpeg batch
ffmpeg -y -i !a!%%a.%%b -vf "movie=test.png[wm];[in][wm]overlay=10:10,subtitles=test.srt" output%%a.mp4
) else (
if !b! equ 2 (
set /a c+=1
if !c! equ 1 (
title 模式:手动输入码率值:!d! ^| ffmpeg batch
set /p d=请输入码率值:
ffmpeg -y -i !a!\%%a.%%b -b:v !d! -vf "movie=test.png[wm];[in][wm]overlay=0:0,subtitles=test.srt" output\%%a.mp4
) else (
ffmpeg -y -i !a!\%%a.%%b -b:v !d! -vf "movie=test.png[wm];[in][wm]overlay=0:0,subtitles=test.srt" output\%%a.mp4
)
) else (
color c
echo 输入错误!
ping -n 2 127.1>nul
color 7
)
)
color d
echo %%a.%%b success.
ping /n 2 127.1>nul
color 7
)
)
color a
set /p=All success.
运行过程:
1.选择码率模式:
2.输入码率大小:
3.参数输入完成后,ffmpeg开始批量自动工作:
4.全部处理完成后,所有字体绿色高亮显示,底部回显“All succes.
5.在当前目录“output”中出现已经处理成功后的视频,包括子文件夹以及子文件夹内的视频:
需要主要的事项,否则脚本无法正常运行:
1.子文件夹名称不能包含有字符。
2.主文件夹名称必须为字符。