Скрипт PowerShell ffmpeg

Будучи хорошим системным администратором Windows, я наконец-то приступил к изучению PowerShell. Учитывая это, я понятия не имею, что я делаю (сюрприз, сюрприз).

Я подумал, что для меня будет хорошим опытом поиграться с PowerShell дома, вдали от моей производственной среды. Недавно я начал использовать FFMPEG для преобразования всех моих файлов .mkv в .mp4, чтобы иметь лучшую поддержку воспроизведения на PlayStation 3 через Plex, и подумал, что это будет хорошим опытом обучения.

Команда, которую я выполняю, выглядит следующим образом:

ffmpeg -i OldVideoName.mkv -vcodec copy -acodec ac3 OldVideoName.mp4

Я хочу иметь скрипт PowerShell, который будет запускаться один раз, сканировать папку и все подпапки для файлов .mkv (Get-ChildItem ". *. Mkv"), перекодировать их в .mp4 с помощью приведенной выше команды и поместить их в том же месте, что и .mkv с той же схемой именования.

Пример запуска скрипта с D: \ Videos в качестве целевого каталога:

D: \ Videos \ home_dvr \ movies \ video1.mkv -> D: \ Videos \ home_dvr \ video1.mp4 D: \ Videos \ home_dvr \ tv \ video2.mkv -> D: \ Videos \ home_dvr \ tv \ video2 .mp4

Как вы можете догадаться, я не могу понять это для моей жизни. Вот последняя попытка, прежде чем сдаться.

    $oldvid = Get-ChildItem .\*.mkv -Recurse
    $newvid = $oldvid.Name.split(‘.’)[0]; ForEach-Object {
            .\ffmpeg.exe -i $oldvid -y -vcodec copy -acodec ac3 $newvid".mp4”
    }

Любая помощь будет оценена!

Ответы на вопрос(2)

Ваш ответ на вопрос