Skip to main content

Technical: Web Streaming Intro Detection

TorBox's Web Player can detect and skip intros, a feature not found anywhere else!

TorBox's Web Player, among other things, is leading the industry with many new features, one of which being intro detection and skipping. A feature usually only found on multi-billion dollar streaming companies, or expensive proprietary features on media servers, TorBox introduces intro detection and intro skipping as a free feature available for anyone on our paid plans.

How to use it

Every file that you stream is checked for an intro, there is no additional action you need to take. This does mean that in most cases, your first watch will not have the intro detected yet, but if you have multiple files to watch, it will show up later. You can also come back later and watch the media to get the intro skipped.

A button will simply show up in the bottom right, clicking it (or using the "s" key) will skip the intro to 5 seconds before the known ending timestamp.

Intros are also saved in our database and shared between all users. If someone previously played a file that has an identified title, season (and optionally episode) with an intro already detected, TorBox will use these timestamps already created.

The Caveats

  • Intros are not skippable anywhere else but in the TorBox Web Player. 3rd party developers have access to the intro information, but must implement it into their own players if they require the feature.

  • There is processing time, in most cases, your video will not already have the intro detected from previous users, so you will have to wait for the system to process your video file, and detect the intro.

  • It can be inaccurate. These intros in some cases are detected by methods not as reliable as chapter detection, Plex intro detection, or other industry standard detection methods.

    • We are going to eventually allow users to be able to submit their own timestamps, as well as report bad timestamps, such as found with Sponsorblock.

The Technical

This is the interesting technical side of the feature if you are interested (or our competitors want to copy us).

We use 3 different detection methods. These methods each have their strengths and weaknesses, but combining the 3 together provides an undeniable reliability which is on par with what you see on already accepted software.

  1. The first method is chapter detection. Some media files have embedded "chapter" segments, which tell the video player chunks of a video that should have a label, essentially. We read these chapters, and if any of them have a label such as "Intro", "Opening", "OP", etc, we mark down the times and continue with the other 2 detection methods.

    1. This is by far the most reliable detection method, as this was done by a human, who set the exact timestamps of the intro.

  2. The next method is silence detection. In between the intro section and the actual content of the media file, there is usually a few hundred milliseconds to a few seconds of complete silence. Checking for this silence within a set section of the video allows us to get a good estimate on where the intro ends.

    1. The caveat here, is we don't really know where the intro begins, meaning that skipping this intro always starts from the beginning of the video, possibly cutting off recaps, or content that may play before the intro. It is expected that the user use common sense in these situations, and only skip if they are okay with missing a small portion of the video.

  3. The final method is black detection. Also inbetween the intro section and the actual content of the media file, there is usually a few hundred milliseconds to a few seconds of complete black. This is not always the case, and is somewhat rare, but does happen. This is the least reliable detection method, but is common enough to keep as a method. This is only used if the other 2 have no returned any viable timestamps.

There is another method which is commonly used in Plex for example, which is called Chromaprinting or audio fingerprinting. The idea behind this method, is multiple media files from the same set of files, will have the same audio for the intro. Finding the audio for the intro, and attempting to check if that same audio is present in the other files, will give you a reliable and very accurate set of timestamps that can be used for intro detection. This is possible for use in TorBox, but as of currently, the way we get files onto the transcoding servers, makes this very difficult to do effeciently, but this is by far the most accurate way to find the intro. The combination of all of the above 3 should give good results regardless.

Did this answer your question?