Script to assist in downloading Microsoft Ignite, Inspire, Build or MEC contents or return session information for easier digesting.
Video downloads will leverage a utility which can be downloaded from https://yt-dl.org/latest/youtube-dl.exe, and needs to reside in the same folder as the script. The script itself will try to download the utility when the utility is not present.
To prevent retrieving session information for every run, the script will cache session information.
Download all available contents of sessions containing the word 'Exchange' in the title to D:\Ignite:
.\Get-EventSession.ps1 -DownloadFolder D:\Ignite -Format 18 -Keyword 'Exchange'
Get information of all sessions, and output only location and time information for sessions (co-)presented by Tony Redmond:
.\Get-EventSession.ps1 -InfoOnly | Where {$_.Speakers -contains 'Tony Redmond'} | Select Title, location, startDateTime
Download all available contents of sessions BRK3248 and BRK3186 to D:\Ignite
.\Get-EventSession.ps1 -DownloadFolder D:\Ignite -ScheduleCode BRK3248,BRK3186
Depending on the source, the video and audio streams are seperate. First the video stream is fetched, then the audio stream. After fetching, the two are merged.
Depending on availability and source, the default format is worstvideo+bestaudio/best. This means the worst quality video and best audio stream are fetched and merged. 'Best' is attempted if no selection could be made. You can also specify bestvideo+bestaudio to get the best quality video, but these files can be substantially larger. You can also perform more complex filter, e.g. bestvideo[height=540][filesize<384MB]+bestaudio,bestvideo[height=720][filesize<512MB]+bestaudio,bestvideo[height=360]+bestaudio,bestvideo+bestaudio
- This would first attempt to download the video of 540p if it is less than 384MB, and best audio.
- When not present, then attempt to downlod video of 720p less than 512MB.
- Thirdly, attempt to download video of 360p with best audio.
- If none of the previous filters found matches, just pick the best video and best audio streams
Special thanks to Mattias Fors, Scott Ladewig, Tim Pringle, and Andy Race.
This project is licensed under the MIT License - see the LICENSE.md for details.