Saturday, February 8, 2020

Powershell: MP4 to MP3, using FFMPEG


Using your favorite website, to download a YouTube vid, as an MP4 video…
Such as:
https://www.youtube.com/watch?v=NTvcNm1ksRg
https://y2mate.com/youtube/NTvcNm1ksRg

Then using ‘FFMPEG’, to grab the audio, from that MP4… As an MP3 audio file.
This script opens a file select dialog, where you can select the MP4 file…
And then proceeds make the MP3, as a new file – In the source folder.
Then opens up the location of the MP3, wit that file selected.

Notice that there is a flag that will allow the selection of multiple files – It is intentionally called, and set to ‘
Multiselect = $false, because otherwise, every MP3 file, is gonna have the same name, with subsequent files showing numeric iterations parenthetically.

Change the ‘
$fileName’ – That MP4 you downloaded has a crappy file name…
Change the path of the ‘
ffmpeg.exe’.

# Could also do this... The file name, via a $fileName = Read-Host
$fileName = "Billy Squier - Everybody Wants You" #just the name - MP3 is added in below

$fileName = $fileName+".mp3"
Add-Type -AssemblyName System.Windows.Forms
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{
    InitialDirectory = "C:\Users\Rich\Downloads"
    Multiselect = $false # Multiple files can be chosen
    Filter = 'Video (*.MP4)|*.mp4' # Specified file types
    Title = "Select file..."
    }
[void]$FileBrowser.ShowDialog()
$file = $FileBrowser.FileName
If($FileBrowser.FileNames -like "*\*") {
$Path_to_File = $FileBrowser.FileName
$Path_to_File
}
else {
    Write-Host "Cancelled by user"
    break
}

$OutputFolder = "C:\Users\Rich\Music\"
$Output = $OutputFolder+$fileName
& "C:\Users\Rich\Extracted Applications\ffmpeg\ffmpegWin64\bin\ffmpeg.exe" -i $Path_to_File $Output
# Open the folder the MP3 was saved to,,,
explorer.exe /select,$Output

No comments:

Post a Comment