Breakthrough
released this
Release Notes
- Resolved long-standing bug where
split-videocommand would duplicate certain frames at the beginning/end of the output (#93) - This was determined to be caused by copying (instead of re-encoding) the audio track, causing extra frames to be brought in when the audio samples did not line up on a frame boundary (thank you @joshcoales for your assistance)
- Default behavior is to now re-encode audio tracks using the
aaccodec when usingsplit-video(it can be overriden in both the command line and Python interface) - Improved timestamp accuracy when using
split-videocommand to further reduce instances of duplicated or off-by-one frame issues - Fixed application crash when using the
-l/--logfileargument
Changelog
- [bugfix] Changed default audio codec from 'copy' to 'aac' when splitting scenes with
ffmpegto reduce frequency of frames from next scene showing up at the end of the current one when split usingffmpeg(see #93, #159, and PR #166 - thank you everyone for your assistance, especially joshcoales, amvscenes, jelias, and typoman). If this still occurs, please provide any information you can by filing a new issue on Github. - [enhancement]
video_splittermodule now has completed documentation - [bugfix] improve timestamp accuracy using the
split-videocommand due to timecode formatting - [bugfix] fix crash when supplying
-l/--logfileargument (see #169, thanks @typoman)
Known Issues
- Seeking through long videos is inefficient, causing the
timeandsave-imagescommand to take a long time to run. This will be resolved in the next release (see #98) - The
save-imagescommand causes PySceneDetect to crash under Python 2.7 (see #174) - Variable framerate videos are not supported properly currently (#168), a warning may be added in the next release to indicate when a VFR video is detected, until this can be properly resolved (#168)
Assets
2
Breakthrough
released this
Minor release including only additions and bugfixes (thanks to everyone who contributed to this release!). Changelog:
- [enhancement]
--min-durationnow accepts a timecode in addition to frame number (#128, thanks @tonycpsu) - [feature] Add
--image-frame-marginoption tosave-imagescommand to ignore a number of frames at the start/end of a scene (#129, thanks @tonycpsu) - [bugfix]
--min-scene-lenoption was not respected by first scene (#105, thanks @charlesvestal) - [bugfix] Splitting videos with an analyzed duration only splits within analyzed area (#106, thanks @charlesvestal)
- [bugfix] Improper start timecode applied to the
split-videocommand when usingffmpeg(#93, thanks @typoman) - [bugfix] Added links and filename sanitation to html output (#139 and #140, thanks @wsj018)
- [bugfix] UnboundLocalError in
detect_sceneswhenframe_skipis larger than 0 (#126, thanks @twostarxx)
Assets
2
-
minor re-release of v0.5.1, includes updated setup.py which returns OpenCV to an optional dependency
-
to install from pip now with all dependencies:
pip install scenedetect[opencv,progress_bar] -
to install only PySceneDetect: (separate OpenCV installation required)
pip install scenedetect -
the release notes of v0.5.1 have been modified to include the prior command
-
no change to PySceneDetect program version
-
[feature] add
get_durationmethod to VideoManager (#109, thanks @arianaa30)
This change was made to support platforms where the opencv-python package is unavailable, and to allow using a non-pip version of OpenCV (e.g. a binary install or building from source). See #73 for why the original fix was implemented, and #111 for details on what prompted this re-release.
Assets
2
Breakthrough
released this
- [feature] Add new
export-htmlcommand to the CLI (thanks @wjs018) - [bugfix] VideoManager read function failed on multiple videos (thanks @ivan23kor)
- [bugfix] Fix crash when no scenes are detected (#79, thanks @raj6996)
- [bugfix] Fixed OpenCV not getting installed due to missing dependency (#73)
- [enhance] When no scenes are detected, the whole video is now returned instead of nothing (thanks @piercus)
- Removed Windows installer due to binary packages now being available, and to streamline the release process (see #102 for more information). When you type
pip install scenedetect[opencv,progress_bar], all dependencies will be installed.
Assets
2
Breakthrough
released this
You can install via pip:
pip install scenedetect
There is now a manual published at manual.scenedetect.com. See the main project page for details on installing dependencies.
The Windows build should be released within a week or so.
Changelog
- major release, includes stable Python API with examples and updated documentation
- numerous changes to command-line interface with addition of sub-commands (see the new manual for updated usage information)
- [feature] videos are now split using ffmpeg by default, resulting in frame-perfect cuts (can still use mkvmerge by specifying the -c/--copy argument to the split-video command)
- [enhance] image filename numbers are now consistent with those of split video scenes (PR #39, thanks @e271828-)
- [enhance] 5-10% improvement in processing performance due to reduced memory copy operations (PR #40, thanks [@elcombato] (#40))
- [enhance] updated exception handling to raise proper standard exceptions (PR #37, thanks @talkain)
- several fixes to the documentation, including improper dates and outdated CLI arguments (PR #26 and #, thanks [@elcombato] (#26), and @colelawrence)
- numerous other PRs and issues/bug reports that have been fixed - there are too many to list individually here, so I want to extend a big thank you to everyone who contributed to making this release better
- [enhance] add Sphinx-generated API documentation (available at: http://manual.scenedetect.com)
- [project] move from BSD 2-clause to 3-clause license
Assets
2
Breakthrough
released this
Updated beta release, only bugfixes to API, several modifications/changes to CLI commands. Summary of major API changes:
- Modify definition of end timecode returned by
scenedetect.SceneManager.get_scene_list()method fromN, whereNis the last frame shown in the scene, toN+1. This now means that the end timecode/frame equals the start timecode/frame of the next adjacent scene. Also note that this is also the definition expected from the external tools used to export video when specifying thesplit-videocommand, improving compatibility with third-party tools. - If the
frame_skipoption is specified to be greater than 0 when using ascenedetect.SceneManager, it is now explicitly disallowed to use ascenedetect.StatsManagerwith theSceneManager. If quicker processing speed is required, users should set thedownscale_factorviaset_downscale_factor(downscale_factor=None). If nodownscale_factoris passed (i.e.downscale_factorisNone), the downscale factor will be computed automatically based on the resolution of the source material, which provides a balance of performance and accuracy for most videos. - Removed unnecessary
new_timeargument fromFrameTimecodeobject, and modify second argumentfpsso it can also be aFrameTimecodeobject from which the framerate is copied, allowing creation of new timecodes from existing ones to follow a much more intuitive syntax.
Summary of major CLI changes from v0.5-beta:
- Fix erroneous output given by default
split-videomode. The new default mode forsplit-videois what-p/--preciseused to be, but somewhat faster, with an additional-h/--high-qualityflag to increase output video quality at expense of time, thus the default mode forsplit-videois slower than it used to be, but significantly more accurate in terms of where output videos are split - The
split-videoflag-m/--mkvmergehas been changed to-c/--copyto better indicate what is happening, and requires mkvmerge, which produces output files significantly faster, but at the expense of frame-perfect accuracy when splitting. - Fix erroneous output given by
split-video -c/--copy. - Changed
split-videooption-f/--ffmpeg-argsto-a/--override-argsto prevent conflicts with new options - Add
split-videooption-o/--output DIRto specify output directory as well as-f/--filename NAMEto specify output filename, which allows the use of the macros$VIDEO_NAMEand$SCENE_NUMBERinNAME
Several updates to other commands as well; use the help command to list all available commands, and the help [command] command to view the options/flags for a particular command (or alternatively help all to show the entire PySceneDetect help/reference manual). Also fixed setup.py (thanks @ishandutta2007).
Assets
2
Beta release of PySceneDetect v0.5 with significantly refactored API and CLI. Users are encouraged to upgrade to the v0.5-beta as soon as possible. The release of v0.5 will break existing scripts/programs; both the command-line interface and Python API have changed significantly to support future development.
Try scenedetect help or scenedetect help all to get started. See the updated README.md for updated quickstart information.
When the final version of v0.5 is released, beta users can upgrade seamlessly. The final release distribution of PySceneDetect v0.5 will be made available some time this month, including source/binary distributions.
This is a source-only distribution, and can only be run locally via the scenedetect.py script. To install the beta, download v0.5-beta-1 or newer (via setup.py install - the version will show up as v0.5-dev). Requires ffmpeg or mkvmerge to enable support for the split-video command.
Includes unit tests using pytest (to run, type pytest -v).
Assets
2
Breakthrough
released this
This latest release includes integrated video splitting via mkvmerge if installed on the system (included with Windows builds). Note, this update changes the behaviour of the -o / --output option. Overview of changes:
- specifying
-o OUTPUT_FILE.mkvwill now automatically split the input video, generating a new video clip for each detected scene in sequence, starting withOUTPUT_FILE-001.mkv - CSV file output is now specified with the
-co/--csv-outputoption (note, used to be-oin versions of PySceneDetect < 0.4)
The specific components distributed with the Windows binaries are Python 3.4.4, OpenCV 3.1.0, Numpy 1.11.2, and mkvmerge 9.7.1.
Assets
4
Breakthrough
released this
This release includes some performance improvements, internal application structure changes, and a new lightweight installer for Windows that doesn't require an existing Python environment (a portable version is also available). The recommended installation method for Linux and Mac users is to download the source distribution and run sudo setup.py install in the location of the extracted files (once you have installed the prerequisite OpenCV and Numpy packages for Python).
- [enhance] speed improvement when using
--frameskipoption - [internal] moved application state and shared objects to a consistent interface (the
SceneManagerobject) to greatly reduce the number of required arguments for certain API functions - [enhance] added installer for Windows builds (64-bit only currently)
The specific components distributed with the Windows binaries are Python 3.4.4, OpenCV 3.1.0, and Numpy 1.11.2.
Assets
4
Breakthrough
released this
This release includes some minor bug-fixes, as well as includes a portable build for 64-bit Windows users that don't want to install a Python environment (download PySceneDetect-XYZ-win64.zip and run scenedetect.exe from a command prompt; note you may need to add the folder to your %PATH% variable manually.).
- [enhance] initial release of portable build for Windows (64-bit only), including all dependencies
- [bugfix] fix unrelated exception thrown when video could not be loaded
- [internal] fix variable name typo in API documentation
The specific components distributed with the Windows binaries are Python 3.4.4, OpenCV 3.1.0, and Numpy 1.11.2.