解码 facebook 的视频网址

我在 Facebook 的私人群组中找到了 blob:https://www.facebook.com/c7e5a634-2343-4464-a03e-4a1987301ca1视频源,但是我实在无法通过输入网址下载视频,也无法解码。有办法解码吗?

<video height="274" width="476" preload="auto" style="" class="_ox1 _21y0 _1_d1" data-video-width="476" data-video-height="274" data-original-aspect-ratio="1.7387058423913" id="u_0_27" src="blob:https://www.facebook.com/dc89feae-5b46-4103-8ee9-da7d7630ca94"></video>

94563 次浏览

Add this extension to your chrome browser to download FB videos:

https://chrome.google.com/webstore/detail/video-downloader-plus/njgehaondchbmjmajphnhlojfnbfokng

Once installed, go play the video and click the fb downloader icon (Downward Arrow icon) and choose your desired resolution.

You can download an FB video in a chrome browser with no plugins / other software required. (As long as you are logged into FB and have permission to view the video).

  1. open up the video and r.click for Get Video URL (copy it) -if you have the option "Copy URL at current time", use that option instead of "Show video URL"
  2. paste that address into another tab and replace the www with m e.g. https://m.facebook.com/MusicIsMagico/videos/2645908645633407/?t=0
  3. play the video, while it's playing open the dev tools and go to the elements tab
  4. search for mp4 till you find a source address that's inside the video tags - which will be inside a div that also contains another address with forward slashes and .mp4 in it. e.g. FB video URL

    https://video.fmel5-1.fna.fbcdn.net/v/t42.9040-2/10000000_1804934796220974_2070197824632389632_n.mp4?_nc_cat=1&amp;efg=eyJ2ZW5jb2RlX3RhZyI6InN2ZV9zZCJ9&amp;oh=785f223b80388c820f79b9a49c1dfc39&amp;oe=5B73B10B

  5. copy this source address. When you copy the address, chrome (if that's what you are using) does the html replacement for the ampersand characters. You will need to put them back. So replace the "& a m p ;" (< had to space that so it doesn't get converted here) separators in the address with just & - use notepad find and replace or something ) and paste in another tab. Drop any parts of the URL that have frame sizing etc.. so you address should look like this:

https://video.fmel5-1.fna.fbcdn.net/v/t42.9040-2/10000000_1804934796220974_2070197824632389632_n.mp4?_nc_cat=1&efg=eyJ2ZW5jb2RlX3RhZyI6InN2ZV9zZCJ9&oh=5f241d3c08d5c819b0c3810d0e21d73b&oe=5B73BF1B

  • this will load your browsers default html video player which has a download button
    • this will all only work if you are logged into FB and have permission to view the video (doesnt' work incognito)

Getting the right URL can take a bit of playing around but it works when you've got it right

enter image description here

This method will get the video and its audio AS SEPARATE FILES. The downloaded video will have no sound, but you will be able to download its audio file and connect it to the video in some video editing program if you need to.

  1. In Google Chrome, go to Facebook.

  2. Open the Chrome Developer Tools (F12).

  3. Go to the Network tab in the Developer Tools (it's at the top of the Developer Tools window) Network tab

  4. Play the video you would like to download on Facebook. Let it play for a few seconds and look at the Network tab during that. Long strings of numbers will appear every couple of seconds.

  5. Right click one of those strings, then go Copy>Copy link address enter image description here

  6. Paste (CTRL+V) the link you copied somewhere (eg Notepad) and remove "&bytestart=3684046&byteend=3862768" from the end.

    So I have a link like:

    https://scontent-waw1-1.xx.fbcdn.net/v/t66.18014-6/46772657_738781116188283_6399514850013601801_n.mp4?_nc_cat=107&efg=4yJ7ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2hxMl9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent-waw1-xx&oh=91a5abdd5608768a05fd884773a45802&oe=5C29B042 &bytestart=3684046&byteend=3862768

    After you cut the bold part out, the link that points to the full .mp4 or .webm of the video is:

    https://scontent-waw1-1.xx.fbcdn.net/v/t66.18014-6/46772657_738781116188283_6399514850013601801_n.mp4?_nc_cat=107&efg=4yJ7ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2hxMl9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent-waw1-xx&oh=91a5abdd5608768a05fd884773a45802&oe=5C29B042

  7. Open the modified link, right click the video inside and select "Save video as..." Right click video to save-as

Sometimes, when you open the link you may get just the audio of the video instead of the video itself.
That's because Facebook downloads the audio and video separately. Just try repeating steps 5-7 with a different string of numbers till you get it right. Instructions to reduce the chance of accidentally picking an audio link are below.

If you need to download many videos and don't want to guess whether your link points to audio or video, type larger-than: 50k (or more) in the Filter field in the Network tab. You can also click the XHR button in Filters so it doesn't show non-video files like FB images.

Helpful filters for Chrome to show only video links

I use Blob Video Downloader extension. It takes a few mins but it opens a new tab with a button to download video. I try it with a 1min video 720p.

For video that is in this blob format

enter image description here

or other formats served by Facebook with the intent to hide the ability to download, you can try loading the page without Javascript. They will serve you a version that is compatible, which means directlink

enter image description here

Tested working 11-2020

enter image description here

Another alternative that worked in Firefox in Feb 2021:

  • Open the post's permalink
  • Change the page's URL - replace www with m and load that
  • Now use Inspector to navigate down to the div containing the video object - and the video URL will be a direct link
  • Copy-paste that URL into your browser, or create an anchor link to that URL and load your link and right-click to save destination.

It downloads as mp4 including video and audio.

Update, 2 Jul 2021

When I followed my own steps today, pasting the mp4 URL returned a page giving the following error:

Bad URL timestamp

However, I still found a work-around.

Side note: One of the containing divs has ID mobile_injected_video_feed_pagelet.

Facebook now injects the video element when you hit the play button.

That VIDEO element contains the URL you need. The URL does contain "MP4" in the path.

What I did was:

  • Open Inspector
  • Hit "Play" on the video
  • While the video is playing, find the VIDEO element and copy the URL from the VIDEO element
  • Paste that into a new tab
  • The new tab would show a smaller thumbnail of the video
  • Right-click the thumbnail and save the media to your PC

You must hit play for the VIDEO element to appear in the page source.

I'm using Firefox but any browser with an inspector should work.

I assemble here the necessary steps from the different answers :

  1. Facebook downloads the audio and the video separately, so get the audio link from the google chrome inspector, by right click on the video and choosing inspect ,going to Inspector, Network Tab, and checking the links, use filter:larger-than:50k in the filter area to select bigger files (change 50k according to the length of your video), look in the results for mp4 or wav links, remove &bytestart=number_here &byteend =number_here from the end of the link, open it and download the audio

  2. Get the video link from the google chrome inspector, using same steps above, open the link and download the video

Now in order to mix the audio and the video, we need to use ffmeg :

  1. Download ffmpeg build for your OS from its website, use this link

  2. Extract the downloaded zip file

  3. Open your command line tool and cd to : \Downloads\ffmpeg-2021-04-28-git-1ab74bc193-full_build\ffmpeg-2021-04-28-git-1ab74bc193-full_build\bin (change according to which version you downloaded)

  4. Assume the input files are in the current folder, the output will be generated in the current folder too

    Mix the audio and the video with ffmpeg using command :
    .\ffmpeg.exe -i video.ext -i audio.ext -c:v copy -c:a aac output.mp4