The Full Wiki

Stream recorder: Wikis

  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Stream recorder, also called a stream ripper, is a computer program capable of saving a data stream – particularly streaming media such as encoded music or video – to a file, instead of playing it right away. The process is sometimes referred to as destreaming.

Contents

Approaches

There are different approaches that are used by the software to make the recording, depending on which stage of the process one taps into. In order, they are:

URL snooping

In some cases, it is possible to download the stream as a file, by going to the right address.

Simplest is if the stream is served by simply requesting it, just as web pages are, as in an HTTP GET request: this will directly copy the encoded, streamed file.

In this case, one simply needs to determine the URL, and then download that, either by pasting it into one's web browser (location box or "Open location..."), or via a specialized download manager.

Implementations of this approach include:

  • URL Snooper
  • Coojah
  • Grab++
  • In Adblock Plus, the list of blockable content includes requested URLs
  • Various websites.

Encoded capture

Some streaming is not via a simple HTTP request to an URL – in this case, to capture the stream requires some understanding and implementation of the particular streaming protocol (the encoded media stream is encapsulated within a network stream), either:

passively / offline
capturing the actual traffic and extracting it (via deep packet capture, using a packet sniffer), or
actively / online
implementing the streaming protocol / program enough to request the encoded data.

This can vary greatly in difficulty. If the protocol is not public, or there are various access controls or digital rights management implemented, this can involve substantial reverse engineering. Alternatively, one can hack an existing client to use the existing streaming extraction, and direct it to save the encoded stream, rather than decoding it. In any case, there may be legal issues, depending on jurisdiction.

Adobe's RTMP (Real Time Messaging Protocol) is an example of a proprietary protocol for which no full public implementations exist. Thus capturing media encapsulated in RTMP streams is more difficult than from HTTP streams. Nowadays there are more than a dozen of programs that can download and capture RTMP streams, they are available for Windows, Linux and Mac OS.

Implementing a custom client program to perform the request is generally difficult. It requires significant reverse-engineering of the request protocol, which may require decryption. However, if the hosted media is not available via a standard protocol (such as HTTP), this may be the only way to capture the stream.

Decoded capture

An approach that is used that gets around that problem is to record the decoded information at the end level, such as the information that is being passed to the video and sound card of the computer.

This is essentially capturing what you are watching or listening to directly from the screen, and could be likened to recording off the air with a microphone – it is analogous to the analog hole.

This solution makes it possible to record anything that you are able to view or listen to, regardless of original format or protection, though it suffers from a loss in quality (digital generation loss) due to re-encoding.

Indeed, as a last measure (if one does not control the platform, as in some implementation of digital rights management, such as Trusted Computing), one can in fact exploit the analog hole and use an analog recorder (video camera or microphone), though this suffers most from quality degradation.

Evaluation

In terms of functionality, software varies largely in which formats it can record and in what quality:

  • URL Snooping is high-quality and easy, but not always available.
  • Encoded capture is high-quality and can always ultimately be done, but is often very difficult and software is unavailable.
  • Decoded capture is general-purpose, but lowest quality.

See also

Stream recording software

Stream URL finding software

References

External links








Got something to say? Make a comment.
Your name
Your email address
Message