Skipping parts of a video that contains adult content
I want to watch a video with my family, but it has a few bits of adult content.
Is there any VLC setting or extension that can be used to skip predefined part of a video. Or may be some hack like hex editing the video file and filling that specific part with random bits. I don’t care if the movie goes black for those few seconds.
The one way could be cutting the video file and joining the parts, but that’s time consuming.
If you chop random bytes out the movie is likely not playable. The player might crash or fail to resynchronize the stream – the video might just stop. Plus, you're gonna have a hard time figuring out where the "adult" bytes are, so to speak.
If you already know where the parts are that you want to cut out, I would edit the file in any of the numerous video editors. Even Windows Movie Maker or iMovie would do the job, and those are easily available on both major OSes.
This is a requested feature for VLC. Not really anything user-friendly out there. Still, VLC offers the possibility to create playlists in a certain format that would mute or skip parts of a file. This is called XSPF. You might be able to figure out the proper format for this.
Also, there's movie-content-editor:
A VLC based editor built in python that allows users to create and use custom filter files to make movies more family friendly. Allows users to have the player automatically mute specific words or skip certain scenes based on the content of those scenes.
And sensible-cinema:
Clean Editing Movie Player allows you watch edited movies by applying delete lists (EDL's) (i.e. "mute out" or "cut out" scenes) to DVD's/files, with preliminary support for also applying them to arbitrary web/internet based players like netflix instant, hulu/hulu plus etc
See also these threads on The VideoLAN Forums:
- auto skip unwanted parts of a video
- Clearplay-like (content filter) module exists?
There is a way to do this in VLC, if not too elegant. Load the movie you want, open the playlist, make sure your movie is the only one in the playlist, and use Media -> Save Playlist to File
to create an xspf file. Now you can achieve what you want by playing the with "extension" field. Here is an example:
<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">
<title>Playlist</title>
<trackList>
<track>
<location>file://YOUR MOVIE</location>
<title>Some title</title>
<duration>6884298</duration>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
<vlc:option>start-time=0</vlc:option>
<vlc:option>stop-time=3142</vlc:option>
<vlc:option>some-option=100</vlc:option>
</extension>
</track>
<track>
<location>file://YOUR MOVIE</location>
<title>The Title</title>
<duration>6884298</duration>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>1</vlc:id>
<vlc:option>start-time=3142</vlc:option>
<vlc:option>stop-time=3193</vlc:option>
<vlc:option>no-audio</vlc:option>
<vlc:option>no-video</vlc:option>
<vlc:option>some-option=100</vlc:option>
</extension>
</track>
<track>
<location>file://YOUR MOVIE</location>
<title>The Title</title>
<duration>6884298</duration>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>3</vlc:id>
<vlc:option>start-time=3193</vlc:option>
<vlc:option>some-option=100</vlc:option>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:item tid="0"/>
</extension>
Then save this again as an xspf file and open it with VLC (Media -> Open File
). The example above becomes black between 52:23 and 53:14 (the times are in seconds in the file. 3142 and 3193 seconds). Basically you need to replicate the section and change the section to match the options and desired times.