How to Download View-Only Teams Meeting Recording Video from SharePoint

Meeting recording auto-expiration feature is no joy.

The Problem

As part of the devolution of the new Stream built on SharePoint, new recordings automatically expire 60 days after they are recorded.

This means that team meeting recordings shared by other people will be deleted in 60 days (they are view-only and cannot be downloaded).

The Solution

Download the file from the service URL.

Open Firefox (or the browser of your choice) and load the SharePoint page with the video that you want to download, then open the page inspector (Ctrl + Shift + C). Click on the Network tab. Type videomanifest where it says “Filter URLs“. Press F5 to refresh the page. When the page reloads, copy the file URL. See below.

Use ffmpeg to download the video by pasting the URL from above:

$ ffmpeg -i "https://copied_videomanifest_url" -codec copy video.mp4

34 thoughts on “How to Download View-Only Teams Meeting Recording Video from SharePoint

  1. Works, I had to first delete the &manifestMetadata=… part of the URL, up to just before the next ‘&’.

  2. Sorry, can you please elaborate on the ffmpeg part? I got to the URL but not sure what the last step is….
    Thanks,

  3. Hi, first of all thanks for your tutorial, but i have a problem maybe you can help me : I’m using chrome, when i copy the link address, I get a huge URL and when i’m trying to paste the ffmpeg command you wrote i receive -> “parse error near `&”, how can i solve this problem?

  4. I get the error “Invalid data found when processing input” from ffmpeg. There is no “manifestMetadata” query param in my link, there is “altManifestMetadata” – if I omit that, it doesn’t work either.

  5. Worked in Windows 11, opened it up in notepad to sanitize the URL.

    As per Georgie above:

    Deleted where it started with: &altManifestMetadata=
    and right before the following:
    &pretranscode=0

    then copied the URL inside quotes for the following to be used in ffmpeg

    “https://copied_videomanifest_url”

    ffmpeg -i “https://copied_videomanifest_url” -codec copy video.mp4

    • This works! Thanks alot!

      For clarification since I struggled with this a bit – you need to delete the text from and with
      &altManifestMetadata=
      up to where
      &petranscode=0
      starts, but leave &petranscode=0 and the rest after it in the link.

      Again, thanks a lot, works like a charm.

    • i need help.. i still dont get it. let say, i had already remove (&altManifestMetadata=……) and ii copy the link….let say again the link i just copy as X. so is it gonna be like this ?
      ffmpeg -i “https://X_videomanifest_url” -codec copy video.mp4
      ???

  6. Thanks so much for this. Was able to save extremely important knowledge transfer videos from someone who left the company.

  7. If anybody cannot get it working, please try ffmpeg version 4.4 or more… below worked for me…

    $ /usr/bin/ffmpeg –version
    ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
    built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)

  8. The procedure is generally correct, but the browser network request does not always contain the string “videomanifest”.

    You may have to look for the first occurrence of a Method: “GET”, Initiator: “Media” request and use that as the URL

    Also, you can alternatively use youtube-dl or yt-dlp with the above fetched URL Using yt-dlp the command would be:
    yt-dlp “fetched_URL_here” -o desired_filename.mp4

    This is method far faster than streaming/piping through ffmpeg

    • I got “This video is DRM protected” using yt-dlp, sadly
      The ffmpeg method worked though.

  9. I am getting the following error:
    “Error opening output: Permission denied”
    Even though i had already logged in the sharepoint with my company login.

    Someone the same?

  10. Connection to tcp://japaneast1-mediap.svc.ms:443 failed: Error number -138 occurred
    [dash @ 0000024839e29440] Failed to open fragment of playlist

    • I had the same issue.
      I resolved it by defining the proxy server before calling ffmpeg:

      set HTTP_PROXY=http://userid:password@proxy_ip:proxy_port
      ffmpeg -i “videomanifest.mpd -codec copy video.mp4

  11. Im in the process of downloading a video, had to install the ffmpeg on windows, declare it as an enviroment variable to be able to use it in power shell. The one thing i’m not sure is, where is the video beign downloaded to?

  12. Hi All,

    Thank you so much for your valuable input and replies… i have downloaded the latest ffmpeg v6 and u jus need to copy the whole url and paste it like here…

    ffmpeg -i “https://southeastasia1-mediap.svc.ms/transform/videomanifest?……. ” -codec copy video.mp4

    Thats it.. make sure your not under any proxy or what, then there is a reply above where u need to put in username and password. Thanks alot guys…

  13. does it still works ? I using Firefox on my mac but, not able to find videomanifest as per mentioned.

Leave a Reply

Your email address will not be published. Required fields are marked *