<p>If the clips both have the same audio track, you can use audio fingerprinting techniques to identify them. Apart from that, OpenCV can do similarity checks on video: <a href="http://docs.opencv.org/2.4/doc/tutorials/highgui/video-input-psnr-ssim/video-input-psnr-ssim.html" rel="nofollow">http://docs.opencv.org/2.4/doc/tutorials/highgui/video-input-psnr-ssim/video-input-psnr-ssim.html</a></p>

<p>And BTW. if using the audio fingerprinting method, as you can see with Shazam or musicbrainz.org seems to be managable from the amount of data.</p>

CC BY-SA 3.0
2016-03-14T02:39:26.827Z
2016-03-14T17:38:01.027Z
2016-03-14T17:38:01.027Z
Hans Meiser
<p>If you can figure that out, sell it to youtube or google... what you are talking about is a MASSIVE database of all the movies ever to exist and some sort of algorithm that can categorize and sort those millions, maybe billions, of terabytes of data in a fast and efficient way to compare them with a random user inputted movie scene. This is much like what youtube currently does with their copyright protection system, however on a much more data rich scale.</p>

<p>If online content providers had this 'software' there would be far less pirated content.</p>

<p><strong>So the answer to your question is, there is no easy way of doing this, nor is there a program that exists that does this.</strong></p>

CC BY-SA 3.0
2016-03-14T02:42:26.970Z
YouTube does that! I uploaded an excerpt of newsagency footage for the students of a workshop I did and YouTube detected it was from a copyrighted source and asked me if I wanted to proceed (with informing the copyright owner).
Hans Meiser
CC BY-SA 3.0
2016-03-15T12:04:46.063Z
youtube does it on the basis of audio, not video, two very different things, and it would only work with footage that has ALREADY been uploaded to youtube and thus has a unique track fingerprint. moreover, this is also the case with stock audio as alot of stock websites upload their stuff to youtube's content management so that they can make sure its being used with licenses.
Alex
CC BY-SA 3.0
2016-03-15T12:14:09.720Z
So what, using the audio clip to match videos is one solution for the problem of the original question posted here... As the author says, he has thousands of clips and thousands of videos, so I think you are assuming things the OP wants to do which he never mentioned.
Hans Meiser
CC BY-SA 3.0
2016-03-15T12:16:34.930Z
And BTW, video fingerprinting also exists and IS used already. https://en.m.wikipedia.org/wiki/Digital_video_fingerprinting
Hans Meiser
CC BY-SA 3.0
2016-03-15T12:26:22.400Z
First off, youtube doesnt have an open api to connect to the content management. OP is assuming thousands of examples, and undoubtedly few are posted on youtube (legally/without being taken down). Sure you could use audio fingerprinting but it doesn't change the fact that you need a huge and complete database as well as terbytes of storage for fingerprint comparators. Secondly, you mention video fingerprinting exists when it primarily exists as a marker/header/hash in the file (which can be stripped, and usually is when uploaded online).
Alex
CC BY-SA 3.0
2016-03-15T12:26:25.697Z
I refer you to this part in the wiki doc "when employing hash methods, a comparison for absolute equality may fail even when two video segments are perceptually identical."
Alex
CC BY-SA 3.0
2016-03-15T12:28:19.223Z
My point being is an actually all encompassing program to do this does not tentatively exist, and would be incredibly costly to both create and manage. Not to mention the algorithms to do a true analysis would take immense amount of time (frame analysis).
Alex
CC BY-SA 3.0
2016-03-15T12:41:25.087Z
Unless you have investigated this issue before, I wouldnt jump to conclusions. First off, OpenCV is a library that deals with these kind of tasks specifically. It has bindings to all major programming languages. Second, I didn't say he should use any YouTube api to fingerprint his videos, I just mentioned that YouTube is comparing uploaded clips against already existing content. If you actually _Know_ they are using audio fingerprinting, then yeah, that's one way to do it. He didnt mention he is using videos without audio, did he? Also he never mentioned any scale of the project, maybe it's no
Hans Meiser
CC BY-SA 3.0
2016-03-15T12:42:23.950Z
Problem for him to supply petabytes of data storage, at least I didn't read that in his question so I still think you are making a lot assumptions on what exactly he wants to do.
Hans Meiser
CC BY-SA 3.0
2016-03-15T12:49:50.657Z
And one last thing, you are also jumping to conclusions in terms of video fingerprinting... Quote from Wikipedia: Video fingerprinting analysis may be based on any number of visual video features including, but not limited to, key frame analysis, color, and motion changes during a video sequence.
Hans Meiser
CC BY-SA 3.0
2016-03-15T13:27:59.310Z
I'm not jumping to conclusions if you read my last comment that should be apparent. Further, YouTube does infact use audio to match clips, and this is mainly for the reason that is more efficent. You seem yo be just throwing wikipedia information out there without any context ... I also code so I have a general idea about these things. With that being said yes I am making assumptions based on what op wants to achieve. However the fact of the matter is their is no open source methodology of doing this on the scale he wants to do it in. Which was my point.
Alex
CC BY-SA 3.0
2016-03-15T13:33:09.197Z
Yes, there may be no ready to use software for his specific task. But there is a ready to use machine vision library, which can do exactly what he wants. It is highly optimized and what do we know: maybe he can code himself, maybe he has some brilliant coder on his team? Maybe even he has a lot of money to achieve the task stated in his question! That's what I mean by assumptions. If he is a guy with an outdated PC and no coding skills, all your assumptions are true but I doubt that is the case or he wouldn't have "thousands of clips and films" to process, as he stated in his question.
Hans Meiser
CC BY-SA 3.0
2016-03-15T13:39:02.233Z
Well if he did have a group of capable coders he wouldn't be asking such a question here and would have most likely provided more of a targeted question. Also the SDK you posted was for motion estimation so teaching machines a ball is a ball ... Hardly could handle something as complex as scenes.
Alex
CC BY-SA 3.0
2016-03-15T13:45:45.443Z
I don't understand your problem, some examples from the about of OpenCV: These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc.
Hans Meiser
CC BY-SA 3.0
2016-03-15T13:46:54.507Z
The library has 2500 thousand algorithms and is extended all the time.
Hans Meiser
CC BY-SA 3.0
2016-03-15T13:49:39.523Z
You can even download a finished progran if scene detection is what you want to base your fingerprinting on: https://github.com/Breakthrough/PySceneDetect
Hans Meiser
CC BY-SA 3.0
2016-02-13T01:56:48.320Z
2016-02-13T01:56:48.320Z
Alex
<p>I want to check is there any way to compare portion of video(video clip) with full video?
for example: if i have a particular video of scene in a movie and full movie video, how to check whether these clip belongs to that movie. if i have thousands of clips and thousands full movies, how can i find which clip belongs to which full video.</p>

<video>
How to find clip of video belongs to full video?
Pavi
# How to find clip of video belongs to full video?

(Asked by: username_0 on 2014-11-25)

I want to check is there any way to compare portion of video(video clip) with full video?
for example: if i have a particular video of scene in a movie and full movie video, how to check whether these clip belongs to that movie. if i have thousands of clips and thousands full movies, how can i find which clip belongs to which full video.

**Tags:** video


---

## 2 answers

### Answer by username_1 on 2016-03-14. Score: 1

If the clips both have the same audio track, you can use audio fingerprinting techniques to identify them. Apart from that, OpenCV can do similarity checks on video: <http://docs.opencv.org/2.4/doc/tutorials/highgui/video-input-psnr-ssim/video-input-psnr-ssim.html>

And BTW. if using the audio fingerprinting method, as you can see with Shazam or musicbrainz.org seems to be managable from the amount of data.


---

### Answer by username_2 on 2016-02-13. Score: 0

If you can figure that out, sell it to youtube or google... what you are talking about is a MASSIVE database of all the movies ever to exist and some sort of algorithm that can categorize and sort those millions, maybe billions, of terabytes of data in a fast and efficient way to compare them with a random user inputted movie scene. This is much like what youtube currently does with their copyright protection system, however on a much more data rich scale.

If online content providers had this 'software' there would be far less pirated content.

**So the answer to your question is, there is no easy way of doing this, nor is there a program that exists that does this.**

> **Comments:**
> **username_1**: YouTube does that! I uploaded an excerpt of newsagency footage for the students of a workshop I did and YouTube detected it was from a copyrighted source and asked me if I wanted to proceed (with informing the copyright owner).  
> **username_2**: youtube does it on the basis of audio, not video, two very different things, and it would only work with footage that has ALREADY been uploaded to youtube and thus has a unique track fingerprint. moreover, this is also the case with stock audio as alot of stock websites upload their stuff to youtube's content management so that they can make sure its being used with licenses.  
> **username_1**: So what, using the audio clip to match videos is one solution for the problem of the original question posted here... As the author says, he has thousands of clips and thousands of videos, so I think you are assuming things the OP wants to do which he never mentioned.  
> **username_1**: And BTW, video fingerprinting also exists and IS used already. https://en.m.wikipedia.org/wiki/Digital_video_fingerprinting  
> **username_2**: First off, youtube doesnt have an open api to connect to the content management. OP is assuming thousands of examples, and undoubtedly few are posted on youtube (legally/without being taken down). Sure you could use audio fingerprinting but it doesn't change the fact that you need a huge and complete database as well as terbytes of storage for fingerprint comparators. Secondly, you mention video fingerprinting exists when it primarily exists as a marker/header/hash in the file (which can be stripped, and usually is when uploaded online).  
> **username_2**: I refer you to this part in the wiki doc "when employing hash methods, a comparison for absolute equality may fail even when two video segments are perceptually identical."  
> **username_2**: My point being is an actually all encompassing program to do this does not tentatively exist, and would be incredibly costly to both create and manage. Not to mention the algorithms to do a true analysis would take immense amount of time (frame analysis).  
> **username_1**: Unless you have investigated this issue before, I wouldnt jump to conclusions. First off, OpenCV is a library that deals with these kind of tasks specifically. It has bindings to all major programming languages. Second, I didn't say he should use any YouTube api to fingerprint his videos, I just mentioned that YouTube is comparing uploaded clips against already existing content. If you actually _Know_ they are using audio fingerprinting, then yeah, that's one way to do it. He didnt mention he is using videos without audio, did he? Also he never mentioned any scale of the project, maybe it's no  
> **username_1**: Problem for him to supply petabytes of data storage, at least I didn't read that in his question so I still think you are making a lot assumptions on what exactly he wants to do.  
> **username_1**: And one last thing, you are also jumping to conclusions in terms of video fingerprinting... Quote from Wikipedia: Video fingerprinting analysis may be based on any number of visual video features including, but not limited to, key frame analysis, color, and motion changes during a video sequence.  
> **username_2**: I'm not jumping to conclusions if you read my last comment that should be apparent. Further, YouTube does infact use audio to match clips, and this is mainly for the reason that is more efficent. You seem yo be just throwing wikipedia information out there without any context ... I also code so I have a general idea about these things. With that being said yes I am making assumptions based on what op wants to achieve. However the fact of the matter is their is no open source methodology of doing this on the scale he wants to do it in. Which was my point.  
> **username_1**: Yes, there may be no ready to use software for his specific task. But there is a ready to use machine vision library, which can do exactly what he wants. It is highly optimized and what do we know: maybe he can code himself, maybe he has some brilliant coder on his team? Maybe even he has a lot of money to achieve the task stated in his question! That's what I mean by assumptions. If he is a guy with an outdated PC and no coding skills, all your assumptions are true but I doubt that is the case or he wouldn't have "thousands of clips and films" to process, as he stated in his question.  
> **username_2**: Well if he did have a group of capable coders he wouldn't be asking such a question here and would have most likely provided more of a targeted question. Also the SDK you posted was for motion estimation so teaching machines a ball is a ball ... Hardly could handle something as complex as scenes.  
> **username_1**: I don't understand your problem, some examples from the about of OpenCV: These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc.  
> **username_1**: The library has 2500 thousand algorithms and is extended all the time.  
> **username_1**: You can even download a finished progran if scene detection is what you want to base your fingerprinting on: https://github.com/Breakthrough/PySceneDetect  

---

