Skip to content

PySceneDetect v0.5-beta-1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Breakthrough Breakthrough released this 07 Aug 02:04

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 from N, where N is the last frame shown in the scene, to N+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 the split-video command, improving compatibility with third-party tools.
  • If the frame_skip option is specified to be greater than 0 when using a scenedetect.SceneManager, it is now explicitly disallowed to use a scenedetect.StatsManager with the SceneManager. If quicker processing speed is required, users should set the downscale_factor via set_downscale_factor(downscale_factor=None). If no downscale_factor is passed (i.e. downscale_factor is None), 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 from FrameTimecode object, and modify second argument fps so it can also be a FrameTimecode 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 for split-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 for split-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
  • Addsplit-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 in NAME

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).