powershell:incrustar_cover_mp3
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| powershell:incrustar_cover_mp3 [2026/09/22 13:48] – removed - external edit (Unknown date) 127.0.0.1 | powershell:incrustar_cover_mp3 [2026/09/22 13:49] (current) – adm.wiki | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{powerhell: | ||
| + | <code powershell> | ||
| + | |||
| + | # ========================================== | ||
| + | # CONFIGURACIÓN | ||
| + | # ========================================== | ||
| + | |||
| + | $csv = " | ||
| + | |||
| + | $inputFolder | ||
| + | $outputFolder = " | ||
| + | |||
| + | |||
| + | # ========================================== | ||
| + | # CREAR CARPETA DE SALIDA | ||
| + | # ========================================== | ||
| + | |||
| + | if (!(Test-Path $outputFolder)) { | ||
| + | New-Item -ItemType Directory -Path $outputFolder | Out-Null | ||
| + | } | ||
| + | |||
| + | |||
| + | # ========================================== | ||
| + | # LEER CSV | ||
| + | # ========================================== | ||
| + | |||
| + | $lista = Import-Csv $csv | ||
| + | |||
| + | |||
| + | # ========================================== | ||
| + | # PROCESAR CADA FILA | ||
| + | # ========================================== | ||
| + | |||
| + | foreach ($item in $lista) { | ||
| + | |||
| + | $mp3 = Join-Path $inputFolder $item.mp3 | ||
| + | $jpg = Join-Path $inputFolder $item.cover | ||
| + | |||
| + | $output = Join-Path $outputFolder $item.mp3 | ||
| + | |||
| + | |||
| + | Write-Host "" | ||
| + | Write-Host " | ||
| + | Write-Host " | ||
| + | Write-Host "COVER : $($item.cover)" | ||
| + | Write-Host " | ||
| + | |||
| + | |||
| + | # Comprobar MP3 | ||
| + | if (!(Test-Path $mp3)) { | ||
| + | Write-Warning "NO EXISTE MP3: $mp3" | ||
| + | continue | ||
| + | } | ||
| + | |||
| + | |||
| + | # Comprobar JPG | ||
| + | if (!(Test-Path $jpg)) { | ||
| + | Write-Warning "NO EXISTE COVER: $jpg" | ||
| + | continue | ||
| + | } | ||
| + | |||
| + | |||
| + | # ========================================== | ||
| + | # FFmpeg | ||
| + | # ========================================== | ||
| + | |||
| + | ffmpeg -y ` | ||
| + | -i $mp3 ` | ||
| + | -i $jpg ` | ||
| + | -map 0:a ` | ||
| + | -map 1:v ` | ||
| + | -map_metadata 0 ` | ||
| + | -c:a copy ` | ||
| + | -c:v mjpeg ` | ||
| + | -disposition: | ||
| + | -metadata: | ||
| + | -metadata: | ||
| + | $output | ||
| + | |||
| + | |||
| + | # ========================================== | ||
| + | # RESULTADO | ||
| + | # ========================================== | ||
| + | |||
| + | if ($LASTEXITCODE -eq 0) { | ||
| + | Write-Host "OK: $output" | ||
| + | } | ||
| + | else { | ||
| + | Write-Warning " | ||
| + | } | ||
| + | } | ||
| + | ``` | ||
| + | </ | ||
| + | |||
| + | {{powerhell: | ||
