Code:Powershell-script video conversion-010.ps1

Aller à la navigation Aller à la recherche
$CheminSource = "C:\Video\AConvertir\"
$CheminDestinationOriginal = "C:\Video\AConvertir\original\"
$CheminDestinationTraite =   "C:\Video\AConvertir\conv\"
$Suffixe="-q23"

set-location $CheminSource

$CheminSource = $CheminSource+"\*"

$VideoListeATraiter = Get-Item -Include @("*.mp4", "*.avi", "*.divx", "*.mov", "*.mpg", "*.wmv", "*.mkv") -Path $CheminSource;


Clear-Host
Write-Host 
Write-Host "Liste des vidéos à traiter";

$Compteur=1;
foreach ($VideoATraiter in $VideoListeATraiter) {
    Write-Host $Compteur ".- " $VideoATraiter;
    $Compteur++
    }
Write-Host 
        # Pause
    $null = Read-Host -Prompt 'Appuyer sur une touche pour continuer.';

Write-Host -ForegroundColor Green "Début du traitement"

$Compteur=1;
foreach ($VideoATraiter in $VideoListeATraiter) {
    $VideoTraite = $VideoATraiter.BaseName+$Suffixe+$VideoATraiter.Extension
    Write-Host $Compteur ".- " $VideoATraiter
    
        # Déclaration des arguments pour ffmpeg.exe
        # -c:v libx264 -preset slow -crf 22
    #$ArgumentListe = '-i "{0}" -vf scale=1024:0 "{1}"' -f $VideoATraiter, $VideoTraite;
    $ArgumentListe = '-i "{0}" -preset medium -map 0:v -c:v libx264 -map 0:a -c:a copy -vf scale=1024:0 "{1}"' -f $VideoATraiter, $VideoTraite;
        # $ArgumentListe = '-i {0} -c:v libx264 -crf 23 -c:a copy {1}' -f $VideoATraiter, $VideoTraite;
    
    # Write-Host $ArgumentListe
    
        # Démarrage du traitement
    Start-Process -FilePath "C:\Video\AConvertir\ffmpeg.exe" -ArgumentList $ArgumentListe -Wait -NoNewWindow;

    Move-Item -Path $VideoATraiter -Destination $CheminDestinationOriginal
    Move-Item -Path $VideoTraite -Destination $CheminDestinationTraite
    Write-Host -ForegroundColor Cyan "   ==> traitement terminé"
    Write-Host 
    $Compteur++
    }
Write-Host -ForegroundColor Green "Fin du traitement"