Skip to main content

reverse video search

RVSearch is a tool to do a reverse video search on YouTube.

The comparison is done using pHash and Linear search algorithm, thus it is fast and precise to find exact similar frames between any videos, but not smart enough to find some what similar frames when the video is distorted, swinged, transitioned and overall, changed, enough to escape YouTube own copyright detection algorithm.

Finding similarity between distorted and changed images can be done using basic object detection algorithms, but when importing them to compare videos it will be unbearably slow.

Requirements

  • Python 3 or greater

For other missing packages first you need to install them using pip:

pip install pandas youtube_dl opencv-python numpy setuptools scikit-video PyQt5 Pillow pip pytz scipy python-dateutil six

Installation:

python3 pip install rvsearch

Usage:

You can work directly with RVSearch's command line interface:

rvsearch input.csv

Input:

For input you only need to provide the URLs for source and target videos in a .csv format file, under columns Compilation and Source.

For example:

i |         Compilation        |          Source          |
----------------------------------------------------------
0 |  https://you.tube/video    |   https://you.tube/video |
----------------------------------------------------------
1 |                            |   https://you.tube/video |
----------------------------------------------------------
2 |                            |   https://you.tube/video |

Note: Only ONE compilation per file is supported for now.

If you want to give multiple inputs, you can.

for example:

rvsearch input1.csv input2.csv input3.csv

But note that output file name will be redundant. If you want to manually specify the output file's name, see Advance Usage.

Output:

The output will be saved as a .csv file on current working directory. To see where a similarity between two videos happened, checkout the timestamp of both videos.

Below you can see an example of output format:

|    Cmpl_url   |  Cmp_name | Cmp_chnl |   Source_url  | Source_name | Source_chnl | Cmp_TimeStamp | Source_TimeStamp |
-----------------------------------------------------------------------------------------------------------------------
|  https://...  |    Name   |   Name   |  https://...  |    Name     |    Name     |     12:34     |      1:23        |
  • Cmpl_url: Web URL for the compilation video
  • Cmp_name: Title of the compilation video
  • Cmp_chnl: Channel name (uploader) of the compilation video
  • Source_url: Web URL for the Source video
  • Source_name: Title of the Source video
  • Source_chnl: Channel name (uploader) of the Source video
  • Cmp_TimeStamp: The timestamp on compilation video where similarity found
  • Source_TimeStamp: The timestamp on source video where similarity found

Advance Usage:

Argument Explanation
-h Displays help message listing all command-line arguments
-q Be quiet. Doesn't show anything about what you do
-v Be verbose. Output everything, used mostly for debugging the program.
-o Specifies the name for output file

For example:

rvsearch input1.csv input2.csv -o results.csv -q

License

Copyright (c) 2021 by sadiqush. All rights reserved.
RVSearch is licensed under the GPLv3 License as stated in the LICENSE file.

Metadata

Release files for rvsearch 1.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for rvsearch 1.3.4
File Interpreter ABI Platform Actions
rvsearch-1.3.4-py3-none-any.whl Python 3 none any Details for rvsearch-1.3.4-py3-none-any.whl

Release files / rvsearch-1.3.4-py3-none-any.whl

Download URL rvsearch-1.3.4-py3-none-any.whl
Size 28.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1614f339cec796ea331e9581bea23c00aecf77b2ef7f2fe666671cc42ea9f34
BLAKE2b-256 checksum
How to use checksums
9446ebffbc365f27fe72d54a51665ba45f6b50b9bacd88cc5aee1041bfdf5feb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.2

Security for rvsearch 1.3.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page