Могу ли я получить некоторую помощь в преобразовании этого пакетного сценария в сценарий оболочки? Я не знаю, как заставить работать вторую часть, я бы просто передал первую часть во вторую, а не заключил в скобки? (и изменение материала %% a
):
echo off
for %%a in ("*.aac") do (
ffmpeg -i "%%a" -an -vcodec copy "%%~na.jpg"
"ffmpeg.exe" -loop 1 -i "%%~na.jpg" -i "%%a" -c:v libx264 -preset veryslow -tune stillimage -crf 18 -pix_fmt yuv420p -c:a aac -shortest -b:a 192k -shortest "%%~na.mp4" )
pause;
Не уверен, какова цель сценария, но это решение должно работать:
for file in *.aac; do
ffmpeg -i "$file" -an -vcodec copy "${file%aac}jpg"
ffmpeg -loop 1 -i "${file%aac}jpg" -i "$file" -c:v libx264 -preset veryslow -tune stillimage -crf 18 -pix_fmt yuv420p -c:a aac -shortest -b:a 192k -shortest "${file%aac}mp4"
done
Я заменил:
%% a
на переменная оболочки $ file
; %% ~ na
, которая удаляет расширение файла с помощью $ {file% aac}
; ffmpeg.exe
с помощью команды ffmpeg
.