How to download from Vidyard
2022/09/07
This guide is about downloading videos hosted by Vidyard.
Preparation
- Download
ffmpeg. Make sure it’s available from command line:ffmpeg -version. - Store the following to a file with a
.ps1extension, for example,run.ps1.$videoId = "p7wUpKvOKku1XCEsntsLQQ" $refererId = "Mw2MQEkGAGn1j1NW6XcjUa" if (test-path input.txt) { Remove-Item input.txt } $session = New-Object Microsoft.PowerShell.Commands.WebRequestSession $session.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36" $i = 1 for (; ; $i++) { $num = "$i" while ($num.Length -lt 3) { $num = "0" + $num } try { Invoke-WebRequest -UseBasicParsing -Uri "<https://cdn.vidyard.com/media/hls/>$videoId/,full_hd,hd,480p,sd,.mp4.urlset/seg-$num-f2-v1-a1.ts" ` -WebSession $session ` -OutFile f_$num.ts ` -Headers @{ "authority" = "cdn.vidyard.com" "method" = "GET" "path" = "/media/hls/$videoId/,full_hd,hd,480p,sd,.mp4.urlset/seg-$num-f2-v1-a1.ts" "scheme" = "https" "accept" = "*/*" "accept-encoding" = "gzip, deflate, br" "accept-language" = "en-US,en;q=0.9,pl;q=0.8,ru;q=0.7" "origin" = "https://play.vidyard.com" "referer" = "https://play.vidyard.com/$refererId.html?autoplay=0&custom_id=&embed_button=0&referrer=https%3A%2F%2Fwww.patreon.com%2F&viral_sharing=0" "sec-fetch-dest" = "empty" "sec-fetch-mode" = "cors" "sec-fetch-site" = "same-site" "sec-gpc" = "1" } } catch { break } Add-Content -Path input.txt -Value "file f_$num.ts" } ffmpeg -f concat -i input.txt output.mp4 # Use the following for lossless conversion. Has hiccups in VLC on Android. # ffmpeg -f concat -i input.txt output.mp4 -c copy # Remove intermediate files rm *.ts
Execution
- Open the webpage with the video. Start playback. Choose video quality.
- Open developer tools by pressing F12. Go to Network tab.
- Note the video segments downloading one by one. Right-click on any of them and copy as fetch.
- You’ll have something like the following.
fetch("https://cdn.vidyard.com/media/hls/p7wUpKvOKku1XCEsntsLQQ/,full_hd,hd,480p,sd,.mp4.urlset/seg-8-f2-v1-a1.ts", { "headers": { "accept": "*/*", "accept-language": "en-US,en;q=0.9,pl;q=0.8,ru;q=0.7", "if-none-match": "\"-1-9bc78\"", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", "sec-gpc": "1" }, "referrer": "https://play.vidyard.com/Hd4tPpuMrAMMpSTeB8rzFX.html?autoplay=0&custom_id=&embed_button=0&referrer=https%3A%2F%2Fwww.patreon.com%2F&viral_sharing=0", "referrerPolicy": "no-referrer-when-downgrade", "body": null, "method": "GET", "mode": "cors", "credentials": "omit" }); - Copy two values from here — the id from the top line (here —
p7wUpKvOKku1XCEsntsLQQ) and the referrer id from the second url (here —Hd4tPpuMrAMMpSTeB8rzFX). Paste these two values into appropriate values in the top lines of ourrun.ps1:$videoId = "p7wUpKvOKku1XCEsntsLQQ" $refererId = "Mw2MQEkGAGn1j1NW6XcjUa" ... - Open a Powershell command prompt in the folder with
run.ps1. - Execute the file:
./run.ps1. - Wait for process to finish. If there are any red lines in the output, re-run the file.
Notes
As stated in the Powershell file template, it’s possible to
add an option -c copy to the ffmpeg call in order to make it
concat the files in a lossless manner.
However, that proved to cause hick-ups in VLC on Android,
so be aware of that.