解码 facebook 的 blob 视频 url

Posted

技术标签:

【中文标题】解码 facebook 的 blob 视频 url【英文标题】:Decoding facebook's blob video url 【发布时间】:2018-07-28 08:12:03 【问题描述】:

我在 Facebook 的私人群组找到了blob:https://www.facebook.com/c7e5a634-2343-4464-a03e-4a1987301ca1 视频源,我真的无法通过输入 url 下载视频,也无法解码。有什么办法可以解码吗?

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

【问题讨论】:

【参考方案1】:

将此扩展添加到您的 chrome 浏览器以下载 FB 视频:

https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjjlncfjpbbpjadoeijkogc

安装后,播放视频并单击 fb 下载器图标(向下箭头图标)并选择所需的分辨率。

【讨论】:

但是这个是facebook的私人视频【参考方案2】:

您可以在 chrome 浏览器中下载 FB 视频,无需插件/其他软件。 (只要您登录FB并有权观看视频)。

    打开视频并 r.click 获取视频 URL(复制它) - 如果您有“在当前时间复制 URL”选项,请使用该选项而不是“显示视频 URL” 将该地址粘贴到另一个选项卡中,并将 www 替换为 m,例如https://m.facebook.com/MusicIsMagico/videos/2645908645633407/?t=0 播放视频,同时打开开发工具并转到元素选项卡

    搜索 mp4 直到找到位于 视频标签 - 将位于一个 div 中,该 div 还包含另一个带有正斜杠和 .mp4 的地址。 例如

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

    复制此源地址。当您复制地址时,chrome(如果您使用的是该地址)会用 html 替换 & 字符。你需要把它们放回去。所以替换“& a m p;” (

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

这将加载 您的浏览器默认带有下载按钮的 html 视频播放器 这一切只有在您登录 FB 并有权查看视频时才有效(不能隐身工作)

获取正确的 URL 可能需要一些时间,但只要你做对了,它就会起作用

【讨论】:

您似乎错过了重点。下载 MP4 很容易。没有 MP4 源,只有一个 blob。 完美运行。 投反对票。问题是关于 FB blob: 视频,而不是 FB https://video... 视频。【参考方案3】:

此方法会将视频及其音频作为单独的文件获取。 下载的视频将没有声音,但您可以下载其音频文件并将其连接到某些视频中的视频如果需要,可以编辑程序。

    Google Chrome 中,转到 Facebook

    打开 Chrome 开发者工具 (F12)

    转到开发者工具中的网络标签(位于开发者工具窗口的顶部)

    在 Facebook 上播放您想下载的视频。让它播放几秒钟,然后在此期间查看“网络”标签。每隔几秒钟就会出现一长串数字。

    右键单击其中一个字符串,然后转到复制>复制链接地址

    粘贴 (CTRL+V) 您在某处复制的链接(例如记事本)并从末尾删除“&bytestart=3684046&byteend=3862768”。

    所以我有一个类似的链接:

    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

    将粗体部分剪掉后,指向视频完整 .mp4 或 .webm 的链接为:

    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

    打开修改后的链接,右键里面的视频,选择“将视频另存为...”

有时,当您打开链接时,您可能只会看到视频的音频,而不是视频本身。 那是因为 Facebook 会分别下载音频和视频。只需尝试使用不同的数字字符串重复步骤 5-7,直到您正确为止。下面是减少意外选择音频链接机会的说明。

如果您需要下载许多视频并且不想猜测您的链接指向音频还是视频,请在“网络”标签的过滤器字段中输入larger-than: 50k(或更多)。您也可以点击过滤器中的 XHR 按钮,这样它就不会显示 FB 图片等非视频文件。

【讨论】:

这可以完美地回答 OP 的问题。谢谢! 要获得高质量的视频,请在抓取链接之前全屏播放视频。 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. 这发生在我身上,现在怎么办? 令人惊讶的是我只抓到了视频没有音频 要合并视频和音频,你可以像这样使用ffmpeg:ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4。参考:superuser.com/a/277667【参考方案4】:

我使用Blob Video Downloader 扩展名。这需要几分钟,但它会打开一个带有下载视频按钮的新标签。我尝试使用 1 分钟的 720p 视频。

【讨论】:

因为视频和音频是分开的,所以不是很有用 我没有这个问题。但是,使用 Windows 10 视频编辑器等免费视频编辑器程序可以轻松添加音频。 你可以使用 ffmpeg【参考方案5】:

对于这种 blob 格式的视频

或 Facebook 提供的其他旨在隐藏下载功能的格式,您可以尝试在不使用 javascript 的情况下加载页面。他们将为您提供兼容的版本,这意味着直接链接

测试工作 11-2020

【讨论】:

2021 年 2 月试用 - 页面现在加载没有任何用处。【参考方案6】:

2021 年 2 月在 Firefox 中运行的另一种替代方案:

打开帖子的永久链接 更改页面的 URL - 将 www 替换为 m 并加载它 现在使用 Inspector 向下导航到包含视频对象的 div - 视频 URL 将是直接链接 将该 URL 复制并粘贴到您的浏览器中,或创建指向该 URL 的锚链接并加载您的链接并右键单击以保存目标。

它以 mp4 格式下载,包括视频和音频。

2021 年 7 月 2 日更新

当我今天按照自己的步骤进行操作时,粘贴 mp4 网址返回了一个页面,并出现以下错误:

错误的 URL 时间戳

但是,我仍然找到了解决方法。

旁注:其中一个包含的 div 的 ID 为 mobile_injected_video_feed_pagelet

Facebook 现在会在您点击播放按钮时注入视频元素。

VIDEO 元素包含您需要的 URL。该 URL 的路径中确实包含“MP4”。

我所做的是:

打开检查器 在视频上点击“播放” 在播放视频时,找到 VIDEO 元素并从 VIDEO 元素中复制 URL 将其粘贴到新标签中 新标签会显示一个较小的视频缩略图 右键单击缩略图并将媒体保存到您的 PC

您必须点击播放,VIDEO 元素才会出现在页面源中。

我使用的是 Firefox,但任何带有检查器的浏览器都可以使用。

【讨论】:

由于某种原因我忘记了这个技巧。仅供参考,它也可以在 Chrome 中运行。谢谢。 谢谢!最简单的解决方案 嗯.. 今天不得不按照我自己的步骤进行操作,现在当我粘贴 MP4 链接时,它返回“错误的 URL 时间戳”。我在页面源代码中找到了 8 个“mp4”实例。我还没有全部测试。我确实注意到其中一个包含 div 的 ID 为“mobile_injected_video_feed_pa​​gelet”——他们可能已经更改了移动方法以防止访问视频文件。需要进一步调查。 ... 并找到了解决方案 - 将其添加到答案本身。简而言之:打开检查器,找到 VIDEO 元素,开始播放视频,然后从该 VIDEO 元素复制 URL。【参考方案7】:

我从不同的答案中收集here 的必要步骤:

    Facebook 会分别下载音频和视频,因此请获取 来自谷歌浏览器检查器的音频链接,右键单击 视频并选择检查,进入检查器,网络选项卡,然后 检查链接,在过滤器区域使用 filter:larger-than:50k 来 选择更大的文件(根据你的长度改变 50k 视频),查看 mp4 或 wav 链接的结果,删除 &bytestart=number_here &byteend =number_here 从末尾 链接,打开并下载音频

    使用相同的方法从 google chrome 检查器获取视频链接 以上步骤,打开链接下载视频

现在为了混合音频和视频,我们需要使用 ffmeg :

    从其网站为您的操作系统下载 ffmpeg 构建,使用此链接

    解压下载的zip文件

    打开你的命令行工具和 cd 到: \下载\ffmpeg-2021-04-28-git-1ab74bc193-full_build\ffmpeg-2021-04-28-git-1ab74bc193-full_build\bin (根据您下载的版本更改)

    假设输入文件在当前文件夹中,输出将是 也在当前文件夹中生成

    使用以下命令将音频和视频与 ffmpeg 混合:.\ffmpeg.exe -i video.ext -i audio.ext -c:v copy -c:a aac output.mp4强>

【讨论】:

以上是关于解码 facebook 的 blob 视频 url的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 视频:使用 Blob URL 的流式视频

如何在python中解码base64 url​​?

了解 blob url 视频流

Python:如何下载 blob url 视频?

html HTML视频播放文件blob对象url

html HTML视频播放文件blob对象url