[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 — yt-dlp
~ $ 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 — ffmpeg
~ $ 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 — in-browser
~ $ 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

recommended

Default. SEA decryption built in. Best for anything under ~2GB.

formats
.mp4 (V+A) · .m4a · .mp4 (video-only)
mode
sequential
needs
nothing

ffmpeg

reliable

Ready-to-paste command. Best for MP3/WAV output.

formats
.mp4 · .m4a · .mp3 · .wav
mode
sequential
needs
ffmpeg installed

yt-dlp

fastest

Parallel 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.

fig 01 recording page
Red Download Video and purple Download Transcript buttons live in the SharePoint / Teams command bar.
Red Download Video and purple Download Transcript buttons live in the SharePoint / Teams command bar.
fig 02 video download
Three tools (in-browser · ffmpeg · yt-dlp) · five formats. Filename auto-derived, editable.
Three tools (in-browser · ffmpeg · yt-dlp) · five formats. Filename auto-derived, editable.
fig 03 transcript
RAW JSON · WebVTT · Grouped TXT. Live previews. Last format remembered.
RAW JSON · WebVTT · Grouped TXT. Live previews. Last format remembered.

05 / for

Who actually uses this.

01

Professionals

Archive the all-hands. Save the customer call before retention deletes it.

02

Students & educators

Save lectures for offline study. Build personal study packs.

03

Accessibility

Personal copies for review at your own pace. Subtitle files for any local player.

04

AI & LLM workflows

Grouped-TXT is built for LLM input. Speaker-collapsed, clean blocks.

05

Analysts & researchers

Pull JSON into pandas. Cross-meeting search without paying a vendor.

06

Content creators

Extract audio for podcasts. Pull subtitles for an edit.

06 / privacy & security

Runs in your browser. That's the architecture.

/01 local-only

Bytes never leave your machine

Segments fetched from Microsoft’s CDN, decrypted in your browser, written straight to Downloads. No intermediate server.

/02 no telemetry

Zero analytics. Zero phoning home.

The extension only talks to teams.microsoft.com and *.sharepoint.com — the hosts your browser already does.

/03 open source · mit

Source on GitHub. Build it yourself.

MIT, full source on GitHub, load-unpacked instructions in the README. One toggle in chrome://extensions.

tech sheet
manifest
MV3
permissions
storage + host
remote code
none
data sent
0 bytes

07 / faq

01 Why is Download disabled in Teams? +
Tenant admins turn it off org-wide; meeting organisers can also toggle it per meeting. The recording itself isn't locked — just the convenience button is hidden.
02 Does this bypass access restrictions? +
No. It runs as you, against your own session. If you can't play it natively, you can't download it.
03 Will it work on DRM-protected recordings? +
No, and no tool does. Widevine/PlayReady decrypt only inside the browser's DRM module. The extension detects it and shows a clear dialog.
04 Do I need ffmpeg or yt-dlp? +
Only for MP3/WAV, or for parallel downloads on long recordings. The default in-browser path handles MP4 and M4A with no external tools.
05 Is anything sent to a third-party server? +
No. Zero telemetry. The extension talks to Microsoft URLs and nothing else.
06 What about Firefox? +
Chrome and Edge only for now. Firefox port is on the longer-term list.
07 What if the meeting was never transcribed? +
The transcript button shows a clear "no transcript available" dialog. No silent failure.
08 Is it free? +
Yes. MIT-licensed, open source, no premium tier, no upsell.
09 How do I uninstall? +
chrome://extensions → Remove. The only stored data is your last-used transcript format, wiped on 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