VideoSkip player released

With so many people staying at home these days due to the coronavirus pandemic, some are running out of movies to watch. Or, to put it another way, the movies that they or their children still haven’t watched contain objectionable material that they’d rather not see. This is why I have created the VideoSkip player, a browser app that gives users full control over what is shown or heard. The version just released works with videos that have been downloaded locally, and I’ve started work on an extension that will do the same with streaming content from any source. Here’s the link to the player:

If you want to contribute to its development, here’s the GitHub page:

This little app uses the same categories as the “Parents Guide” section of It can skip sections entirely, or simply mute the sound or blank the video, at your discretion.

Step by step:

  1. Load the video from a local file using the “Load video” button. Because the video must be playable in a browser, it can take .mp4, .ogg, and .webm formats. You can save videos from streaming sources in these formats, rip a disc using software, or convert video files into these formats from a different format (more information below).
  2. Optionally, load a file containing subtitles using the “Load subtitles”. Subtitles must be in .vtt format. They may show as “English” but never mind.
  3. Toggle the category filters using the checkboxes below the video frame. A check means that the filter is on and content labeled accordingly will be skipped or blanked out. Otherwise it will be shown.
  4. If you have a file containing the skips, you can load it now with the “Load skip file” button. Once loaded, its contents will appear in the box. Each skip consists of beginning and end times relative to the start of the video, with an arrow between them, and on the line below a category plus maybe a handling label (such as “video” or “audio”).
  5. If you want to change something in the list of skips, go right ahead. There’s a button to insert the current time on the video (the video itself has a scroll bar to get there), and a correctly formatted “arrow” if you feel lazy. There’s also a button to save your edited skip list.
  6. Click the play button on the video, and maybe the fullscreen button, sit back, and enjoy. Skips will take place when their time arrives.

Getting the video files:

  • If you are using a streaming service, these often allow you to pre-download the complete video in order to avoid stuttering on low-bandwidth connections. YouTube and Vimeo videos are very easy to get this way (Google it), but other services may use copy-protection schemes that will need to be removed before you can use the file.
  • If the video is in a DVD or BlueRay disc that your own, there are excellent programs that will extract the data into whatever format you choose. My current favorite is Handbrake, available for Windows and for Mac.
  • Or you may have an old avi, mkv, or some other format. Handbrake can also convert the file from those formats into mp4. A feature film may take an hour of processing. There are online converters as well, but they usually limit how much processing you can do in one day.
  • Another way to get them is by sharing with others, via BitTorrent or similar protocol. Be advised that this is not always legal.
  • Subtitle files in .srt format are very easy to find online, but this app takes .vtt format. No problem, because conversion is quick and easy using an online utility like this one.

Making your own skips:

  • As mentioned above, inserting new skips is as easy as scrolling to the point where the skip/mute/blank is supposed to begin, clicking the “Insert time” button on a new line, then the “Insert arrow” button, scrolling to the point where the skip is to end, clicking the “Insert time” button once more, and then going to the next line and writing a content and (optionally) handling label.
  • Content labels are case-insensitive. They consist of any word (actually, the first three letters are enough) of the IMDB categories, which are displayed next to the checkboxes, such as “sex”, “nudity”, “gore”, “drugs”, etc. Handling labels are these words: “audio”, “sound”, “video”, “image” (or the first three letters of each, including “img”) also case-insensitive.
  • The “audio” or “sound” keywords will cause the sound to be muted during the given interval while the video is still shown, rather than skipping the section entirely, which might be useful for removing profanity. The “video” and “image” keywords cause the image to blank out while the sound still plays, which might be useful for instances of nudity, etc. No handling keyword means that the section will be completely skipped.
  • Everything is editable in the box. Use this to fine-tune timings. For instance, words to be muted typically take a lot less than a second.
  • The Insert buttons put things always at the end of the list. You may want to cut and paste text in order to put skips in the correct order. In any case, skips will be made at the right times even though they are not in sequence on the list.
  • The Save button will save your list in text format in your default Download folder. You will have to move it from there to the folder where you want it.

Sample skip, which will cause the screen to blank out from 14 minutes, 8.27 seconds from the start of the movie until 14 minutes, 14 seconds, while the sound still plays, if “Sex and Nudity” is checked:

0:14:08.27 –> 0:14:14
nude image

This legal notice is in the Help page, and explains how using this app is perfectly legal:

Content copyright owners and distributors are hereby informed that users and developers of this software are exercising their right of free speech, guaranteed by law in many nations, by voluntarily refraining from seeing or hearing content without modifying said content in any way. Legal action that ignores this notice will be considered harassment and infringement of basic rights, and prosecuted according to the law.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.