Skip to content

Commit ea0d18f

Browse files
committed
Merge branch 'main' into develop
2 parents 6223891 + 514927f commit ea0d18f

File tree

14 files changed

+63
-55
lines changed

14 files changed

+63
-55
lines changed

.github/workflows/build-windows.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ jobs:
3131
python-version: ["3.9"]
3232

3333
steps:
34-
- uses: actions/checkout@v3
34+
- uses: actions/checkout@v4
3535

3636
- name: Set up Python ${{ matrix.python-version }}
37-
uses: actions/setup-python@v4
37+
uses: actions/setup-python@v5
3838
with:
3939
python-version: ${{ matrix.python-version }}
4040
cache: 'pip'
@@ -95,7 +95,7 @@ jobs:
9595
runs-on: windows-latest
9696
needs: build
9797
steps:
98-
- uses: actions/checkout@v3
98+
- uses: actions/checkout@v4
9999
with:
100100
ref: resources
101101

.github/workflows/build.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,27 @@ jobs:
2727
runs-on: ${{ matrix.os }}
2828
strategy:
2929
matrix:
30-
os: [macos-latest, ubuntu-20.04, ubuntu-latest, windows-latest]
31-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
30+
# TODO(1.6.1): Deprecate Python 3.7 and support macos-14.
31+
os: [macos-13, ubuntu-20.04, ubuntu-latest, windows-latest]
32+
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
33+
34+
env:
35+
# Version is extracted below and used to find correct package install path.
36+
scenedetect_version: ""
3237

3338
steps:
34-
- uses: actions/checkout@v3
39+
- uses: actions/checkout@v4
3540

3641
- name: Set up Python ${{ matrix.python-version }}
37-
uses: actions/setup-python@v4
42+
uses: actions/setup-python@v5
3843
with:
3944
python-version: ${{ matrix.python-version }}
4045
cache: 'pip'
4146

4247
- name: Install Dependencies
43-
# TODO: `setuptools` is pinned for the Python 3.7 builder and can be unpinned when removed.
48+
# TODO(1.6.1): Unpin the following requirements when deprecating the Python 3.7 builder.
4449
run: |
45-
python -m pip install --upgrade pip build wheel virtualenv setuptools==62.3.4
50+
python -m pip install --upgrade pip build==1.1.1 wheel====0.42.0 virtualenv setuptools==62.3.4
4651
pip install av opencv-python-headless --only-binary :all:
4752
pip install -r requirements_headless.txt
4853
@@ -84,15 +89,13 @@ jobs:
8489
git mv docs docs_src
8590
sphinx-build -b singlehtml docs_src docs
8691
87-
# TODO: Make the version extraction work on powershell so package smoke tests can run on Windows.
8892
- name: Build Package
89-
if: ${{ matrix.os != 'windows-latest' }}
93+
shell: bash
9094
run: |
9195
python -m build
9296
echo "scenedetect_version=`python -c \"import scenedetect; print(scenedetect.__version__.replace('-', '.'))\"`" >> "$GITHUB_ENV"
9397
9498
- name: Smoke Test Package (Source Dist)
95-
if: ${{ matrix.os != 'windows-latest' }}
9699
run: |
97100
python -m pip install dist/scenedetect-${{ env.scenedetect_version }}.tar.gz
98101
scenedetect version
@@ -101,7 +104,6 @@ jobs:
101104
python -m pip uninstall -y scenedetect
102105
103106
- name: Smoke Test Package (Wheel)
104-
if: ${{ matrix.os != 'windows-latest' }}
105107
run: |
106108
python -m pip install dist/scenedetect-${{ env.scenedetect_version }}-py3-none-any.whl
107109
scenedetect version

.github/workflows/check-code-format.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818

1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2121
- name: Set up Python 3.11
2222
uses: actions/setup-python@v3
2323
with:

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737

3838
steps:
3939
- name: Checkout
40-
uses: actions/checkout@v3
40+
uses: actions/checkout@v4
4141

4242
- name: Initialize CodeQL
4343
uses: github/codeql-action/init@v2

.github/workflows/dependency-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: 'Checkout Repository'
18-
uses: actions/checkout@v3
18+
uses: actions/checkout@v4
1919
- name: 'Dependency Review'
2020
uses: actions/dependency-review-action@v3

.github/workflows/generate-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
scenedetect_docs_dest: ''
2121

2222
steps:
23-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@v4
2424

2525
- name: Set up Python 3.11
26-
uses: actions/setup-python@v4
26+
uses: actions/setup-python@v5
2727
with:
2828
python-version: '3.11'
2929
cache: 'pip'

.github/workflows/generate-website.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
runs-on: ubuntu-latest
1515

1616
steps:
17-
- uses: actions/checkout@v3
17+
- uses: actions/checkout@v4
1818

1919
- name: Set up Python 3.11
20-
uses: actions/setup-python@v4
20+
uses: actions/setup-python@v5
2121
with:
2222
python-version: '3.11'
2323
cache: 'pip'

dist/package-info.rst

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,10 @@ PySceneDetect
55
Video Scene Cut Detection and Analysis Tool
66
----------------------------------------------------------
77

8-
.. image:: https://img.shields.io/github/actions/workflow/status/Breakthrough/PySceneDetect/build.yml
9-
:target: https://github.com/Breakthrough/PySceneDetect/actions
10-
11-
.. image:: https://img.shields.io/github/release/Breakthrough/PySceneDetect.svg
8+
.. image:: https://img.shields.io/pypi/status/scenedetect.svg
129
:target: https://github.com/Breakthrough/PySceneDetect
1310

14-
.. image:: https://img.shields.io/pypi/status/scenedetect.svg
11+
.. image:: https://img.shields.io/github/release/Breakthrough/PySceneDetect.svg
1512
:target: https://github.com/Breakthrough/PySceneDetect
1613

1714
.. image:: https://img.shields.io/pypi/l/scenedetect.svg
@@ -22,21 +19,19 @@ Video Scene Cut Detection and Analysis Tool
2219

2320
----------------------------------------------------------
2421

25-
Website: https://www.scenedetect.com/
26-
2722
Documentation: https://www.scenedetect.com/docs
2823

2924
Github Repo: https://github.com/Breakthrough/PySceneDetect/
3025

31-
----------------------------------------------------------
26+
Install: ``pip install --upgrade scenedetect[opencv]``
3227

33-
PySceneDetect is a command-line tool and Python library which analyzes a video, looking for scene changes or cuts. PySceneDetect integrates with external tools (e.g. `ffmpeg`, `mkvmerge`) to automatically split the video into individual clips when using the `split-video` command and has several other features.
28+
----------------------------------------------------------
3429

35-
Install: ``pip install --upgrade scenedetect[opencv]``
30+
**PySceneDetect** is a tool for detecting shot changes in videos, and can automatically split videos into separate clips. PySceneDetect is free and open-source software, and has several detection methods to find fast-cuts and threshold-based fades.
3631

37-
Split video via CLI: ``scenedetect -i video.mp4 split-video``
32+
For example, to split a video: ``scenedetect -i video.mp4 split-video``
3833

39-
Split video using Python API:
34+
You can also use the Python API (`docs <https://www.scenedetect.com/docs/latest/>`_) to do the same:
4035

4136
.. code-block:: python
4237

docs/index.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
PySceneDetect Documentation
77
#######################################################################
88

9-
This documentation covers the PySceneDetect command-line interface (the `scenedetect` command) and Python API (the `scenedetect` module). The latest release of PySceneDetect can be installed via `pip install scenedetect[opencv]`. Windows builds and source releases can be found at `scenedetect.com/download <http://www.scenedetect.com/download/>`_. Note that PySceneDetect requires `ffmpeg` or `mkvmerge` for video splitting support.
9+
Welcome to the PySceneDetect docs. The docs are split into two separate parts: one for the command-line interface (the `scenedetect` command) and another for the Python API (the `scenedetect` module).
10+
11+
You can install the latest release of PySceneDetect by running `pip install scenedetect[opencv]` or downloading the Windows build from `scenedetect.com/download <http://www.scenedetect.com/download/>`_. PySceneDetect requires `ffmpeg` or `mkvmerge` for video splitting support.
1012

1113
.. note::
1214

1315
If you see any errors in the documentation, or want to suggest improvements, feel free to raise an issue on `the PySceneDetect issue tracker <https://github.com/Breakthrough/PySceneDetect/issues>`_.
1416

15-
The latest source code for PySceneDetect can be found on Github at `github.com/Breakthrough/PySceneDetect <http://github.com/Breakthrough/PySceneDetect>`_.
17+
PySceneDetect development happens on Github at `github.com/Breakthrough/PySceneDetect <http://github.com/Breakthrough/PySceneDetect>`_.
1618

1719

1820
***********************************************************************

website/pages/api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,5 @@ Processing is done by calling the `process_frame(...)` function for all frames i
7575

7676
`post_process(...)` is called **after** the final frame has been processed, to allow for any stored scene cuts to be written *if required* (e.g. in the case of the `ThresholdDetector`).
7777

78-
You may also want to look into the implementation of current detectors to understand how frame metrics are saved/loaded to/from a [`StatsManager`](https://pyscenedetect.readthedocs.io/projects/Manual/en/stable/api/stats_manager.html) for caching and allowing values to be written to a stats file for users to graph and find trends in to tweak detector options. Also see the documentation for the [`SceneManager`](https://pyscenedetect.readthedocs.io/projects/Manual/en/stable/api/scene_manager.html) for details.
78+
You may also want to look into the implementation of current detectors to understand how frame metrics are saved/loaded to/from a [`StatsManager`](https://www.scenedetect.com/docs/latest/api/stats_manager.html) for caching and allowing values to be written to a stats file for users to graph and find trends in to tweak detector options. Also see the documentation for the [`SceneManager`](https://www.scenedetect.com/docs/latest/api/scene_manager.html) for details.
7979

0 commit comments

Comments
 (0)