[chrome extension] · v1.3.0 · mit · open source
Download disabled?
Save Teams recordings, SharePoint MP4s, and transcripts straight from your browser. No IT ticket. No server. No telemetry.
- 03
- download tools
- 05
- video formats
- 03
- transcript formats
- 00
- trackers
~ $ ms-stream ▸ detected SharePoint recording ▸ duration 00:47:13 ▸ segments 1,412 ▸ encryption SEA — auto-decrypting ▸ generated yt-dlp command (parallel ×16): yt-dlp -N 16 \ --add-header "Authorization: Bearer eyJ0e..." \ "https://contoso.sharepoint.com/.../manifest.m3u8" \ -o "ai-roadmap-2026-03-27.mp4" ▸ ready — paste into terminal
~ $ ms-stream ▸ detected Teams meeting recording ▸ duration 01:02:08 ▸ segments 1,863 ▸ audio out .mp3 — re-encoded by ffmpeg ▸ generated ffmpeg command: ffmpeg \ -headers "Authorization: Bearer eyJ0e..." \ -i "https://contoso.sharepoint.com/.../manifest.m3u8" \ -vn -c:a libmp3lame -b:a 192k \ "weekly-standup.mp3" ▸ ready — paste into terminal
~ $ ms-stream ▸ detected Stream-on-SharePoint ▸ duration 00:23:41 ▸ segments 713 ▸ encryption SEA — auto-decrypting ▸ downloading in-browser... ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▱▱▱▱ 81% 667.0 MB / 823.1 MB · 38 MB/s ▸ → ~/Downloads/team-stream.mp4
live preview — cycles through all three download tools
01 / why this exists
The recording's on your screen.
The download button just isn't.
Microsoft Teams, SharePoint, and Stream restrict downloads at the tenant-policy level. The video plays. The transcript sits in the panel. But Download is greyed out. This extension restores it — using the same Microsoft URLs the native player already calls. No exotic bypass: if you can’t play it, you can’t save it.
02 / features
Video and transcript — two pipelines.
video & audio
.mp4 · .m4a · .mp3 · .wav- 01
In-browser
Video+Audio MP4, Audio M4A, or Video Only. No CLI needed.
- 02
CLI generators
ffmpeg & yt-dlp commands ready to paste. yt-dlp goes parallel (-N 16).
- 03
SEA encryption
SharePoint's encrypted segments decrypted on the fly.
- 04
Five formats
.mp4 (V+A) · .m4a · .mp3 · .wav · video-only.
- 05
Editable filename
Auto-derived from the meeting title. Edit before save.
- 06
Progress bar
Per-segment status. Cancellable. No corrupt partials.
- 07
Floating banner
Appears when SharePoint hides the command bar.
- 08
DRM detection
Widevine/PlayReady → clear dialog, never a broken file.
transcript
.json · .vtt · .txt- 01
RAW JSON
Original MS Stream format. Speaker names, timestamps, entry IDs.
- 02
WebVTT (.vtt)
Standard subtitle format. Plays in VLC, IINA, Plyr.
- 03
Grouped TXT
Same-speaker lines collapsed. LLM-ready.
- 04
Live preview
All three formats rendered before you pick.
- 05
Speaker names
Real display names preserved. Not anonymous GUIDs.
- 06
Last-format memory
Picks up where you left off. Storage permission only.
- 07
No-transcript detection
Clear dialog if there's no transcript.
- 08
Custom filename
Auto-derived. Editable before save.
03 / for power users
Pick your tool. Paste the command.
For MP3, WAV, or the fastest possible download on long recordings, the extension generates the full command for ffmpeg or yt-dlp — auth header, manifest URL, and filename pre-filled.
In-Browser
recommendedDefault. SEA decryption built in. Best for anything under ~2GB.
- formats
- .mp4 (V+A) · .m4a · .mp4 (video-only)
- mode
- sequential
- needs
- nothing
ffmpeg
reliableReady-to-paste command. Best for MP3/WAV output.
- formats
- .mp4 · .m4a · .mp3 · .wav
- mode
- sequential
- needs
- ffmpeg installed
yt-dlp
fastestParallel segments. Best for hour-plus recordings.
- formats
- .mp4 · .m4a · .mp3 · .wav
- mode
- parallel ×16
- needs
- yt-dlp installed
! CLI commands embed a short-lived auth token — run promptly.
04 / interface
Two buttons. Where you'd look for them.
05 / for
Who actually uses this.
Professionals
Archive the all-hands. Save the customer call before retention deletes it.
Students & educators
Save lectures for offline study. Build personal study packs.
Accessibility
Personal copies for review at your own pace. Subtitle files for any local player.
AI & LLM workflows
Grouped-TXT is built for LLM input. Speaker-collapsed, clean blocks.
Analysts & researchers
Pull JSON into pandas. Cross-meeting search without paying a vendor.
Content creators
Extract audio for podcasts. Pull subtitles for an edit.
06 / privacy & security
Runs in your browser. That's the architecture.
Bytes never leave your machine
Segments fetched from Microsoft’s CDN, decrypted in your browser, written straight to Downloads. No intermediate server.
Zero analytics. Zero phoning home.
The extension only talks to teams.microsoft.com and *.sharepoint.com — the hosts your browser already does.
Source on GitHub. Build it yourself.
MIT, full source on GitHub, load-unpacked instructions in the README. One toggle in chrome://extensions.
- manifest
- MV3
- permissions
- storage + host
- remote code
- none
- data sent
- 0 bytes
07 / faq
01 Why is Download disabled in Teams? +
02 Does this bypass access restrictions? +
03 Will it work on DRM-protected recordings? +
04 Do I need ffmpeg or yt-dlp? +
05 Is anything sent to a third-party server? +
06 What about Firefox? +
07 What if the meeting was never transcribed? +
08 Is it free? +
09 How do I uninstall? +
08 / install
Get it. Now.
One click from the Chrome Web Store. Or clone the repo and load unpacked in chrome://extensions if you want to read the code first.
v1.3.0 · MIT · 22 KB unpacked · works on teams.microsoft.com, teams.cloud.microsoft, *.sharepoint.com