Skrypt PowerShell ffmpeg

Będąc dobrym administratorem systemów Windows, którym jestem, w końcu przechodzę do nauki PowerShell. Mając to na uwadze, nie mam pojęcia, co robię (niespodzianka, niespodzianka).

Pomyślałem, że dobrze będzie mi się bawić z PowerShell w domu, z dala od środowiska produkcyjnego. Niedawno zacząłem używać FFMPEG do konwertowania wszystkich moich plików .mkv na .mp4, dzięki czemu mogłem mieć lepszą obsługę odtwarzania na PlayStation 3 za pośrednictwem Plexa i uważałem, że będzie to dobre doświadczenie edukacyjne.

Polecenie, które uruchomiłem, wygląda następująco:

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

Chcę mieć skrypt PowerShell, który uruchomi się raz, skanuje folder i wszystkie podfoldery plików .mkv (Get-ChildItem ". *. Mkv"), przekoduje je do .mp4 za pomocą powyższego polecenia i umieści je w tej samej lokalizacji co .mkv z tym samym schematem nazewnictwa.

Przykład uruchomienia skryptu za pomocą D: Filmy jako katalog docelowy:

D: video home_dvr filmy video1.mkv -> D: video home_dvr video1.mp4 D: wideo home_dvr v video2.mkv -> D: wideo home_dvr v wideo 2 .mp4

Jak łatwo się domyślić, nie potrafię tego zrozumieć na całe życie. Oto ostatnia próba przed poddaniem się.

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

Każda pomoc byłaby mile widziana!

questionAnswers(2)

yourAnswerToTheQuestion