Не работает bat скрипт через ffmpeg
Хочу сделать универсальный конвертер, вот когда я перетаскиваю файл на батник, и ввожу gif, то оно всё идеально делает, а если любой другой формат то почему-то не работает
1234567891011121314151617181920212223242526272829
@echo off
mode con: cols=50 lines=20
color f0
echo [converter by whatforiam]
echo.
set /p output_format=В какой формат?
if "%output_format%"=="gif" (
set /p fps=Во сколько фпс?
set /p scale=Размер? Одно число, оно будет шириной и длиной
echo 1. Хорошее качество = больше вес
echo 2. Плохое качество с точками = меньший вес
set /p compression_method=
)
if %compression_method%==1 (
set compression=flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse
) else (
set compression=flags=lanczos
)
for %%i in (%*) do (
if "%output_format%"=="gif" (
ffmpeg -i "%%i" -vf "fps=%fps%,scale=%scale%:-1:%compression%" "output_%%~ni.%output_format%"
) else (
ffmpeg -i "%%i" "output_%%~ni.%output_format%"
)
)
По дате
По рейтингу
Скрипт можно упростить. На мой взгляд, слишком сложно написал.
Как буду за компом, предложу решение, если напишешь простым языком, что хочешь получить, и что подразумевает под "другими форматами".
12345678910111213141516171819202122232425262728
@echo off
mode con: cols=50 lines=20
color f0
echo [converter by whatforiam]
echo.
set /p output_format=В какой формат?
if /i "%output_format%"=="gif" (
set /p fps=Во сколько фпс?
set /p scale=Размер? Одно число, оно будет шириной и длиной
echo 1. Хорошее качество = больше вес
echo 2. Плохое качество с точками = меньший вес
set /p compression_method=
)
if /i %compression_method%==1 (
set compression=flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse
) else (
set compression=flags=lanczos
)
for %%i in (%*) do (
if /i "%output_format%"=="gif" (
ffmpeg -i "%%i" -vf "fps=%fps%,scale=%scale%:-1:%compression%" "output_%%~ni.%output_format%"
) else (
ffmpeg -i "%%i" "output_%%~ni.%output_format%"
)
)
Добавили ключевое слово "/i" в условные операторы "if", чтобы обеспечить нечувствительность к регистру при сравнении "%output_format%" с "gif".
Исправили условные операторы для проверки значения "%compression_method%" с помощью "/i" для нечувствительности к регистру.
Лучше идти не на майл ру, а на форумы. Сам помочь не смогу, я знаю только пайтон. Удачи :)