site
stats

Company Snapshot

NetBootCamp
via The Internet Investigators
Box 34054 San Diego, CA 92163

NetBootcamp is the training program of The Internet Investigators, a CA licensed private investigations firm (#28179) and corporation.

Training is provided onsite and online via webinar desktop sharing for coaching clients.

Facebook Live Map: Video Search

Facebook’s Live Map contains everything you need to find a live stream with one exception: It’s a visual display without a search function.

In my last post, I identified the data that populates the map’s live stream viewer locations. In this post, I’ll look at who is streaming the videos (called “publishers” by Facebook) and introduce a bookmarklet and a search tool I created to display their information: the publisher names, their business categories and locations, plus the descriptions, viewer counts and previews of the videos being streamed. For background and additional queries, check out Part II of my Facebook Search series covering Post, Photos, and Videos.

 

The Problem with Facebook Search

When I need to find a person, place or video on Facebook, my natural inclination is to search for it using  Facebook Graph Search. It’s the logical direction to take, except when the thing you’re looking for is a live stream video. And, that’s because live stream search doesn’t exists.

Part of the problem is that Facebook does not have a query language that distinguishes between “live streams” and “videos.” They’re actually two different things.

Live streams are real-time broadcasts. They are delivered in chunks that Facebook assembles in the video player. When the broadcast ends, Facebook assembles and converts the chunks into a physical mp4 file. That’s the file that you can download or play back after the stream ends.

Facebook Graph knows how to find videos and connect them to profiles, locations and dates. The problem is we don’t have the same type of query language for video streams. We can try to make Graph work, but we’ll get a lot of search results that don’t match our intention. Let’s illustrate this by targeting videos in different ways.

We learn about videos, live streams and photos through posts. If we focus our search on posts that are “live” or dated “today,” we get all of these things combined together.

Live posts with the Keyword “New”
FB.com/search/str/news/stories-keyword/stories-live/intersect/

Posts dated Today with the Keywords “Live” “News” 
FB.com/search/str/live+news/stories-keyword/stories-news/today/date/stories/intersect/

Hashtags are sometimes found within posts and video descriptions, but they are even less reliable for live search because they aren’t filtered by date

Hashtags for “News”
FB.com/hashtag/news/

Facebook search works best when you’re looking for Objects that were created to make connections like Profiles, Places, Photos, Videos and Dates. Facebook doesn’t have an Object named Live Stream, so we actually have better luck using search to find them in their past tense: as completed Videos.

Videos by a user with the keywords “was live”
FB.com/search/str/was+live/videos-keyword/4/videos-by/intersect/

Videos in a location with the keywords “live”
FB.com/search/str/live/videos-keyword/110970792260960/videos-in/intersect/

 

The Problem with Facebook Live Map

Facebook’s Live Map is clearly built from data. We just have to figure out how we can search it.

When we look at the map, we see dots representing the profiles of video publishers. When we hover over a publisher, we see details: the name of the video publisher, their business category if it’s a page, the current number of viewers, a preview of the video and its current duration.

Facebook Live Map

 

Live Map is visually interesting, but it’s not practical when your goal is to find publishers or content. There are too many dots to inspect and it’s difficult to select dots located within a highly populated area or the site of a breaking event.

That’s why we want to use this same data to build a different display like a list. With it, we can search and find streams by keywords, publisher names, hashtags, and locations. To do this, we just need to find the URLs that populate the map with this information.

 

How to View Facebook Live Video Details

Facebook continually updates and builds the video publisher display on Live Map through three URLs. I’ll refer to them by their labels: Level 0, Level 1, and Level 2.

Facebook Live Map Video Publisher URL

To view a Level 0-2 URL, you will need to begin on the Facebook domain with an active login. You’ll add your Facebook ID  to one of the URLs below, press enter and that’s it. You’re viewing the data for a batch of publisher streams.

Level 0
FB.com//ajax/livemap/map/data/?level=0&video_count=500&dpr=1&__user=USERID&__a=1&

Level 1
FB.com/ajax/livemap/map/data/?level=1&video_count=500&dpr=1&__user=USERID&__a=1&

Level 2
FB.com/ajax/livemap/map/data/?level=2&video_count=500&dpr=1&__user=USERID&__a=1&

 

Note: I’ve increased the video count number in the URL from 400 to 500 so that I can capture a couple extra streams. The largest number of streams I’ve seen displayed in a batch so far is 417.

The publisher data changes each time you refresh your browser. The publisher that was at the top of the page will drop down a notch or two as other streams appear above it. These streams can be newer or older than the publisher they displaced. Their viewer counts will also vary. There’s no real pattern here. Just three different batches of publisher data managed on three URLs.

Try copying and placing the data into a JavaScript beautifier. This will organize your view and you’ll begin to see each publisher and the fields detailing their stream, just like the image shown below. We can use these fields to create our new display.

Facebook Live Video Publisher Data

These fields include:

  • “name” –  Video publisher’s Profile or Page name
  • “startTime” – Video start time in epoch or machine time
  • “previewImage” – Video thumbnail image
  • “viewerCount” – Current viewer count
  • “publisherCategory” – Primary category assigned to the Page
    This is “null” for personal Profiles
  • “videoID” – Unique ID – Also used in links, i.e. FB.com/VIDEOID
  • “message” Post or video description
  • Hashtags
  • “url” – Publisher’s video URL
  • “lat” “long” – Publisher’s location from their “About” page

 

Note: As with viewer locations, the publisher’s Lat/Long coordinates are obtained from the residences or business addresses listed on their About page, or by tagging the location like a visitor check-in. There are instances where this will be misleading. For example, a Peruvian publisher will appear to be streaming from Los Angeles on a Facebook Live Map if their profile, page or check-in is set to that location.

 

Facebook Live Stream bookmarklet

Displaying this data is relatively straightforward. The easiest way to do this is to create a JavaScript bookmarklet that extracts the data from the URL and displays it as an HTML table on top of a Facebook page. To keep it simple, I’ll use separate bookmarks for the three different Levels.

The script to generate this display already exists thanks to a Facebook typeahead bookmarklet created by @jkeesh and @karmiphuc. I’ve simply inserted our Live Map field names in place of the fields from their tool which, by the way, provides a great insight into what you search and how Facebook ranks it in your search suggestions.

Facebook Live Search Bookmarklet

My modification of the typeahead bookmarklet, as well as the Facebook Live bookmarklets, is available here on NetBootCamp.org. You can see a display from the Facebook Live bookmarklet above listing the publishers, their page categories, the stream descriptions and their locations. I’m still working on features that include video image previews, links to download the videos, and maps to the publisher locations. I’d look forward to sharing your improvements, as well.

You’ll also find a comprehensive set of Facebook Live and Video queries in my book Facebook Search on Amazon.com.

 

Preserving and Downloading Facebook Live Videos

Live streams are fleeting. You’ll never know how long it’s going to last or whether the video will be saved at the end of the broadcast. That may encourage you to preserve the video data as you see it.

Live streaming delivers videos in chunks. Facebook assembles and converts the chunks into an mp4 format once the stream ends.  You can view the stream in progress and the subsequent mp4 file link through the URL below, provided the publisher doesn’t delete it.

Live Video Stream and Download Link
FB.com/video/video_data/?video_id=VIDEOID

You can get the VideoID using a NetBootCamp bookmarklet or you can “join” the stream by selecting the hyperlinked duration time. This will redirect you to a URL constructed like the one shown below. Just note that the video publisher will be able to see your profile name when you join.

FB.com/PUBLISHER/videos/VIDEOID

The VideoID is the key to many things. You can use it to find the publisher’s profile and the page that will ultimately host the video by placing the ID in a URL next to FB.com.

FB.com/VideoID
FB.com/10102776370897261

Now that you’ve found a live stream and its publisher, let’s say you want to preserve the video stream as evidence. Live stream preservation is a complicated process. It requires practice and some set up if you’re doing this manually. We’ll cover this in more detail in a future post.

 

Summary
Get the most out of Facebook Live. Experiment with the Live Map URLs to explore and monitor streams by keywords, publishers, categories and locations.

Tools: Facebook Bookmarklets | Facebook Live Search Tool

By | 2017-09-12T12:36:29+00:00 August 7th, 2016|OSINT blog, Social Network Investigations|Comments Off on Facebook Live Map: Video Search