Decoding facebook's blob video url - facebook

I found blob:https://www.facebook.com/c7e5a634-2343-4464-a03e-4a1987301ca1 video source on Facebook's private group and I really can't download the video by entering the url nor am I able to decode. Is there any way to decode this?
<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>

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.
In Google Chrome, go to Facebook.
Open the Chrome Developer Tools (F12).
Go to the Network tab in the Developer Tools (it's at the top of the Developer Tools window)
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.
Right click one of those strings, then go Copy>Copy link address
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
Open the modified link, right click the video inside and select "Save video 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.

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).
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"
paste that address into another tab and replace the www with m e.g. https://m.facebook.com/MusicIsMagico/videos/2645908645633407/?t=0
play the video, while it's playing open the dev tools and go to the elements tab
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.
https://video.fmel5-1.fna.fbcdn.net/v/t42.9040-2/10000000_1804934796220974_2070197824632389632_n.mp4?_nc_cat=1&efg=eyJ2ZW5jb2RlX3RhZyI6InN2ZV9zZCJ9&oh=785f223b80388c820f79b9a49c1dfc39&oe=5B73B10B
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

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.

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.

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
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
Tested working 11-2020

I assemble here the necessary steps from the different answers :
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
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 :
Download ffmpeg build for your OS from its website, use this link
Extract the downloaded zip file
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)
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

Related

how to play youtube videos in flutter

I'm trying to play YouTube Videos in my Flutter Web Application, but with the default VideoPlayer you need the YouTube src path (...googlevideos.com/...), which I couldn't get right.
I did some google research and I found the following packages:
https://pub.dev/packages/youtube_player_flutter
https://pub.dev/packages/chewie
But both of them won't play direct YouTube links, and the first one isn't supported for Flutter-Web.
Does anyone have experience with this topic or knows how to get the YouTube source links (for example with an API) ?
Did you try this package: youtube_player_iframe: ^2.3.0
find it here https://pub.dev/packages/youtube_player_iframe
EDIT1: YouTube seems to shuffle the source video file url every day, so using the source file url is not a viable solution. Another option is to add the video to your project locally and add an overlay "YouTube" button on top of the video and when the user taps it he is taken to the video on YouTube. Downside to using asset video though is the fact that you are unable to adjust the progress bar (at least in version 2.4.5).
You can use the official video_player package and get the source file path to YouTube video file by using VLC media player by following these steps:
Find a video on YouTube and copy the URL from the address bar.
In VLC, head to Media > Open Network Stream.
Paste the YouTube link in the box and click Play.
Under Tools, click Codec Information.
In the box that says Location, right-click the block of text and click Select All. This is the url to your local video file.
These steps are almost a copy / paste found from here: How to obtain the direct link to a YouTube video file
You can also use the youtube_player_iframe package, but note that if you hover on top of the video when using that player, you are unable to scroll your content and there seems to be no workaround as discussed in here: Mouse scroll stuck while cursor is on top of youtube_player_iframe. That's the only reason why I decided to use the official video player package.

What is the radio stream url?

Back from holidays I'm trying to find out the stream url of TRT Türkü to be able to play it on my mobile device, also when its not in an open tab.
Normally I can locate a playlist xml, but not here?
Found it: http://trtcanlifm-lh.akamaihd.net/i/TRTTURKU_1#182246/master.m3u8
(it was in the source of another page)

Download streaming video - Tried lot of options

I am trying to download an online streaming video and tried a lots of websites like keepvid.com, savevid.com, clipconverter.cc file2hd.com and lots more. I tried few players too like osflv FlowPlayer Gnash OS Player etc I tried some chrome and firefox extensions like Video Download helper etc but I am unable to download.
I found few options where the live stream gets recorded and then it is downloaded but due to poor internet connection, the recorded stream quality is not good. Can someone suggest what can i use to download this video? The link asks to login, just cancel the popup without logging in, you will still get access to the video in the link below.
http://www.topperlearning.com/study/icse/class-6/physics/video-lessons/measurement/2008/b110c5s4e5ch2718
it is some kind of CDN or cloud or some protocol like that. I found this in my research but I am not sure.
EDIT
Ok I got a way to download it but its kind of tedious. This is what I have tried.
Open Firefox
Type the above url and press enter (dont play the video) From the
Top-Right menu, click on Developer and then click Network
Ctrl+Shift+Q is the shortcut for above
Now play the video
In the box below, you will see some activity
Now look at the "Type" column. You will see few rows where the type
is "mp2t" These are the videos that gets segregated in bits and
pieces.
If you right click the row and click on open in new tab, it gives
you an option to download
To see all the videos together, you can select "Media" from the bottom bar.
Now the issue is : How to install all the bits together and how to assemble them in one full video.
You know that kind of question isn't really for this site...
Anyhow - all the services you have tried are specifically designed to work with a stream that's already going on in the web as it were, the best way to do this would be to connect the stream to a program on your machine, rather than a browser.
I'd use VLC, connect the stream with the direct URL i.e http://someaddress/thestream.media_extension, VLC allows you to record playback to a file, so simply leave it to playback and record it.

How to see a video through Flash?

I can see this video through VLC: http://webtv.camera.it/cartelloaula.asx
But I want to see it through Flash. Is it possible?
If yes, how?
It can be played in Flash. Here's a tutorial from Adobe:
http://www.adobe.com/devnet/flash/learning_guide/video/part04.html
Modified steps from the article for your specific situation:
Select File > Import > Import video. The Import Video Wizard is displayed.
Select "Already deployed to a web server" and enter the URL.
Click "Next".
Choose the skin you like and "Next"
Click "Finish"
Note that this is not streaming video. This is just a plain old progressive download video. Streaming involves using a server component that sends video packets requested by the client and can provide server side seek and pause functionality among other features. When you just load a video onto a web server, the video is downloaded like any other asset (like an image), and played by the client.

Downloading Video on iPhone using SDK

I would like to develop such iphone application that provides functionality to download viedo. i am doing some as below
1) Loading HTML content on web view
2) The loaded html content contains the video link (i.e http://test.com/test.mp4")
3) When i click on that it will play the video in native player.
4) but i would like to prevent this thing and start downloading video from that URL
for example, if i click on link it should not open native video player, it should start downloading from that url and store somewhere on iphone (i.e document directory)
is there any solution for same?
Thanks
Vivek
You should use UIWebViewDelegates webView:shouldStartLoadWithRequest:navigationType: method to decide whether or not to load a URL.
You can check the request, and perform some logic, for instance, checking if the URL's suffix is 'mp4' and if so, do something other than load the request in the webview.
You can intercept the mp4 urls, and then hand them off to another method in your controller that will kick off an NSURLRequest to download the video data.
Once you have the video data, you can write it to the documents directory.