Skip to content

Commit 75b35fc

Browse files
committed
Merge branch 'v0.5.6'
2 parents cd2ff5f + 4879628 commit 75b35fc

28 files changed

Lines changed: 872 additions & 352 deletions

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ install:
99
- "pip install -r requirements.txt"
1010
- "git fetch --depth=1 https://github.com/Breakthrough/PySceneDetect.git refs/heads/resources:refs/remotes/origin/resources"
1111
- "git checkout refs/remotes/origin/resources -- tests/testvideo.mp4"
12+
- "git checkout refs/remotes/origin/resources -- tests/goldeneye/goldeneye.mp4"
1213
script:
1314
- python -m pytest tests/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Video Scene Cut Detection and Analysis Tool
77
[![Build Status](https://img.shields.io/travis/com/Breakthrough/PySceneDetect)](https://travis-ci.com/github/Breakthrough/PySceneDetect) [![PyPI Status](https://img.shields.io/pypi/status/scenedetect.svg)](https://pypi.python.org/pypi/scenedetect/) [![PyPI Version](https://img.shields.io/pypi/v/scenedetect?color=blue)](https://pypi.python.org/pypi/scenedetect/) [![PyPI License](https://img.shields.io/pypi/l/scenedetect.svg)](http://pyscenedetect.readthedocs.org/en/latest/copyright/)
88

99

10-
### Latest Release: v0.5.5 (January 17, 2021)
10+
### Latest Release: v0.5.6 (August 15, 2021)
1111

1212
**Main Webpage**: [py.scenedetect.com](http://py.scenedetect.com)
1313

docs/changelog.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,37 @@ PySceneDetect Releases
44

55
## PySceneDetect 0.5
66

7-
### 0.5.5 (January 17, 2021) &nbsp;<span class="fa fa-tags"></span>
7+
### 0.5.6 (August 15, 2021) &nbsp;<span class="fa fa-tags"></span>
8+
9+
#### Release Notes
10+
11+
* **New detection algorithm**: `detect-adaptive` which works similar to `detect-content`, but with reduced false negatives during fast camera movement (thanks @scarwire and @wjs018)
12+
* Images generated by `save-images` can now be resized via the command line
13+
* Statsfiles now work properly with `detect-threshold`
14+
* Removed the `-p`/`--min-percent` option from `detect-threshold`
15+
* Add new option `-l`/`--luma-only` to `detect-content`/`detect-adaptive` to only consider brightness channel (useful for greyscale videos)
16+
17+
#### Changelog
18+
19+
* [feature] New adaptive content detector algorithm `detect-adaptive` ([#153](https://github.com/Breakthrough/PySceneDetect/issues/153)thanks @scarwire and @wjs018)
20+
* [feature] Images generated with the `save-images` command (`scene_manager.save_images()` function in the Python API) can now be scaled or resized ([#160](https://github.com/Breakthrough/PySceneDetect/issues/160) and [PR #203](https://github.com/Breakthrough/PySceneDetect/pull/203), thanks @wjs018)
21+
* Images can be resized by a constant scaling factory using `-s`/`--scale` (e.g. `--scale 0.5` shrinks the height/width by half)
22+
* Images can be resized to a specified height (`-h`/`--height`) and/or width (`-w`/`--width`), in pixels; if only one is specified, the aspect ratio of the original video is kept
23+
* [api] Calling `seek()` on a `VideoManager` will now respect the end time if set
24+
* [api] The `split_video_` functions now return the exit code of invoking `ffmpeg` or `mkvmerge` ([#209](https://github.com/Breakthrough/PySceneDetect/issues/209), thanks @AdrienLF)(https://github.com/Breakthrough/PySceneDetect/issues/211), thanks @jeremymeyers)
25+
* [api] Removed the `min_percent` argument from `ThresholdDetector` as was not providing any performance benefit for the majority of use cases ([#178](https://github.com/Breakthrough/PySceneDetect/issues/178))
26+
* [bugfix] The `detect-threshold` command now works properly with a statsfile ([#211](https://github.com/Breakthrough/PySceneDetect/issues/211))
27+
* [bugfix] Fixed crash due to unhandled `TypeError` exception when using non-PyPI OpenCV packages from certain Linux distributions ([#220](https://github.com/Breakthrough/PySceneDetect/issues/220))
28+
* [bugfix] A warning is now displayed for videos which may not be decoded correctly, esp. VP9 ([#86](https://github.com/Breakthrough/PySceneDetect/issues/86))
29+
* [api] A named logger is now used for both API and CLI logging instead of the root logger ([#205](https://github.com/Breakthrough/PySceneDetect/issues/205))
30+
31+
#### Known Issues
32+
33+
* Image sequences or URL inputs are not supported by the `save-images` or `split-video` commands
34+
* Variable framerate videos (VFR) are not fully supported, and will yield incorrect timestamps ([#168](https://github.com/Breakthrough/PySceneDetect/issues/168))
35+
36+
37+
### 0.5.5 (January 17, 2021)
838

939
#### Release Notes
1040

@@ -105,7 +135,7 @@ PySceneDetect Releases
105135
* [bugfix] `--min-scene-len` option was not respected by first scene ([#105](https://github.com/Breakthrough/PySceneDetect/issues/105), thanks @charlesvestal)
106136
* [bugfix] Splitting videos with an analyzed duration only splits within analyzed area ([#106](https://github.com/Breakthrough/PySceneDetect/issues/106), thanks @charlesvestal)
107137
* [bugfix] Improper start timecode applied to the `split-video` command when using `ffmpeg` ([#93](https://github.com/Breakthrough/PySceneDetect/issues/93), thanks @typoman)
108-
* [bugfix] Added links and filename sanitation to html output ([#139](https://github.com/Breakthrough/PySceneDetect/issues/139) and [#140](https://github.com/Breakthrough/PySceneDetect/issues/140), thanks @wsj018)
138+
* [bugfix] Added links and filename sanitation to html output ([#139](https://github.com/Breakthrough/PySceneDetect/issues/139) and [#140](https://github.com/Breakthrough/PySceneDetect/issues/140), thanks @wjs018)
109139
* [bugfix] UnboundLocalError in `detect_scenes` when `frame_skip` is larger than 0 ([#126](https://github.com/Breakthrough/PySceneDetect/issues/126), thanks @twostarxx)
110140

111141

docs/download.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,20 @@ PySceneDetect is compatible with both Python 2 and 3. Note that Python 3 usuall
1818

1919
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.
2020

21+
### Windows Build (64-bit Only) &nbsp; <span class="wy-text-neutral"><span class="fa fa-windows"></span></span>
22+
23+
<div class="important">
24+
<h3 class="wy-text-neutral"><span class="fa fa-forward wy-text-info"></span> Latest Release: <b class="wy-text-neutral">v0.5.6</b></h3>
25+
<h4 class="wy-text-neutral"><span class="fa fa-calendar wy-text-info"></span>&nbsp; Release Date:&nbsp; <b>August 15, 2021</b></h4>
26+
<a href="https://github.com/Breakthrough/PySceneDetect/releases/download/v0.5.6/PySceneDetect-0.5.6-win64.exe" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Installer</b>&nbsp;&nbsp;(recommended)</a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://github.com/Breakthrough/PySceneDetect/releases/download/v0.5.6/PySceneDetect-0.5.6-win64-portable.zip" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Portable .zip</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="../examples/usage/" class="btn btn-success" style="margin-bottom:8px;" role="button"><span class="fa fa-book"></span>&nbsp; <b>Getting Started</b></a>
27+
</div>
28+
2129
### Python Installer (All Platforms) &nbsp; <span class="wy-text-neutral"><span class="fa fa-windows"></span> &nbsp; <span class="fa fa-linux"></span> &nbsp; <span class="fa fa-apple"></span></span></h3>
2230

2331
<div class="important">
24-
<h4 class="wy-text-neutral"><span class="fa fa-forward wy-text-info"></span> Latest Release: <b class="wy-text-neutral">v0.5.5</b></h4>
25-
<h4 class="wy-text-neutral"><span class="fa fa-calendar wy-text-info"></span>&nbsp; Release Date:&nbsp; <b>January 17, 2021</b></h4>
26-
<a href="https://github.com/Breakthrough/PySceneDetect/archive/v0.5.5.zip" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Source</b>&nbsp;&nbsp;.zip</a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://github.com/Breakthrough/PySceneDetect/archive/v0.5.5.tar.gz" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Source</b>&nbsp;&nbsp;.tar.gz</a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="../examples/usage/" class="btn btn-success" style="margin-bottom:8px;" role="button"><span class="fa fa-book"></span>&nbsp; <b>Getting Started</b></a>
32+
<h4 class="wy-text-neutral"><span class="fa fa-forward wy-text-info"></span> Latest Release: <b class="wy-text-neutral">v0.5.6</b></h4>
33+
<h4 class="wy-text-neutral"><span class="fa fa-calendar wy-text-info"></span>&nbsp; Release Date:&nbsp; <b>August 15, 2021</b></h4>
34+
<a href="https://github.com/Breakthrough/PySceneDetect/archive/v0.5.6.zip" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Source</b>&nbsp;&nbsp;.zip</a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://github.com/Breakthrough/PySceneDetect/archive/v0.5.6.tar.gz" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Source</b>&nbsp;&nbsp;.tar.gz</a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="../examples/usage/" class="btn btn-success" style="margin-bottom:8px;" role="button"><span class="fa fa-book"></span>&nbsp; <b>Getting Started</b></a>
2735
</div>
2836

2937
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):
@@ -54,8 +62,8 @@ PySceneDetect requires [Python 2 or 3](https://www.python.org/) and the followin
5462

5563
For video splitting support, you need to have the following tools available:
5664

57-
- [ffmpeg](https://ffmpeg.org/download.html), part of mkvtoolnix, command-line tool, required to split video files in precise/high-quality mode (`split-video` or `split-video -h/--high-quality`)
58-
- [mkvmerge](https://mkvtoolnix.download/), part of mkvtoolnix, command-line tool, required to split video files in copy mode (`split-video -c/--copy`)
65+
- [ffmpeg](https://ffmpeg.org/download.html), required to split video files (`split-video`)
66+
- [mkvmerge](https://mkvtoolnix.download/), part of mkvtoolnix, command-line tool, required to split video files in stream copy mode (`split-video -c/--copy`)
5967

6068
Note that Linux users should use a package manager if possible (e.g. `sudo apt-get install ffmpeg`). Windows users may require additional steps in order for PySceneDetect to detect `ffmpeg` - see the section Manually Enabling `split-video` Support below for details.
6169

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<h4 class="wy-text-info">Intelligent scene cut detection and video splitting tool.</h4>
44

55
<div class="important">
6-
<h3 class="wy-text-neutral"><span class="fa fa-info-circle wy-text-info"></span>&nbsp; Latest Release: <b>v0.5.5</b> (January 17, 2021)</h3>
6+
<h3 class="wy-text-neutral"><span class="fa fa-info-circle wy-text-info"></span>&nbsp; Latest Release: <b>v0.5.6</b> (August 15, 2021)</h3>
77
<a href="download/" class="btn btn-success" style="margin-bottom:8px;" role="button"><span class="fa fa-download"></span>&nbsp; <b>Download</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="changelog/" class="btn btn-info" style="margin-bottom:8px;" role="button"><span class="fa fa-reorder"></span>&nbsp; <b>Changelog</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="http://pyscenedetect-manual.readthedocs.io/" class="btn btn-warning" style="margin-bottom:8px;" role="button"><span class="fa fa-gear"></span>&nbsp; <b>Manual</b></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="examples/usage-example/" class="btn btn-danger" style="margin-bottom:8px;" role="button"><span class="fa fa-book"></span>&nbsp; <b>Getting Started</b></a>
88
<br/>
99
See the changelog for the latest release notes and known issues.

docs/other/copyright.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,6 @@ This section contains links to the license agreements for all third-party softwa
6969
- URL: <a href="https://raw.githubusercontent.com/tqdm/tqdm/master/LICENCE" alt="tqdm License">https://raw.githubusercontent.com/tqdm/tqdm/master/LICENCE</a>
7070

7171

72-
### click
73-
74-
- Copyright (C) 2004-2017, Holger Krekel and others.
75-
- URL: <a href="https://docs.pytest.org/en/latest/license.html" alt="pytest License">https://docs.pytest.org/en/latest/license.html</a>
76-
77-
7872
### simpletable
7973

8074
- Copyright (C) 2014-2019, Matheus Vieira Portela and others

manual/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
# The short X.Y version
2929
version = ''
3030
# The full version, including alpha/beta/rc tags
31-
release = 'v0.5.5'
31+
release = 'v0.5.6'
3232

3333

3434
# -- General configuration ---------------------------------------------------

manual/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
66
#######################################################################
7-
PySceneDetect v0.5.5 Manual
7+
PySceneDetect v0.5.6 Manual
88
#######################################################################
99

1010
This manual refers to both the PySceneDetect

scenedetect/__init__.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,16 @@
4343
from scenedetect.video_manager import VideoManager
4444
from scenedetect.stats_manager import StatsManager
4545

46-
4746
# We also bring the detectors into the main scenedetect package namespace
4847
# for convenience as well. Examples still reference the full package.
49-
from scenedetect.detectors import ThresholdDetector, ContentDetector
48+
from scenedetect.detectors import ThresholdDetector
49+
from scenedetect.detectors import ContentDetector
50+
from scenedetect.detectors import AdaptiveDetector
5051

5152

5253
# Used for module identification and when printing version & about info
5354
# (e.g. calling `scenedetect version` or `scenedetect about`).
54-
__version__ = 'v0.5.5'
55+
__version__ = 'v0.5.6'
5556

5657
# About & copyright message string shown for the 'about' CLI command (scenedetect about).
5758

scenedetect/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
"""
4343

4444
# PySceneDetect Library Imports
45-
from scenedetect.cli import CliContext
4645
from scenedetect.cli import scenedetect_cli as cli
46+
from scenedetect.cli.context import CliContext
4747

4848
def main():
4949
""" Main: PySceneDetect command-line interface (CLI) entry point.

0 commit comments

Comments
 (0)