Skip to content

Commit

Permalink
Merge branch 'main' into releases/0.6.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Breakthrough committed Jun 11, 2024
2 parents 6a1e2fe + 8601b95 commit 3b642b2
Show file tree
Hide file tree
Showing 8 changed files with 157 additions and 133 deletions.
12 changes: 12 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
cff-version: 1.2.0
title: PySceneDetect
message: www.scenedetect.com
type: software
authors:
- given-names: Brandon
family-names: Castellano
affiliation: www.bcastell.com
repository-code: 'https://github.com/Breakthrough/PySceneDetect'
url: 'https://www.scenedetect.com'
abstract: Video Cut Detection and Analysis Tool
license: BSD-3-Clause
123 changes: 24 additions & 99 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,103 +1,28 @@
By downloading, copying, installing, or using this software, you agree
to the terms of this license, and those contained in the "Ancillary
Software Licenses" section below. If you do not agree to any of these
terms or licenses, do not download, install, copy, or use the software
or any other material included in in distribution.
BSD 3-Clause License

-----------------------------------------------------------------------

PySceneDetect License (BSD 3-Clause)
< http://www.bcastell.com/projects/PySceneDetect >

Copyright (C) 2014-2024, Brandon Castellano.
All rights reserved.
Copyright (C) 2024, Brandon Castellano

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-----------------------------------------------------------------------

Ancillary Software Licenses

This software uses the following third-party open source libraries and
are released under the terms detailed below. By downloading, copying,
installing or using this software/tutorial, you agree to these terms.

-----------------------------------------------------------------------


> click [Copyright (C) 2017, Armin Ronacher]:
This software uses OpenCV; see thirdparty/LICENSE-CLICK or visit:
[ http://click.pocoo.org/license/ ]

> NumPy [Copyright (C) 2005-2016, Numpy Developers]:
This software uses Numpy; see thirdparty/LICENSE-NUMPY or visit:
[ http://www.numpy.org/license.html ]

> OpenCV [Copyright (C) 2017, Itseez]:
This software uses OpenCV; see thirdparty/LICENSE-OPENCV or visit:
[ http://opencv.org/license.html ]

> PyAV [Copyright (C) 2017, Mike Boers and others]:
This software uses PyAV; see thirdparty/LICENSE-PYAV or visit:
[ https://github.com/PyAV-Org/PyAV/blob/main/LICENSE.txt ]

> pytest [Copyright (C) 2004-2017, Holger Krekel and others]:
This software uses pytest; see thirdparty/LICENSE-PYTEST or visit:
[ https://docs.pytest.org/en/latest/license.html ]

> simpletable [Copyright (C) 2014-2019, Matheus Vieira Portela and others]:
This software uses simpletable; see thirdparty/LICENSE-SIMPLETABLE or visit:
[ https://github.com/matheusportela/simpletable/blob/master/LICENSE ]

> tqdm [Copyright (C) 2013-2018, Casper da Costa-Luis,
Google Inc., and Noam Yorav-Raphael]:
This software uses tqdm; see thirdparty/LICENSE-TQDM or visit:
[ https://github.com/tqdm/tqdm/blob/master/LICENCE ]


-----------------------------------------------------------------------

This software may also invoke FFmpeg or mkvmerge, if available. If required,
these programs can be obtained from following URLs:

FFmpeg: [ https://ffmpeg.org/download.html ]
mkvmerge: [ https://mkvtoolnix.download/downloads.html ]

Once installed, ensure the program is in your PATH variable (i.e. you can
run the `ffmpeg` or `mkvmerge` command from any location).

Certain distributions of PySceneDetect may include ffmpeg. See
thirdparty/LICENSE-FFMPEG file or visit [ https://ffmpeg.org ]

FFmpeg is a trademark of Fabrice Bellard
mkvmerge is Copyright (C) 2005-2016, Matroska

Windows distributions may include a compiled Python distribution. For license
information regarding the distributed version of Python, see the
thirdparty/LICENSE-PYTHON file, or visit [ https://docs.python.org/3/license.html ]
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

![PySceneDetect](https://raw.githubusercontent.com/Breakthrough/PySceneDetect/main/website/pages/img/pyscenedetect_logo_small.png)
==========================================================
Video Scene Cut Detection and Analysis Tool
Video Cut Detection and Analysis Tool
----------------------------------------------------------

[![Build Status](https://img.shields.io/github/actions/workflow/status/Breakthrough/PySceneDetect/build.yml)](https://github.com/Breakthrough/PySceneDetect/actions)
Expand Down Expand Up @@ -117,7 +117,9 @@ This program uses free code signing provided by [SignPath.io](https://signpath.i

## License

Licensed under BSD 3-Clause (see the `LICENSE` file for details).
BSD-3-Clause; see [`LICENSE`](LICENSE) and [`THIRD-PARTY.md`](THIRD-PARTY.md) for details.

----------------------------------------------------------

Copyright (C) 2014-2024 Brandon Castellano.
All rights reserved.
75 changes: 75 additions & 0 deletions THIRD-PARTY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Ancillary Software Licenses

This file includes license information for various open-source projects
that are imported, derived into, or distributed with PySceneDetect.
See [LICENSE](LICENSE) for the main PySceneDetect license.

Depending on the features being used, PySceneDetect uses the following
third-party software which are released under the terms detailed below.
By downloading, copying, installing or using this software, you agree
to these terms.

In no particular order:

-----------------------------------------------------------------------

> click [Copyright (C) 2017, Armin Ronacher]:
This software uses OpenCV; see thirdparty/LICENSE-CLICK or visit:
[ http://click.pocoo.org/license/ ]

> NumPy [Copyright (C) 2005-2016, Numpy Developers]:
This software uses Numpy; see thirdparty/LICENSE-NUMPY or visit:
[ http://www.numpy.org/license.html ]

> OpenCV [Copyright (C) 2017, Itseez]:
This software uses OpenCV; see thirdparty/LICENSE-OPENCV or visit:
[ http://opencv.org/license.html ]

> PyAV [Copyright (C) 2017, Mike Boers and others]:
This software uses PyAV; see thirdparty/LICENSE-PYAV or visit:
[ https://github.com/PyAV-Org/PyAV/blob/main/LICENSE.txt ]

> pytest [Copyright (C) 2004-2017, Holger Krekel and others]:
This software uses pytest; see thirdparty/LICENSE-PYTEST or visit:
[ https://docs.pytest.org/en/latest/license.html ]

> simpletable [Copyright (C) 2014-2019, Matheus Vieira Portela and others]:
This software uses simpletable; see thirdparty/LICENSE-SIMPLETABLE or visit:
[ https://github.com/matheusportela/simpletable/blob/master/LICENSE ]

> tqdm [Copyright (C) 2013-2018, Casper da Costa-Luis,
Google Inc., and Noam Yorav-Raphael]:
This software uses tqdm; see thirdparty/LICENSE-TQDM or visit:
[ https://github.com/tqdm/tqdm/blob/master/LICENCE ]

> MoviePy [ Copyright (C) 2015 Zulko ]
This software uses tqdm; see thirdparty/LICENSE-TQDM or visit:
[ https://github.com/Zulko/moviepy/blob/master/LICENCE.txt ]

-----------------------------------------------------------------------

This software may also invoke FFmpeg or mkvmerge, if available. If required,
these programs can be obtained from following URLs:

FFmpeg: [ https://ffmpeg.org/download.html ]
mkvmerge: [ https://mkvtoolnix.download/downloads.html ]

Once installed, ensure the program is in your PATH variable (i.e. you can
run the `ffmpeg` or `mkvmerge` command from any location).

Certain distributions of PySceneDetect may include ffmpeg. See
thirdparty/LICENSE-FFMPEG file or visit [ https://ffmpeg.org ]

FFmpeg is a trademark of Fabrice Bellard
mkvmerge is Copyright (C) 2005-2016, Matroska

Windows distributions may include a compiled Python distribution. For license
information regarding the distributed version of Python, see the
thirdparty/LICENSE-PYTHON file, or visit [ https://docs.python.org/3/license.html ]

-----------------------------------------------------------------------

If any information above is incorrect, please let us know.
Visit [ https://www.scenedetect.com ] for contact information.


9 changes: 4 additions & 5 deletions dist/pre_release.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# -*- coding: utf-8 -*-
import os
import sys
import xml
sys.path.append(os.path.abspath("."))

import scenedetect
VERSION = scenedetect.__version__


installer_aip = ''
with open("dist/installer/PySceneDetect.aip", "r") as f:
installer_aip = f.read()
if len(sys.argv) <= 2 or not ("--ignore-installer" in sys.argv):
installer_aip = ''
with open("dist/installer/PySceneDetect.aip", "r") as f:
installer_aip = f.read()

aip_version = f"<ROW Property=\"ProductVersion\" Value=\"{VERSION}\" Options=\"32\"/>"

Expand Down
35 changes: 9 additions & 26 deletions scenedetect/_cli/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,50 +45,33 @@
# About & copyright message string shown for the 'about' CLI command (scenedetect about).
_ABOUT_STRING = """
Site: http://scenedetect.com/
Docs: http://manual.scenedetect.com/
Docs: https://www.scenedetect.com/docs/
Code: https://github.com/Breakthrough/PySceneDetect/
Copyright (C) 2014-2024 Brandon Castellano. All rights reserved.
PySceneDetect is released under the BSD 3-Clause license. See the
included LICENSE file or visit the PySceneDetect website for details.
LICENSE file or visit [ https://www.scenedetect.com/copyright/ ].
This software uses the following third-party components:
> NumPy [Copyright (C) 2018, Numpy Developers]
> OpenCV [Copyright (C) 2018, OpenCV Team]
> click [Copyright (C) 2018, Armin Ronacher]
> simpletable [Copyright (C) 2014 Matheus Vieira Portela]
> PyAV [Copyright (C) 2017, Mike Boers and others]
> MoviePy [Copyright (C) 2015 Zulko]
This software may also invoke the following third-party executables:
> FFmpeg [Copyright (C) 2018, Fabrice Bellard]
> mkvmerge [Copyright (C) 2005-2016, Matroska]
If included with your distribution of PySceneDetect, see the included
LICENSE-FFMPEG and LICENSE-MKVMERGE or visit:
[ https://scenedetect.com/copyright/ ]
Certain distributions of PySceneDetect may include ffmpeg. See
the included LICENSE-FFMPEG or visit [ https://ffmpeg.org ].
FFmpeg and mkvmerge are distributed only with certain PySceneDetect
releases, in order to allow for automatic video splitting capability.
If they were not included with your distribution, they can usually be
installed from your operating system's package manager, or downloaded
from the following URLs:
FFmpeg: [ https://ffmpeg.org/download.html ]
mkvmerge: [ https://mkvtoolnix.download/downloads.html ]
(Note that mkvmerge is a part of the mkvtoolnix package.)
Once installed, ensure the respective program can be accessed from the
same location running PySceneDetect by calling the `ffmpeg` or
`mkvmerge` command from a terminal/command prompt.
PySceneDetect will automatically use whichever program is available on
the computer, depending on the specified command-line options.
Additionally, certain Windows distributions may include a compiled
Python distribution. For license information regarding the distributed
version of Python, see the included LICENSE-PYTHON file for details,
or visit the following URL: [ https://docs.python.org/3/license.html ]
Binary distributions of PySceneDetect include a compiled Python
distribution. See the included LICENSE-PYTHON file, or visit
[ https://docs.python.org/3/license.html ].
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED.
"""
Expand Down
28 changes: 28 additions & 0 deletions scenedetect/_thirdparty/LICENSE-MOVIEPY
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
MoviePy license
Copyright (c) 2015 Zulko

URL: https://github.com/Zulko/moviepy/blob/master/LICENCE.txt

-----------------------------------------------------------------------

The MIT License (MIT)

Copyright (c) 2015 Zulko

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
2 changes: 1 addition & 1 deletion website/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
mkdocs==1.5.2
jinja2==3.1.3
jinja2==3.1.4

0 comments on commit 3b642b2

Please sign in to comment.