Скрипт Bash to Bash

Могу ли я получить некоторую помощь в преобразовании этого пакетного сценария в сценарий оболочки? Я не знаю, как заставить работать вторую часть, я бы просто передал первую часть во вторую, а не заключил в скобки? (и изменение материала %% 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;
0
задан 5 July 2020 в 10:00

1 ответ

Не уверен, какова цель сценария, но это решение должно работать:

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 .
3
ответ дан 30 July 2020 в 22:13

Другие вопросы по тегам:

Похожие вопросы: