You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -22,11 +22,11 @@ Video Scene Cut Detection and Analysis Tool
22
22
23
23
**Quick Install**: To install PySceneDetect via `pip` with all dependencies:
24
24
25
-
pip install scenedetect[opencv]
25
+
pip install scenedetect[opencv] --pre
26
26
27
-
For servers, you can use the headless (non-GUI) version of OpenCV by installing `scenedetect[opencv-headless]`. To enable video splitting support, you will also need to have `mkvmerge` or `ffmpeg` installed - see the documentation on [Video Splitting Support](https://pyscenedetect.readthedocs.io/en/latest/examples/video-splitting/) for details.
27
+
For servers, you can use the headless (non-GUI) version of OpenCV by installing `scenedetect[opencv-headless]`. To enable video splitting support, you will also need to have `mkvmerge` or `ffmpeg` installed - see the documentation on [Video Splitting Support](https://scenedetect.com/examples/video-splitting/) for details.
28
28
29
-
Requires Python modules `click`, `numpy`, OpenCV `cv2`, and (optional) `tqdm` for displaying progress. For details, see the [dependencies on the downloads page](https://pyscenedetect.readthedocs.io/en/latest/download/#dependencies).
29
+
Requires Python modules `click`, `numpy`, OpenCV `cv2`, and (optional) `tqdm` for displaying progress. For details, see the [dependencies on the downloads page](https://scenedetect.com/download/#dependencies).
@@ -44,7 +44,7 @@ To show a summary of all other options and commands:
44
44
45
45
scenedetect help
46
46
47
-
You can find more examples [on the website](https://pyscenedetect.readthedocs.io/en/latest/examples/usage-example/) or [in the manual](https://pyscenedetect.readthedocs.io/projects/Manual/en/latest/cli/global_options.html).
47
+
You can find more examples [on the website](https://scenedetect.com/examples/usage-example/) or [in the manual](https://manual.scenedetect.com/en/v0.6-dev2/cli/global_options.html).
For more advanced usage, the API is highly configurable, and can easily integrate with any pipeline. This includes using different detection algorithms, splitting the input video, and much more. The following example shows how to implement a function similar to the above, but using [the `scenedetect` API](https://pyscenedetect.readthedocs.io/projects/Manual/en/latest/api.html):
78
+
For more advanced usage, the API is highly configurable, and can easily integrate with any pipeline. This includes using different detection algorithms, splitting the input video, and much more. The following example shows how to implement a function similar to the above, but using [the `scenedetect` API](https://manual.scenedetect.com/en/v0.6-dev2/api.html):
79
79
80
80
```python
81
81
from scenedetect import open_video, SceneManager, split_video_ffmpeg
PySceneDetect is a command-line tool and Python library, which uses OpenCV to analyze a video to find each shot change (or "cut"/"scene"). If `ffmpeg` or `mkvmerge` is installed, the video can also be split into scenes automatically. A frame-by-frame analysis can also be generated for a video, to help with determining optimal threshold values or detecting patterns/other analysis methods for a particular video. See [the Usage documentation](https://pyscenedetect.readthedocs.io/en/latest/examples/usage/) for details.
101
+
PySceneDetect is a command-line tool and Python library, which uses OpenCV to analyze a video to find each shot change (or "cut"/"scene"). If `ffmpeg` or `mkvmerge` is installed, the video can also be split into scenes automatically. A frame-by-frame analysis can also be generated for a video, to help with determining optimal threshold values or detecting patterns/other analysis methods for a particular video. See [the Usage documentation](https://scenedetect.com/examples/usage/) for details.
102
102
103
103
There are two main detection methods PySceneDetect uses: `detect-threshold` (comparing each frame to a set black level, useful for detecting cuts and fades to/from black), and `detect-content` (compares each frame sequentially looking for changes in content, useful for detecting fast cuts between video scenes, although slower to process). Each mode has slightly different parameters, and is described in detail below.
104
104
@@ -110,9 +110,9 @@ For help or other issues, you can join [the official PySceneDetect Discord Serve
Copy file name to clipboardExpand all lines: docs/changelog.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,12 @@ PySceneDetect Releases
4
4
5
5
## PySceneDetect 0.6
6
6
7
-
### 0.6 (TBD)
7
+
### 0.6-dev2 (March 6, 2022)
8
8
9
9
#### Release Notes
10
10
11
+
**This is a pre-release of the upcoming PySceneDetect v0.6.**
12
+
11
13
PySceneDetect v0.6 is a **major breaking change** including better performance, configuration file support, and a more ergonomic API. The new **minimum Python version is now 3.6**. See the [Migration Guide](https://manual.scenedetect.com/v0.6/api/migration_guide.html) for information on how to port existing applications to the new API. Most users will see performance improvements after updating, and changes to the command-line are not expected to break most workflows.
12
14
13
15
The main goals of v0.6 are reliability and performance. To achieve this required several breaking changes. The video input API was refactored, and *many* technical debt items were addressed. This should help the eventual transition to the first planned stable release (v1.0) where the goal is an improved scene detection API.
PySceneDetect is available via `pip` as [the `scenedetect` package](https://pypi.org/project/scenedetect/). See below for instructions on installing a non-pip version of OpenCV. To ensure you have all the requirements installed, open a `python` interpreter, and ensure you can run `import cv2` without any errors.
20
20
21
21
### Windows Build (64-bit Only) <spanclass="wy-text-neutral"><spanclass="fa fa-windows"></span></span>
To install from source, download and extract the latest release to a location of your choice, and make sure you have the appropriate [system requirements](#dependencies) installed before continuing. PySceneDetect can be installed by running the following command in the location of the extracted files (don't forget `sudo` if you're installing system-wide):
Copy file name to clipboardExpand all lines: docs/examples/usage.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ scenedetect help
14
14
```
15
15
16
16
<divclass="important">
17
-
The complete PySceneDetect Command-Line Interface (CLI) Reference <spanclass="fa fa-book"> can be found in the <ahref="http://pyscenedetect-manual.readthedocs.io/"alt="Manual Link">PySceneDetect Manual</a>, located at <ahref="http://pyscenedetect-manual.readthedocs.io/"alt="Manual Link">pyscenedetect-manual.readthedocs.io/</a>.
17
+
The complete PySceneDetect Command-Line Interface (CLI) Reference <spanclass="fa fa-book"> can be found in the <ahref="http://manual.scenedetect.com/en/0.6-dev2/"alt="Manual Link">PySceneDetect Manual</a>, located at <ahref="http://manual.scenedetect.com/0.6-dev2/"alt="Manual Link">manual.scenedetect.com/0.6-dev2/</a>.
Copy file name to clipboardExpand all lines: docs/faq.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ Unlike calling `pip install opencv-python`, the above commands will download and
22
22
23
23
#### How can I enable video splitting support?
24
24
25
-
To enable video splitting support, you will also need to have `mkvmerge` or `ffmpeg` installed on your system. See the documentation on [Video Splitting Support](https://pyscenedetect.readthedocs.io/en/latest/examples/video-splitting/) after installation for details.
25
+
To enable video splitting support, you will also need to have `mkvmerge` or `ffmpeg` installed on your system. See the documentation on [Video Splitting Support](https://scenedetect.com/examples/video-splitting/) after installation for details.
26
26
27
27
28
28
#### How can I fix the error `Cannot split video due to too many scenes`?
Copy file name to clipboardExpand all lines: docs/reference/detection-methods.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ The threshold-based scene detector (`detect-threshold`) is how most traditional
19
19
20
20
# Creating New Detection Algorithms
21
21
22
-
All scene detection algorithms must inherit from [the base `SceneDetector` class](https://pyscenedetect.readthedocs.io/projects/Manual/en/latest/api/scene_detector.html). Note that the current SceneDetector API is under development and expected to change somewhat before v1.0 is released, so make sure to pin your `scenedetect` dependency to the correct API version (e.g. `scenedetect < 0.6`, `scenedetect < 0.7`, etc...).
22
+
All scene detection algorithms must inherit from [the base `SceneDetector` class](https://manual.scenedetect.com/en/v0.6-dev2/api/scene_detector.html). Note that the current SceneDetector API is under development and expected to change somewhat before v1.0 is released, so make sure to pin your `scenedetect` dependency to the correct API version (e.g. `scenedetect < 0.6`, `scenedetect < 0.7`, etc...).
23
23
24
24
Creating a new scene detection method can be as simple as implementing the `process_frame` function, and optionally `post_process`:
25
25
@@ -45,7 +45,7 @@ class CustomDetector(SceneDetector):
45
45
46
46
`process_frame` is called on every frame in the input video, which will be called after the final frame of the video is passed to `process_frame`. This may be useful for multi-pass algorithms, or detectors which are waiting on some condition but still wish to output an event on the final frame.
47
47
48
-
For example, a detector may output at most 1 cuts for every call to `process_frame`, it may output the entire scene list in `post_process`, or a combination of both. Note that the latter will not work in cases where a live video stream or camera input device is being used. See the [API documentation for the `SceneDetector` class](https://pyscenedetect.readthedocs.io/projects/Manual/en/latest/api/scene_detector.html#scenedetect.scene_detector.SceneDetector) for details. Alternatively, you can call `help(SceneDetector)` from a Python REPL. For examples of actual detection algorithm implementations, see the source files in the `scenedetect/detectors/` directory (e.g. `threshold_detector.py`, `content_detector.py`).
48
+
For example, a detector may output at most 1 cuts for every call to `process_frame`, it may output the entire scene list in `post_process`, or a combination of both. Note that the latter will not work in cases where a live video stream or camera input device is being used. See the [API documentation for the `SceneDetector` class](https://manual.scenedetect.com/en/v0.6-dev2/api/scene_detector.html#scenedetect.scene_detector.SceneDetector) for details. Alternatively, you can call `help(SceneDetector)` from a Python REPL. For examples of actual detection algorithm implementations, see the source files in the `scenedetect/detectors/` directory (e.g. `threshold_detector.py`, `content_detector.py`).
49
49
50
50
Processing is done by calling the `process_frame(...)` function for all frames in the video, followed by `post_process(...)` (optional) after the final frame. Scene cuts are detected and added to the passed list object in both cases.
0 commit comments