# 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:
```bash
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](https://github.com/sadiqush). All rights reserved.<br>
[RVSearch](https://github.com/sadiqush/rvsearch) is licensed under the GPLv3 License as stated in the [LICENSE file](LICENSE).
Raw data
{
"_id": null,
"home_page": "http://pypi.org/project/rvsearch",
"name": "rvsearch",
"maintainer": "",
"docs_url": null,
"requires_python": ">= 3",
"maintainer_email": "",
"keywords": "rvsearch,youtube,video,reverse_search",
"author": "Sadiq SheshKhan",
"author_email": "sadiqush@gmail.com",
"download_url": "",
"platform": "",
"description": "# reverse video search\n\nRVSearch is a tool to do a reverse video search on YouTube.\n\nThe comparison is done using pHash and Linear search algorithm, \nthus it is fast and precise to find **exact** similar frames between any videos,\n but not smart enough to find **some what** similar frames when the video is distorted, swinged, transitioned and overall,\n changed, enough\n to escape YouTube own copyright detection algorithm.\n\nFinding similarity between **distorted** and **changed** images can be done using basic object detection algorithms, but when importing them\nto compare videos it will be unbearably slow. \n\nRequirements\n------------\n- Python 3 or greater\n\nFor other missing packages first you need to install them using `pip`:\n```\npip install pandas youtube_dl opencv-python numpy setuptools scikit-video PyQt5 Pillow pip pytz scipy python-dateutil six\n```\n\nInstallation:\n------------\n```\npython3 pip install rvsearch\n```\n\n\nUsage:\n------\nYou can work directly with RVSearch's command line interface:\n```\nrvsearch input.csv\n```\n\nInput:\n-----\n\nFor input you only need to provide the URLs for source and target videos in\n a `.csv` format file, under columns `Compilation` and `Source`.\n\nFor example:\n\n```bash\ni | Compilation | Source |\n----------------------------------------------------------\n0 | https://you.tube/video | https://you.tube/video |\n----------------------------------------------------------\n1 | | https://you.tube/video |\n----------------------------------------------------------\n2 | | https://you.tube/video |\n```\n**Note**: Only **ONE** compilation per file is supported for now.\n\nIf you want to give multiple inputs, you can.\n\nfor example:\n\n```\nrvsearch input1.csv input2.csv input3.csv\n```\nBut note that output file name will be redundant. If you want to manually specify the output file's name, see Advance Usage.\n\nOutput:\n------\n\nThe output will be saved as a `.csv` file on current working directory. To see where a similarity\n between two videos happened, checkout the timestamp of both videos.\n\nBelow you can see an example of output format:\n\n```\n| Cmpl_url | Cmp_name | Cmp_chnl | Source_url | Source_name | Source_chnl | Cmp_TimeStamp | Source_TimeStamp |\n-----------------------------------------------------------------------------------------------------------------------\n| https://... | Name | Name | https://... | Name | Name | 12:34 | 1:23 |\n```\n- `Cmpl_url`: Web URL for the compilation video\n- `Cmp_name`: Title of the compilation video\n- `Cmp_chnl`: Channel name (uploader) of the compilation video\n- `Source_url`: Web URL for the Source video\n- `Source_name`: Title of the Source video\n- `Source_chnl`: Channel name (uploader) of the Source video\n- `Cmp_TimeStamp`: The timestamp on compilation video where similarity found\n- `Source_TimeStamp`: The timestamp on source video where similarity found\n\nAdvance Usage:\n-------------\n| Argument | Explanation |\n| -------- | ----------- |\n| ```-h``` | Displays help message listing all command-line arguments |\n| ```-q``` | Be quiet. Doesn't show anything about what you do|\n| ```-v``` | Be verbose. Output everything, used mostly for debugging the program.|\n| ```-o``` | Specifies the name for output file|\n\nFor example:\n```\nrvsearch input1.csv input2.csv -o results.csv -q\n```\n\n## License\n\nCopyright (c) 2021 by [sadiqush](https://github.com/sadiqush). All rights reserved.<br>\n[RVSearch](https://github.com/sadiqush/rvsearch) is licensed under the GPLv3 License as stated in the [LICENSE file](LICENSE).\n\n\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Tool to reverse search videos on YouTube based on frame similarities found",
"version": "1.3.1",
"split_keywords": [
"rvsearch",
"youtube",
"video",
"reverse_search"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "548615c3d5a3bcea4cd5d529258e29bc",
"sha256": "3cd382752f96d9a54a1b166b36eae6814136ff8eb4675f8f1109779d4a736a3b"
},
"downloads": -1,
"filename": "rvsearch-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "548615c3d5a3bcea4cd5d529258e29bc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3",
"size": 27908,
"upload_time": "2021-02-25T15:37:01",
"upload_time_iso_8601": "2021-02-25T15:37:01.589677Z",
"url": "https://files.pythonhosted.org/packages/8f/0d/1c04fd8c6bddac18a316212d1958cf879b472d216a914db738a1ea0845a3/rvsearch-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-02-25 15:37:01",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "rvsearch"
}