Videos & Lives

VLC Media Player

sudo apt install -y vlc

Video manipulation (FFmpeg)

Installation

sudo apt install -y ffmpeg

Commands

Plav a video:

ffplay evidence.mpg

Convert a video to MP4:

ffmpeg -i evidence.mpg -vodec mpeg4 -strict -2 evidence. mp4

Extract video frames:

ffmpeg -y -i evidence.mpg -an -r 10 img%03d. bmp

Shorten a video (Low activity:

ffmpe -i evidence.mpg -strict =2 -vf "select=gt (scene\,0.003) , setpts=N/ (25*TB) " evidence. mp4

Shorten a video (High activity):

ffmpeg -i evidence.mpg -strict -2 -vf "select=gt (scene\,0.005) , setpts=N/ (25×TB) " evidence.mp4

Extract audio:

ffmpeg -i evidence.mpg -vn -ac 2 -ar 44100 -ab 320k -f mp3 evidence.mp3

Rotate video:

ffmpeg -i evidence.mpg -vf transpose=0 evidence mp4

Custom video-utilities script

- Script

#!/usr/bin/env bash
zenity --info --text="The next window will prompt you for a local media file." --title="Video Utilities" --width=200
ffmpeg_file=$(zenity --file-selection --title "Video Utilities")
timestamp=$(date +%Y-%m-%d:%H:%M)
opt1="Play a video"
opt2="Convert a video to mp4"
opt3="Extract video frames"
opt4="Shorten a video (Low Activity)"
opt5="Shorten a video (High Activity)"
opt6="Extract audio"
opt7="Rotate video"
ffmpeg=$(zenity  --list  --title "Video Utilities" --radiolist  --column "" --column "" TRUE "$opt1" FALSE "$opt2" FALSE "$opt3" FALSE "$opt4" FALSE "$opt5" FALSE "$opt6" FALSE "$opt7"  --height=400 --width=300)
case $ffmpeg in
$opt1 )
ffplay "$ffmpeg_file"
exit;;
$opt2 )
mkdir ~/Documents/Videos/
ffmpeg -i "$ffmpeg_file" -vcodec mpeg4 -strict -2 ~/Documents/Videos/$timestamp.mp4
open ~/Documents/Videos/
exit;;
$opt3 )
mkdir ~/Documents/Videos/
mkdir ~/Documents/Videos/$timestamp-frames
ffmpeg -y -i "$ffmpeg_file" -an -r 10 ~/Documents/Videos/$timestamp-frames/img%03d.bmp
open ~/Documents/Videos/$timestamp-frames/
exit;;
$opt4 )
mkdir ~/Documents/Videos/
ffmpeg -i "$ffmpeg_file" -strict -2 -vf "select=gt(scene\,0.003),setpts=N/(25*TB)" ~/Documents/Videos/$timestamp-low.mp4
open ~/Documents/Videos/
exit;;
$opt5 )
mkdir ~/Documents/Videos/
ffmpeg -i "$ffmpeg_file" -strict -2 -vf "select=gt(scene\,0.005),setpts=N/(25*TB)" ~/Documents/Videos/$timestamp-high.mp4
open ~/Documents/Videos/
exit;;
$opt6 )
mkdir ~/Documents/Videos/
ffmpeg -i "$ffmpeg_file" -vn -ac 2 -ar 44100 -ab 320k -f mp3 ~/Documents/Videos/$timestamp.mp3 | 
open ~/Documents/Videos/
exit;;
$opt7 )
mkdir ~/Documents/Videos/
ffmpeg -i "$ffmpeg_file" -vf transpose=0 ~/Documents/Videos/$timestamp.mp4
open ~/Documents/Videos/
exit;;esac

- Desktop Shortcut

[Desktop Entry]
Type=Application
Name=Video Utilities Tool     
Categories=Application;OSINT
Exec=/home/osint/Documents/scripts/video-utilities.sh
Icon=/home/osint/Documents/icons/video-utilities.png
Terminal=true

Video Download

youtube_dl

To download a video:

youtube-dl https://youtube.com/watch?example

To download all videos from the Videos Page of an user:

youtube-dl https://youtube.com/user/Example/videos

Additional options:

all-subs (Downloads all closed captioning subtitles associated with the videos)

all-formats (Downloads all versions of a video of any quality)

To download the best quality video up to a resolution of 720p:

youtube-dl https://youtube.com/watch?example -f 'bestvideo[geigh<=720]+bestaudio' --all-subs

yt-dlp

All files downloaded will be in JSON fromat.

To install:

sudo pip install -U yt-dlp

To download all videos from the Videos Page of an user:

yt-dlp https://youtube.com/user/Example/videos

To download comments:

yt-dlp https://youtube.com/watch?example --write-comments

To download subtitles:

yt-dlp https://youtube.com/watch?example --write-subs en

To download metadata:

yt-dlp https://youtube.com/watch?example --write-info-json

To download just data without the video, add: --skip-download

Additional Download Services

- Immediate Download Options

If you have no softwate or browser plugins available here are easier options:

Add "deturl.com/” to the beginning of a YouTube video, example:

https://deturl.com/www.youtube.com/watch?v=t2mUGUSTBRE

You will be presented a new page with many options including the ability to download the video.

Additional options include yout.com, keepvid.com, and y2mate.com.

- Video Closed Captions (downsub.com)

Copy an entire URL of any YouTube video with closed captioning. Paste this link into this website and execute the process. This will display download links for the captioning inside the video.

Custom Video Downloader script

- Script

#!/usr/bin/env bash
opt1="YTDL-Best Quality"
opt2="YTDL-Maximum 720p"
opt3="YTDLP-Best Quality"
opt4="YTDLP-Maximum 720p"
opt5="Export YT Comments"
opt6="Export YT Subtitles"
opt7="Export YT Info"
timestamp=$(date +%Y-%m-%d_%H_%M)
videodownloadmenu=$(zenity  --list  --title "Video Downloader" --radiolist  --column "" --column "" TRUE "$opt1" FALSE "$opt2" FALSE "$opt3" FALSE "$opt4" FALSE "$opt5" FALSE "$opt6" FALSE "$opt7" --height=400 --width=300)
case $videodownloadmenu in
$opt1 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Best Quality" --text "Enter Target URL")
youtube-dl "$url" -o ~/Documents/Videos/Youtube-DL/"$timestamp-%(title)s.%(ext)s" -i --all-subs
open ~/Documents/Videos/Youtube-DL/
exit;;
$opt2 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Maximum 720p" --text "Enter Target URL")
youtube-dl "$url" -o ~/Documents/Videos/Youtube-DL/"$timestamp-%(title)s.%(ext)s" -i -f 'bestvideo[height<=720]+bestaudio' --all-subs
open ~/Documents/Videos/Youtube-DL/
exit;;
$opt3 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Best Quality" --text "Enter Target URL")
yt-dlp $url -o ~/Documents/Videos/Youtube-DL/"$timestamp-%(title)s.%(ext)s" -i --all-subs
open ~/Documents/Videos/Youtube-DL/
exit;;
$opt4 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Maximum 720p" --text "Enter Target URL")
yt-dlp "$url" -o ~/Documents/Videos/Youtube-DL/"$timestamp-%(title)s.%(ext)s" -i -f 'bestvideo[height<=720]+bestaudio' --all-subs
open ~/Documents/Videos/Youtube-DL/
exit;;
$opt5 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Export YT Comments" --text "Enter Target URL")
cd ~/Documents/Videos/Youtube-DL/
yt-dlp "$url" -o ~/Documents/Videos/Youtube-DL/$timestamp-comments --write-comments --skip-download 
open ~/Documents/Videos/Youtube-DL/
exit;;
$opt6 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
cd ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Export YT Subtitles" --text "Enter Target URL")
youtube-dl --all-subs --skip-download --write-auto-sub "$url"
open ~/Documents/Videos/Youtube-DL/
exit;;
$opt7 )
mkdir ~/Documents/Videos/ 
mkdir ~/Documents/Videos/Youtube-DL/
url=$(zenity --entry --title "Export YT Info" --text "Enter Target URL")
cd ~/Documents/Videos/Youtube-DL/
yt-dlp "$url" -o ~/Documents/Videos/Youtube-DL/$timestamp-info --write-comments --skip-download
open ~/Documents/Videos/Youtube-DL/
exit;;
esac

- Desktop Shortcut

[Desktop Entry]
Type=Application
Name=Video Download Tool       
Categories=Application;OSINT
Exec=/home/osint/Documents/scripts/video-download.sh
Icon=/home/osint/Documents/icons/video-download.png
Terminal=true

- Functions

  • Download a video, entire playlist, or channel in the best possible resolution with YouTube-DL.

  • Download a video, entire playlist, or channel in the best resolution up to 720p with YouTube-DL.

  • Download a video, entire playlist, or channel in the best possible resolution with yt-dip.

  • Download a video, entire playlist, or channel in the best resolution up to 720p with jt-dlp.

  • Export all comments from any YouTube page.

  • Export all subtitles from any YouTube page.

  • Export all text information from an YouTube page to a text file.

Streaming Video

- Fragmented Videos

It is very common for websites to present embedded videos which consist of hundreds of small pieces of streaming video. This delivery method can make the download process difficult.

Before playing the video, right-click within your Firefox or Chrome browser and select "Inspect. Click the “Network" tab, then click the play button within the video. You should see numerous connections.

The ".ts" files are small video fragments which are being streamed to your browser.

Instead of targeting the video fragments, we want the "m3u8" file which acts as a playlist for all of the video pieces.

Right-click on this option; highlight "Copy"; and select "Copy URL

Paste this URI into your video download tool.

- Blocked downloads

If you can't still download the video, it may be blocking you from it, so click on the "v.mp4" file within the Inspector menu in my browser and look for the "Referer" field, then:

yt-dlp https://t13.gomoplayer.com/vokfnh4w6alavf4ercyvnw4g6xevr24ybj4eyfwtedjogbrwjupgfk52v2a/v.mp4 --referer https://gomoplayer.com/

We can use the Firefox Extension "Stream Detector", or Streamlink to identify, play and archive live or pre-recorded video streams by simply providing the URL of the website in which it can be viewed.

To install Streamlink:

sudo apt install -y python3-venv

mkdir ~/Downloads/Programs

mkdir ~/Downloads/Programs/Streamlink

cd ~/Downloads/Programs/Streamlink

python3 -m venv streamlinkEnvironment

source streamlinkEnvironment/bin/activate

sudo pip install streamlink

deactivate

To get the best quality version of a live stream:

streamlink https://twitch.tx/shroud best

To capture it to a file:

streamlink https://twitch.tx/shroud best -o shroud-stream

To watch and archive the data in real-time:

streamlink https://twitch.tx/shroud best -r shroud-stream

When the live stream is over, we can convert the archived datra into a standard video:

ffmpeg -i shroud-stream -c copy ~/Videos/shroud-stream.mp4

- Custom Video Stream script

#!/usr/bin/env bash
opt1="Display Live Stream"
opt2="Record Live Stream"
opt3="Play and Record Live Stream"
opt4="Convert Recorded Stream to MP4"
streammenu=$(zenity  --list  --title "Video Stream Tool" --radiolist  --column "" --column "" TRUE "$opt1" FALSE "$opt2" FALSE "$opt3" FALSE "$opt4" --height=400 --width=300) 
case $streammenu in
$opt1 ) 
url=$(zenity --entry --title "Display Live Stream" --text "Enter target URL")
streamlink $url best
exit;;
$opt2 ) 
url=$(zenity --entry --title "Record Live Stream" --text "Enter target URL")
cd ~/Videos
streamlink $url best -o streamdata
open ~/Videos/
exit;;
$opt3 ) 
url=$(zenity --entry --title "Play and Record Live Stream" --text "Enter target URL")
cd ~/Videos
streamlink $url best -r streamdata
open ~/Videos/
exit;;
$opt4 ) 
zenity --info --text="The next window will prompt you for a local file which was previously downloaded." --title="Stream Converter"
file=$(zenity --file-selection --title "Video Stream")
ffmpeg -i $file -c copy ~/Videos/stream.mp4
open ~/Videos/
exit;;esac

- Desktop Shortcut

[Desktop Entry]
Type=Application
Name=Video Stream Tool
Categories=Network;OSINT
Exec=/home/osint/Documents/scripts/video-stream.sh
Icon=/home/osint/Documents/icons/video-stream.png
Terminal=true

YouTube

- Bypass Age and Login Resttiction

As an OSINT investigator, I prefer to not be logged in to any personal or covert account while I am researching.

If you are not logged in to a Google account with a verified age, you should see a warning about mature content. This video cannot be played.

https://www.youtube.com/watch?v=SZqNKAd_gTw

We can now append the beginning of this URL with "nsfw", as follows.

https://www.nsfvyoutube.com/watch?v=SZqNKAd_sTw

- Bypass Commercials with Full Screen

The same URL trick will bypass this annoyance.

http:///www.youtube.com/watch?v=IEIWdEDFIOY

Alter this address slightly in order to force the video to play in full screen:

https://www.youtube.com/embed/IEIWdEDFIOY

- Display Thumbnails of Videos

Using that same video ID, navigate to the following address to view the main still frame.

Ihttps://i.ytimg.com/vi/1nm1jEJmOTQ/hqdefault.jpg

An additional high-resolution image can usually be extracted from this specific video with the following address:

https://i.ytimg.com/vi/Inm1jE]mOTQ/maxresdefault.jpg

Furthermore, we can extract four unique frames with the following URLs:

https://img.youtube.com/vi/Inm1jE]mOTQ/0.jpg

https://img.youtube.com/vi/Inm1jE]mOTQ/1.jpg

https://img.youtube.com/vi/Inm1jEJmOTQ/2.jpg

https://img.youtube.com/vi/Inm1jE]mOTQ/3.jpg

In a moment, out tools will query all of these images for download and reverse image searching.

- Identify and Bypass Country Restriction

After you have identified a video with possible country restrictions, paste the video ID into the following URI. Our video ID is cgEnBkmopuQ.

http://polsy.org.uk/stuff/ytrestrict.cgiPytid=cgEnBkmcpuQ

The result is a page with a world map. Countries in grey are allowed to view the target video while countries in red are not. Another service which replicates this is WatanNetwork:

https://watannetwork.com/tools/blocked/#utl=cEnBkmcpuQ

While I cannot natively play this video due to my location, I can easily view the default and high resolution still frames with the technique described in the previous section.

https://i.ytimg.com/vi/cgEnBkmcpuQ/hqdefault.jpg

https://i.ytimg.com/vi/cgEnBkmcpuQ/maxresdefault.jpg

Use a VPN, identify which countries ate not blocked and select a server in one of those areas.

- YouTube Metadata

In order to confirm that you are retrieving all possible information, you should reseatch the data visible from YouTube's servers. The most comprehensive way to do this is through Google's You Tube API. Any Google account can request a free API key from Google at developers google.com.

API Key Example: AlzaSyDNALbuVIFZSRy6]pafwUaV_taSVV12wZw

We can now use this for the following query based on our target video.

https://www.googleapis.com/youtube/v3/videos?id=cgEnBkmcpuQ&part=snippet,statistics,recordingDetails&key=AIzaSyDNALbuV1FZSRy6JpafwUaV_taSVV12wZw

This presents a text-only view of all metadata associated with the target video.

- YouTube Profiles

To dig deeper into the target account use the following URL:

https://www.youtube.com/feeds/videos.xml?user=SnubsieBoo

This text-only page presented a lot of data, but I am most interested in the Channel ID and the exact date and time the target created his YouTube account.

Through the API Key we can query more detail (including country) using the key and target Channel ID:

https://youtube.googleapis.com/youtube/v3/channels?part=snippet&id=UCNofX8wmS]h7NTkIv.MqueOA&key=AIzaSyDNALbuV1FZSRy6]pafwUaV_taSVV12wZw

Through that output we can also download the high resolution profile image. The URL appears after "High". This links to a high-resolution (800×800) image of the profile picture, which is otherwise only available as a 160x160 icon.

- YouTube Comments

These can be extracted with the Custom Video Downlod Script. However, you can also search through all video comments with an online tool. YouTube Comment Finder (ytcomment. kmcat.uk) allows a query of any term against all comments posted to a video. This is beneficial when a target video possesses thousands of comments which cannot be loaded into a single page.

For this quety in case the YouTube Comment Finder site ever shut down, to do this with through the Google API to extract comments from an example target YouTube ID "2mUGUSTBRE" and searching for the term “MTV”:

https://www.googleapis.com/youtube/v3/commentThreads?part-id,snippet&videold=2mUGUSTBRE&PageToken=&order=Relevance&maxResults=100&searchTerms=MTV&textFormat=-plainText&key-AlzaSyDNALbuV1FZSRy6JpafwUaV_taSVV12wZw

- YouTube Channel Crawler (channelcrawler.com)

Anyone can search YouTube and filter by Channels. Unfortunately, the results place emphasis on the most popular channels. Within an investigation, it is much more likely that your target will not have thousands of views ot followers. Finding these poorly visited channels is quite difficult with official search options.

We can find these lesser-known collections with YouTube Channel Crawler.

- YouTube Unlisted Videos

YouTbe videos can be classifed as "Public", "Privatel, or ''Unlisted”.

Unlisted videos will not appear within search tesults, but they can be seen by anyone possessing the direct URL.

To discover unlisted videos, first, we can conduct a search on Google such as the following:

site:youtube.com "This video is unlisted" intitle:osint

This can be unreliable, as it presents videos which contain "This video is unlisted" within the description provided by the uploader.

I find Unlisted Videos (unlistedvideos.com) to be more reliable. Conduet a keyword search on this site to identifv videos which are unlisted and not present within seatch results.

- YouTube Handles

As an example, the following two links connect to the same content.

The first is a user's page and the second is their handle.

https://www.youtube.com/ambermac

https://www.youtube.com/@ambermac

Google Videos

This will often lead to duplicate videos that have been posted by news websites and social networks. Google can filter these results by duration time, date and time captured, and video source.

These results could either be further filtered with search terms or quickly viewed by still frame to determine relativity to the investigation.

Bing Videos

One good feature is the instant video playback option. This eliminates the need to navigate to each video page.

Bing also offers filtering by length and source. The "select view" toolbar at the top of each search result page will allow you to sort the results by either the best match or the most recent.

Yandex Videos

While Google and Bing are constantly removing videos, which violate their policies associated with violent and inappropriate content, Yandex seems to allow anything.

Yandex Videos should always be queried when researching any video file.

Social Network Videos

Google, Bing, and Yandex index social networks for video pages, but these search engines can never replicate internal queries through popular netwotks such as Twitter, Facebook, Reddit, and others. We should always consider a keyword search directly within these services.

Deleted Videos

Consider the following video which has been removed from YouTube.

https://www.youtube.com/watch?v=9ZmsnTDLykk

The Internet Archive often possesses their own independent copies. We can look for this with the following URL:

https://web.archive.org/web/2oe_/http://wayback-fakeurl.archive.org/yt/97msnTDLykk

You only need to replace your target YouTube video ID.

Reverse Video Searching

Youtube Reverse Video Searching

Download thumbnails and video frames and execute a Reverse Image Search of them.

Vimeo Reverse Video Searching

Consider your target is at https://vimeo.com/99199734. The unique ID of 99199734 is assigned to that video. You can use that number to access the video's API view at https://vimeo.com/api/oembed.jsonPurl=https://vimeo.com/99199734

The portion relevant to this topic is the thumbnail URL:

thumbnail _url "Inttps://i.vimeocdn.com/video/ 513053154_295×166.pg",

Following that description is an exact address of the "medium' image used at the beginning of each Vimeo video. Removing the _ 295x166.jpg" from the end of the URL presents a full size option, such as the following:

https://i.vimeocdn.com/video/513053154

Others

Practically every online video possesses a still image that is displayed to represent the video before being played in search results. This image is likely a direct link that can be seen in the source code. Searching "jpg" and "png" may quickly identify the proper URL.

Internet Archive

archive.org

Selecting "community video" will provide the best results for amateur video. A large number of anti-government and anti-American videos are present and ready for immediate download. Unlike YouTube, this site does not make it easy to identify the user that uploaded the videos.

To do this, you will need to look for some very specific text data. As an example, consider that Internet Archive uset Envet_Awlaki is your target. His video profile is located at http://www.archive.org/details/Enver_Awlaki. One of his video pages is stored at the address of https://archive.org/details/Awlaki_to_americans

Below the video frame in the center of the page are several options on the lower right. These allow you to specify video files with different file types. Below these options is a link titled "Show All". Clicking the link provides a view of the files associated with the video.

The eighth link on this list forwards to the metadata associated with the video. This data includes the title, description, creator, email address used to upload, and the date of upload, as seen in the text below the example.

TV News Archive

archive.org/details/tv

TV News Archive, another part of archive.org, extracts the closed captioning text from each video and provides a search option for this data. This allows you to search for any words verbally stated during these broadcasts in order to quickly locate videos of interest.

Petey Vid

peteyvid.com

Simple video search engine.

Listen Notes

listennotes.com

This is not really a video utility, but fits well in this page.

Listen Notes queries a keyword through millions of audio podcasts and presents any results.

Video Analysis

- Anilyzer (anilyzer.com)

Enter the video URL; select the appropriate provider; and click "Watch Video, you can now click through each still frame or modify the playback speed to fit your needs. I use this tool when I need a quick way to scrutinize a handful of frames, especially with surveillance videos.

IntelTechniques Videos Tool

Automatic video searches through most of the services in this page. Some fields only require a YouTube video ID, while others require

search terms or usernames.

Code at Videos.html.

Broadcast Streams

Live Video Streaming

If you are investigating any live event that is currently occurring, live streaming video sites can be a treasure of useful intelligence.

You may also see Twitter links to these services while monitoring targets:

  • YouTube (youtube.com/live)

  • LiveStream livestream.com)

  • Twitch (twitch.com)

  • LiveU (liveu.tv)

  • YouNow (younow.com)

  • UScreen (uscreen.tv)

Consider the Custom Video Stream Tool.

Live Television News Streams

Consider using Stream Detector.

For example, CBS offers a choice of 24-hour national and local news coverage. A national feed can be found at cbsnews.com.

Look for the first entry of any "m3u8".

IntelTechniques Live Television News Tool possesses live feeds from most major U.S. cities as well as numerous international feeds. Code can be found at Video.html.

Other usefull services:

  • TubiTV (tubitv.com/live)

  • Pluto (pluto.tv/en/live-tv)

  • USTV247 (ustv247.tv)

  • LocalNow (localnow.com/channels)

  • Roku (therokuchannel.roku.com)

Live Commercial Radio

Many live radio streams will be in "m3u8" format. We can rely on HIS Player (hisplayer.org) to play them.

- Radio Browser (www.radio-browser.info).

Begin here a search. This crowd-sourced service attempts to possess direct audio streams for everv radio station in the world.

This database powers many online streaming applications, including Radio Garden (radio garden) and Radio Browser's own map of streams (radio-browser.info/map).

We will use their API in our search tools next.

- IntelTechniques Radio Tool

Query a commercial radio station by search term, call letters, broadeast state, or broadcast country. Other options available.

Code at Radio.html.

Live Web-Controlled Radios

- WebSDR (websdr.org)

It allows you to connect to select analog radios via the internet and control the frequencies to which they are tuned.

- KiwiSDR (kiwisdr.com)

Preferedfor this purpose. We will start at their listing of publicly-accessible radios on their site at kiwisdr.com/public.

Type “xayyyVVVVVzzzzz" any time you connect to a stream.

A map version of all online KiwiSDR receivers is http://rx.linkfanel.net/ which is extremely usefull.

- IntelTechniques Radio Tool

Perform this tasks and play radio automatically.

Code at Radio.html.

Live Web-Controlled Scanners

The receivers in the previous section cover everything from the bottom of the radio spectrum until 30 MHz (30,000 KHz). This will include most traditional radio broadcasts within longwave, AM, and shortwave. They will not receive anything within upper frequencies commonly used for emergency services, aviation, marine, or VHF amateur radio. For those, you would need a "scanner" type of radio, which typically begins at 25 MHz and can reach over 1 GHz.

- Broadcastify (broadcastify.com)

Best option.

Click "Listen" > "Browse Feeds" menu and you can drill down through states and counties to select your area of interest. From there, you rely on the willingness of internet strangers to share their audio feeds to the world.

Every scanner broadcast is recorded at all times. A paid membership provides access to these archives.

A premium membership is $30 annually. This provides commercial-free listening, non-stop streaming; access to archives; custom listening templates; and programming functions through scanner software. The free tier allows. limited streaming with commercials and manual query of frequencies. I know many people who get by with the free version.

Last updated