PowerShell-Skript ffmpeg

Als guter Windows-Systemadministrator bin ich nun endlich dabei, PowerShell zu lernen. Nachdem dies gesagt wurde, habe ich keine Ahnung, was ich tue (Überraschung, Überraschung).

Ich dachte, es wäre eine gute Lernerfahrung für mich, mit PowerShell zu Hause zu spielen, weit weg von meiner Produktionsumgebung. Vor kurzem habe ich damit begonnen, FFMPEG zum Konvertieren aller meiner MKV-Dateien in MP4 zu verwenden, damit ich über Plex eine bessere Wiedergabeunterstützung für meine PlayStation 3 erhalten kann, und dachte, dies wäre eine gute Lernerfahrung.

Der Befehl, den ich ausgeführt habe, lautet wie folgt:

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

Ich möchte, dass ein PowerShell-Skript einmal ausgeführt wird, einen Ordner und alle Unterordner nach MKV-Dateien durchsucht (Get-ChildItem ". *. Mkv"), sie mit dem obigen Befehl in MP4 umcodiert und abgelegt werden am selben Ort wie die .mkv mit dem gleichen Namensschema.

Beispiel für das Ausführen des Skripts mit D: \ Videos als Zielverzeichnis:

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

Wie Sie sich denken können, kann ich es für mein Leben nicht herausfinden. Hier ist der letzte Versuch, bevor Sie aufgeben.

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

Jede Hilfe wäre dankbar!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage