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
, whereN
is 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-video
command, improving compatibility with third-party tools. - If the
frame_skip
option is specified to be greater than 0 when using ascenedetect.SceneManager
, it is now explicitly disallowed to use ascenedetect.StatsManager
with theSceneManager
. If quicker processing speed is required, users should set thedownscale_factor
viaset_downscale_factor(downscale_factor=None)
. If nodownscale_factor
is passed (i.e.downscale_factor
isNone
), 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_time
argument fromFrameTimecode
object, and modify second argumentfps
so it can also be aFrameTimecode
object 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-video
mode. The new default mode forsplit-video
is what-p/--precise
used to be, but somewhat faster, with an additional-h/--high-quality
flag to increase output video quality at expense of time, thus the default mode forsplit-video
is slower than it used to be, but significantly more accurate in terms of where output videos are split - The
split-video
flag-m/--mkvmerge
has been changed to-c/--copy
to 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-video
option-f/--ffmpeg-args
to-a/--override-args
to prevent conflicts with new options - Add
split-video
option-o/--output DIR
to specify output directory as well as-f/--filename NAME
to specify output filename, which allows the use of the macros$VIDEO_NAME
and$SCENE_NUMBER
inNAME
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).