Problem

The conference recorded everyone’s presentation and made them available on the website. Only problem: It would not let me download the video. The videos were hosted on Vimeo, so I tried clicking on the Vimeo logo to see if it opens the video on the main website, but it would not. I also tried extensions that would download Vimeo videos for you, all to no avail. So I took the matters in my own hand!

My Solution

Usual Inspecting of page elements did not work. So I reloaded the page and before playing the video, I went to the Networks tab in the Development Tools. As soon as I played the video, a number of requests were made to Vimeo and the response was the video (muted) and its corresponding audio:

The highlighted URL points to the audio. Similarly, there is a URL for the video (muted).

The highlighted URL points to the audio. Similarly, there is a URL for the video (muted).

I downloaded the video and audio in said URLs and now I needed to add the audio to the video. For this, I could use iMovie or similar software, but who has time for that when you can simply use ffmpeg? Here is how I added the downloaded audio (a.mp4) to the downloaded video v.mp4. Also, I truncated the output to 00:14:00 minutes to cut out the speakers after me (I was the first in the video).

**ffmpeg -i v.mp4 -i a.mp4 -map 0:v -map 1:a -c:v copy -shortest -t 00:14:00 output.mp4**

And that is it! This is what ffmpeg shows:

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (opus (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, mp4, to 'output.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: dashmp42mp41iso6
    encoder         : Lavf59.27.100
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080, q=2-31, 0 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
    Metadata:
      creation_time   : 2022-06-17T18:24:06.000000Z
      handler_name    : L-SMASH Video Handler
      vendor_id       : [0][0][0][0]
      encoder         : AVC Coding
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)
    Metadata:
      creation_time   : 2022-06-17T18:25:03.000000Z
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc59.37.100 aac
frame=20927 fps=1882 q=-1.0 Lsize=   59747kB time=00:14:00.00 bitrate= 582.7kbits/s speed=75.5x    
video:51851kB audio:7280kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.039692%
[aac @ 0x1537076f0] Qavg: 1091.241

It finished in just a few seconds on my M1 Pro MacBook Pro. output.mp4 is shown below, enjoy!

My Presentation Video

They recorded the video a few seconds after I began, so this is not a bug of ffmpeg!

They recorded the video a few seconds after I began, so this is not a bug of ffmpeg!