Created
          February 7, 2015 13:18 
        
      - 
      
- 
        Save codeimpossible/bdd8871231b989202126 to your computer and use it in GitHub Desktop. 
    Script to automate our podcast publishing
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | Param ( | |
| [Parameter(Mandatory=$True)] | |
| [string]$url | |
| ) | |
| # this assumes you have youtube-dl installed | |
| # choco install youtube-dl | |
| # this also assumes you have ffmpeg installed | |
| # choco install ffmpeg | |
| # this also, also assumes you have Tag installed in the same dir | |
| # http://synthetic-soul.co.uk/tag/ | |
| # store the local file name for conversion and cleanup | |
| $local = youtube-dl --get-filename -o "%(title)s.%(ext)s" $url | |
| $local_name_only = [System.IO.Path]::GetFileNameWithoutExtension($local) | |
| $local_name_only = $local_name_only.ToLower() | |
| $local_name_only = $local_name_only -replace '\s','-' # replace spaces with - | |
| # populate some basic episode metadata | |
| $local_title = youtube-dl --get-title $url | |
| $local_description = youtube-dl --get-description $url | |
| # download the file from youtube | |
| youtube-dl -o "%(title)s.%(ext)s" $url | |
| # convert to mp3 | |
| ffmpeg -i "./$local" -vn -b:a 192k -c:a libmp3lame "$local_name_only.convert.mp3" | |
| # insert our intro music | |
| ffmpeg -i "concat:f:\FragCast\final\fragcast-intro-music.mp3|$local_name_only.convert.mp3" -acodec copy "$local_name_only.mp3" | |
| # tag the file | |
| ./Tag "$local_name_only.mp3" --artist "Frag Castle Games, Inc." --title "$local_title" --comment "$local_description" --year "2015" --album "FragCast Volume 2" | |
| # copy the final file out | |
| cp ".\$local_name_only.mp3" "f:\FragCast\final\$local_name_only.mp3" | |
| cp ".\$local_name_only.mp3" "~\Dropbox\FragCast\$local_name_only.mp3" | |
| # cleanup | |
| if($LastExitCode -eq 0) { | |
| rm "./$local" | |
| rm "./$local_name_only.mp3" | |
| rm ".\$local_name_only.convert.mp3" | |
| Write-Host "All done! the episode is published and here: f:\FragCast\final\$local_name_only.mp3" | |
| } else { | |
| Write-Host "something went fubar. not cleaning up." | |
| } | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment