« Code:Powershell-script video conversion-010.ps1 » : différence entre les versions

Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
 
Ligne 1 : Ligne 1 :
<source>$CheminSource = "C:\Video\AConvertir\"
<source>
$CheminSource = "C:\Video\AConvertir\"
$CheminDestinationOriginal = "C:\Video\AConvertir\original\"
$CheminDestinationOriginal = "C:\Video\AConvertir\original\"
$CheminDestinationTraite =  "C:\Video\AConvertir\conv\"
$CheminDestinationTraite =  "C:\Video\AConvertir\conv\"
$Suffixe="-q23"
$Suffixe_q23="-q23"
$Suffixe_q23_1280="-q23-1280"


set-location $CheminSource
set-location $CheminSource


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


Clear-Host
Clear-Host
Ligne 28 : Ligne 28 :
$Compteur=1;
$Compteur=1;
foreach ($VideoATraiter in $VideoListeATraiter) {
foreach ($VideoATraiter in $VideoListeATraiter) {
     $VideoTraite = $VideoATraiter.BaseName+$Suffixe+$VideoATraiter.Extension
     $VideoTraite_q23 = $VideoATraiter.BaseName+$Suffixe_q23+$VideoATraiter.Extension
    $VideoTraite_q23_1280 = $VideoATraiter.BaseName+$Suffixe_q23_1280+$VideoATraiter.Extension
     Write-Host $Compteur ".- " $VideoATraiter
     Write-Host $Compteur ".- " $VideoATraiter
      
      
Ligne 34 : Ligne 35 :
         # -c:v libx264 -preset slow -crf 22
         # -c:v libx264 -preset slow -crf 22
     #$ArgumentListe = '-i "{0}" -vf scale=1024:0 "{1}"' -f $VideoATraiter, $VideoTraite;
     #$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_q23 = '-i "{0}" -r 25 -preset medium -map 0:v -c:v libx264 -map 0:a -c:a copy "{1}"' -f $VideoATraiter, $VideoTraite_q23;
    $ArgumentListe_q23_1280 = '-i "{0}" -r 25 -preset medium -map 0:v -c:v libx264 -map 0:a -c:a copy -vf scale=1280:0 "{1}"' -f $VideoATraiter, $VideoTraite_q23_1280;
         # $ArgumentListe = '-i {0} -c:v libx264 -crf 23 -c:a copy {1}' -f $VideoATraiter, $VideoTraite;
         # $ArgumentListe = '-i {0} -c:v libx264 -crf 23 -c:a copy {1}' -f $VideoATraiter, $VideoTraite;
      
      
Ligne 40 : Ligne 42 :
      
      
         # Démarrage du traitement
         # Démarrage du traitement
     Start-Process -FilePath "C:\Video\AConvertir\ffmpeg.exe" -ArgumentList $ArgumentListe -Wait -NoNewWindow;
     Start-Process -FilePath "C:\Video\AConvertir\ffmpeg.exe" -ArgumentList $ArgumentListe_q23 -Wait -NoNewWindow;
    Start-Process -FilePath "C:\Video\AConvertir\ffmpeg.exe" -ArgumentList $ArgumentListe_q23_1280 -Wait -NoNewWindow;


     Move-Item -Path $VideoATraiter -Destination $CheminDestinationOriginal
     Move-Item -Path $VideoATraiter -Destination $CheminDestinationOriginal
     Move-Item -Path $VideoTraite -Destination $CheminDestinationTraite
     Move-Item -Path $VideoTraite_q23 -Destination $CheminDestinationTraite
    Move-Item -Path $VideoTraite_q23_1280 -Destination $CheminDestinationTraite
     Write-Host -ForegroundColor Cyan "  ==> traitement terminé"
     Write-Host -ForegroundColor Cyan "  ==> traitement terminé"
     Write-Host  
     Write-Host  

Dernière version du 10 mars 2022 à 22:09

$CheminSource = "C:\Video\AConvertir\"
$CheminDestinationOriginal = "C:\Video\AConvertir\original\"
$CheminDestinationTraite =   "C:\Video\AConvertir\conv\"
$Suffixe_q23="-q23"
$Suffixe_q23_1280="-q23-1280"

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_q23 = $VideoATraiter.BaseName+$Suffixe_q23+$VideoATraiter.Extension
    $VideoTraite_q23_1280 = $VideoATraiter.BaseName+$Suffixe_q23_1280+$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_q23 = '-i "{0}" -r 25 -preset medium -map 0:v -c:v libx264 -map 0:a -c:a copy "{1}"' -f $VideoATraiter, $VideoTraite_q23;
    $ArgumentListe_q23_1280 = '-i "{0}" -r 25 -preset medium -map 0:v -c:v libx264 -map 0:a -c:a copy -vf scale=1280:0 "{1}"' -f $VideoATraiter, $VideoTraite_q23_1280;
        # $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_q23 -Wait -NoNewWindow;
    Start-Process -FilePath "C:\Video\AConvertir\ffmpeg.exe" -ArgumentList $ArgumentListe_q23_1280 -Wait -NoNewWindow;

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