Forum Discussion
Download Transcripts
- Jan 10, 2020
Hi SarahFabius,
Yes, download the caption file in the Stream admin portal. Screenshot shown here.
https://answers.microsoft.com/en-us/msoffice/forum/all/download-transcript-from-microsoft-stream/18fb51f5-3b11-49c6-b18a-44bf6fd524eaThis will also help
As Mark Mroz states, download the caption file from Stream (as in the first link) and then run it through this web utility which pulls out just the transcript text from the file (removing the time codes, metadata, and blank lines).
https://aka.ms/StreamVTTCleaner
Hope that answers your question!
Best, Chris
In Microsoft Stream, you can go into the settings and Download Captions. I had to do this fancy stuff because the Video I wanted the transcript for was not mine, and I didn't have the option to Download Captions.
I found a chrome extension but that didn't work, so I made my own called https://chromewebstore.google.com/detail/transcript-extractor-for/pabgaigmlgofdiialamkcpijifmodahl?authuser=0&hl=en using the knowledge I got from my previous answer to streamline this process for myself and others. Hope it helps!
https://chromewebstore.google.com/detail/transcript-extractor-for/pabgaigmlgofdiialamkcpijifmodahl?authuser=0&hl=en
-------------------------------------------------
Previous Answer
MS Stream has a feature that lets the author of a video "prevent download" for other users. This seems to also be blocking downloading the transcript and not just the video. I wanted to get the transcript from a recorded work meeting and I couldn't find a simple way to do it. After scurrying around in the Network tab of my browser, I found a way to solve my problem.
So I found the API call that Stream makes to get the full transcript from the server.
Currently, <urlToYourStreamVideo>/streamContent is the API call that responds with the JSON with all the transcript data. Once I found this, I copied the JSON into my browsers Console and did this:
let asd = <paste your content here> //run this as step 1
let ftw = asd.entries.map(obj => obj.text) //run this as step 2
ftw.reduce((sum, x) => sum = sum + x + "\n") //run this as step 3
I then had to figure out how to select that massive transcript by dragging and dropping. You might have a better way to do this depending on the browser you use.
Once I had it all copied, I could then use it to get a decent summary from Microsoft Copilot and ChatGPT.
- kumara179Aug 30, 2025Copper Contributor
It does not copy the person name and timestamp. Do you have a way to implement that?