stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
9.29k stars 794 forks source link

Strip intros from videos #172

Open ueaslsef opened 5 years ago

ueaslsef commented 5 years ago

In #155 @Leopere mentioned "FFMPEG Perceptual Fingerprinting".

After reading https://americanarchivepb.wordpress.com/2017/04/20/adventures-in-perceptual-hashing/ I thought: Couldn't we use this to remove intros from the videos?

This could be done by hashing the first 30 seconds in 1 second steps and comparing it to a databse of already hashed intros.

There does arise a problem here: Do we edit the video and therefore change it's hash or can we do the netflix thing and just skip the intro by default?

Leopere commented 5 years ago

[Skip Intro] would be a wonderful feature but sounds pretty far down the road if someone doesn't already know how to do this.

WithoutPants commented 5 years ago

I don't know how many variations of intros there are, but this might be better achieved with a studio-specific setting. Implementing a database of hashed intros to skip them seems a little over-engineered.

BonerFide commented 4 years ago

Rather than edit the video there's two ways to implement this which I've done in other projects. 1 - Have a 'start time' as a field in the video and just skip everything before there. 2 - Have a tag/bookmark which is a signal to the player to skip everything during that tag start/end. Obviously both are manual for a video, but you can potentially make a script to say skip the first 5 seconds of every video from this studio.

Can also be used to skip preambles / boring bits.

Leopere commented 4 years ago

Having a reliable time skip system rather than a strip function would be incredible because then you could have an option where you can potentially "watch together" with someone else over the internet.

We can label it "fap2gether"

I also agree with @BonerFide wherein we don't modify your libraries' files themselves but just add meta and react to said meta.