DEV Community

Gabriel Diem
Gabriel Diem

Posted on

How to download Google Meet meeting recordings set to view-only mode

So you were (or weren't) part of a meeting done with Google Meet that was recorded and the link you have, which is probably the automatic one sent by the Meet app, is set to view-only mode and can't download it straight away with an option the the hamburger menu nor there's a button to do it.

So how can you do it? It's important to know that the methods going around are not stable in time, given that we try to understand what the Google API's are doing so we can get the video and audio entirely in a common format, e.g. mp4.

We will review the previous method, which is not currently working, and the current method that is currently working.

Previous method [not working currently]: downloading videoplayback with the browser's developer tool

When online video meetings exploded in popularity, this method was quickly found. You basically followed these steps:

  1. Open the browser's Developer Tools, with right click or via some option in the browser menus.

  2. Open the Network tab, reload the page, and search for an element called videoplayback.

  3. Right click into it and copy its URL.

  4. Open the URL in a new tab and you will see a raw, loaded by the browser, video with audio that you can download directly with the browser.

It was pretty simple, thought the download speed usually was unstable and it could be slow. But, it does not work anymore.

Current working method: download video and audio separately with the browser's developer tool

It seems that the Youtube-like player that Google Drive has to play the videos now works with more chunking of the audio and video, in separate channels, so the video chunks arrive by themselves and the audio chunks as well.

What we are going to do is: get the video file (with no audio), get the audio file, and then join both in a single video (with audio) file with ffmpeg.

Getting the video file

  1. Open the browser's Developer Tools, with right click or via some option in the browser menus.

  2. Open the Network tab, reload the page, and search for an element called videoplayback. You will notice that several of these elements keep appearing, this is the chunking I was talking about before.

  3. Right click into one and copy its URL. If you try to download from that URL directly, you won't be able to get the video nor the audio, you will probably download a .txt file if you try.

  4. Copy the URL into a text editor, we are going to remove some parts. The URL looks something like this:

https://rr5---sn-x1xe55.c.drive.google.com/videoplayback?expire=123456&ei=111_111-aaaaaaaa&ip=111:111:11a:888:5d3f:888:8fed:888&id=aaa123&itag=140&source=webdrive&requiressl=yes&xpc=Eaaa111==&mh=j7&mm=32,26&mn=sn-x1xe7n76,sn-nja7sner&ms=su,onr&mv=m&mvi=5&pl=49&sc=yes&ttl=transient&susc=dr&driveid=111aaa111&app=explorer&eaua=111aaa&mime=video/mp4&vprv=1&prv=1&rqh=1&gir=yes&clen=111222333&dur=111.352&lmt=111222333&mt=111222333&fvip=1&subapp=DRIVE_WEB_FILE_VIEWER&txp=0000224&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,ttl,susc,driveid,app,eaua,mime,vprv,prv,rqh,gir,clen,dur,lmt&sig=111222333-aaa1112223344aaqqbb==&lsparams=mh,mm,mn,ms,mv,mvi,pl,sc&lsig=111222333-aaa1112223344aaqqb&alr=yes&cpn=111aaa&c=WEB_EMBEDDED_PLAYER&cver=1.20240912.01.00&range=1948616-2433307&rn=11&rbuf=119815&ump=1&srfvp=1

First, we need to locate the mime attribute and check if what we found is the video or audio:

(...)eaua=111aaa&mime=video/mp4&vprv=1&p(...)

Given that it is mime=video/mp4 we have effectively found the video. If it's not, and it's audio instead, we need to pick another videoplayback element and repeat until found the video one. It will not work if you manually replace the mime tag, you need to get another element.

There is a range attribute in the query string, which we are going to remove, including all the stuff that comes after it.

Remove the text at the end as shown:

https://rr5---sn-x1xe55.c.drive.google.com/videoplayback?expire=123456&ei=111_111-aaaaaaaa&ip=111:111:11a:888:5d3f:888:8fed:888&id=aaa123&itag=140&source=webdrive&requiressl=yes&xpc=Eaaa111==&mh=j7&mm=32,26&mn=sn-x1xe7n76,sn-nja7sner&ms=su,onr&mv=m&mvi=5&pl=49&sc=yes&ttl=transient&susc=dr&driveid=111aaa111&app=explorer&eaua=111aaa&mime=video/mp4&vprv=1&prv=1&rqh=1&gir=yes&clen=111222333&dur=111.352&lmt=111222333&mt=111222333&fvip=1&subapp=DRIVE_WEB_FILE_VIEWER&txp=0000224&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,ttl,susc,driveid,app,eaua,mime,vprv,prv,rqh,gir,clen,dur,lmt&sig=111222333-aaa1112223344aaqqbb==&lsparams=mh,mm,mn,ms,mv,mvi,pl,sc&lsig=111222333-aaa1112223344aaqqb&alr=yes&cpn=111aaa&c=WEB_EMBEDDED_PLAYER&cver=1.20240912.01.00 <<REMOVE FORM THE RIGHT OF THIS>>&range=1948616-2433307&rn=11&rbuf=119815&ump=1&srfvp=1

Now with the clean URL we can paste it in a new tab an download the video (with no audio) directly from the browser:

https://rr5---sn-x1xe55.c.drive.google.com/videoplayback?expire=123456&ei=111_111-aaaaaaaa&ip=111:111:11a:888:5d3f:888:8fed:888&id=aaa123&itag=140&source=webdrive&requiressl=yes&xpc=Eaaa111==&mh=j7&mm=32,26&mn=sn-x1xe7n76,sn-nja7sner&ms=su,onr&mv=m&mvi=5&pl=49&sc=yes&ttl=transient&susc=dr&driveid=111aaa111&app=explorer&eaua=111aaa&mime=video/mp4&vprv=1&prv=1&rqh=1&gir=yes&clen=111222333&dur=111.352&lmt=111222333&mt=111222333&fvip=1&subapp=DRIVE_WEB_FILE_VIEWER&txp=0000224&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,ttl,susc,driveid,app,eaua,mime,vprv,prv,rqh,gir,clen,dur,lmt&sig=111222333-aaa1112223344aaqqbb==&lsparams=mh,mm,mn,ms,mv,mvi,pl,sc&lsig=111222333-aaa1112223344aaqqb&alr=yes&cpn=111aaa&c=WEB_EMBEDDED_PLAYER&cver=1.20240912.01.00

Getting the audio file

Same steps that the video file but the mime tag should be audio/mp4:

  1. Open the browser's Developer Tools, with right click or via some option in the browser menus.

  2. Open the Network tab, reload the page, and search for an element called videoplayback.

  3. Right click into one and copy its URL.

  4. Copy the URL into a text editor, we are going to remove some parts. The URL looks something like this:

https://rr5---sn-x1xe55.c.drive.google.com/videoplayback?expire=123456&ei=111_111-aaaaaaaa&ip=111:111:11a:888:5d3f:888:8fed:888&id=aaa123&itag=140&source=webdrive&requiressl=yes&xpc=Eaaa111==&mh=j7&mm=32,26&mn=sn-x1xe7n76,sn-nja7sner&ms=su,onr&mv=m&mvi=5&pl=49&sc=yes&ttl=transient&susc=dr&driveid=111aaa111&app=explorer&eaua=111aaa&mime=audio/mp4&vprv=1&prv=1&rqh=1&gir=yes&clen=111222333&dur=111.352&lmt=111222333&mt=111222333&fvip=1&subapp=DRIVE_WEB_FILE_VIEWER&txp=0000224&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,ttl,susc,driveid,app,eaua,mime,vprv,prv,rqh,gir,clen,dur,lmt&sig=111222333-aaa1112223344aaqqbb==&lsparams=mh,mm,mn,ms,mv,mvi,pl,sc&lsig=111222333-aaa1112223344aaqqb&alr=yes&cpn=111aaa&c=WEB_EMBEDDED_PLAYER&cver=1.20240912.01.00&range=1948616-2433307&rn=11&rbuf=119815&ump=1&srfvp=1

First, we need to locate the mime attribute and check if what we found is the video or audio:

(...)eaua=111aaa&mime=audio/mp4&vprv=1&p(...)

Given that it is mime=audio/mp4 we have effectively found the video. If it's not, and it's video instead, we need to pick another videoplayback element and repeat until found the video one. It will not work if you manually replace the mime tag, you need to get another element.

Remove range tag as shown:

https://rr5---sn-x1xe55.c.drive.google.com/videoplayback?expire=123456&ei=111_111-aaaaaaaa&ip=111:111:11a:888:5d3f:888:8fed:888&id=aaa123&itag=140&source=webdrive&requiressl=yes&xpc=Eaaa111==&mh=j7&mm=32,26&mn=sn-x1xe7n76,sn-nja7sner&ms=su,onr&mv=m&mvi=5&pl=49&sc=yes&ttl=transient&susc=dr&driveid=111aaa111&app=explorer&eaua=111aaa&mime=audio/mp4&vprv=1&prv=1&rqh=1&gir=yes&clen=111222333&dur=111.352&lmt=111222333&mt=111222333&fvip=1&subapp=DRIVE_WEB_FILE_VIEWER&txp=0000224&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,ttl,susc,driveid,app,eaua,mime,vprv,prv,rqh,gir,clen,dur,lmt&sig=111222333-aaa1112223344aaqqbb==&lsparams=mh,mm,mn,ms,mv,mvi,pl,sc&lsig=111222333-aaa1112223344aaqqb&alr=yes&cpn=111aaa&c=WEB_EMBEDDED_PLAYER&cver=1.20240912.01.00 <<REMOVE FORM THE RIGHT OF THIS>>&range=1948616-2433307&rn=11&rbuf=119815&ump=1&srfvp=1

Now with the clean URL we can paste it in a new tab an download the audio (with no video) directly from the browser:

https://rr5---sn-x1xe55.c.drive.google.com/videoplayback?expire=123456&ei=111_111-aaaaaaaa&ip=111:111:11a:888:5d3f:888:8fed:888&id=aaa123&itag=140&source=webdrive&requiressl=yes&xpc=Eaaa111==&mh=j7&mm=32,26&mn=sn-x1xe7n76,sn-nja7sner&ms=su,onr&mv=m&mvi=5&pl=49&sc=yes&ttl=transient&susc=dr&driveid=111aaa111&app=explorer&eaua=111aaa&mime=audio/mp4&vprv=1&prv=1&rqh=1&gir=yes&clen=111222333&dur=111.352&lmt=111222333&mt=111222333&fvip=1&subapp=DRIVE_WEB_FILE_VIEWER&txp=0000224&sparams=expire,ei,ip,id,itag,source,requiressl,xpc,ttl,susc,driveid,app,eaua,mime,vprv,prv,rqh,gir,clen,dur,lmt&sig=111222333-aaa1112223344aaqqbb==&lsparams=mh,mm,mn,ms,mv,mvi,pl,sc&lsig=111222333-aaa1112223344aaqqb&alr=yes&cpn=111aaa&c=WEB_EMBEDDED_PLAYER&cver=1.20240912.01.00

Combining the video with the audio

So, we have now an .m4a audio file and an .mp4 video file. You will need ffmpeg installed to combine the files into a single video with audio. You can google how to install it into Google, or visit the official site: ffmpeg.org/download.html and check how to get it for your operating system.

Once you have it, run this simple command to fuse the files into one:

ffmpeg -i video.mp4 -i audio.m4a -c:v copy -c:a aac output.mp4
Enter fullscreen mode Exit fullscreen mode

And that's it! Now you have a complete file of the Google Meet recording. I hope it helped!

Top comments (0)