PySceneDetect v0.6-dev2 #261
Breakthrough
announced in
News
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Release Notes
This is a pre-release of the upcoming PySceneDetect v0.6. You can grab it from
pip:PySceneDetect v0.6 is a major breaking change including better performance, configuration file support, and a more ergonomic API. The new minimum Python version is now 3.6. See the Migration Guide for information on how to port existing applications to the new API. Most users will see performance improvements after updating, and changes to the command-line are not expected to break most workflows.
The main goals of v0.6 are reliability and performance. To achieve this required several breaking changes. The video input API was refactored, and many technical debt items were addressed. This should help the eventual transition to the first planned stable release (v1.0) where the goal is an improved scene detection API.
Changelog
Overview:
VideoManager(replaced withVideoStream),StatsManager, andsave_images()Command-Line Changes:
-c/--configor from a user config folder (see documentation for details)-i/--inputmay no longer be specified multiple times (use an external tool likeffmpegto perform concatenation first)-l/--logfilenow respects-o/--output-b/--backendoption can be set to use a specific video backendopencv(default) andpyavif theavpackage is installedscenedetect helpto see a list of backends available on the current system-v/--verbositynow takes precedence over-q/--quietdetect-adaptivecommand:--drop-short-scenesglobal option now works correctly withdetect-adaptivedetect-contentcommand:-t/--thresholdlowered to 27 to be more sensitive to shot changes (#246)-m/--min-scene-lenoptiondetect-thresholdcommand:-p/--min-percentand-b/--block-sizehave been removed-m/--min-scene-lenoptionsplit-videocommand:-ahas been changed to--args(from--override-args)-c/--copynow usesffmpeginstead ofmkvmerge-m/--mkvmergeflag can be set to usemkvmergeinstead offfmpegAPI Changes:
VideoStreamreplacesVideoManagerand supports both OpenCV (VideoStreamCv2) and PyAV (VideoStreamAv) backends (#213)frame_numberis 1-based whereaspositionis 0-based to align with PTS)test_time_invariantsintests/test_video_stream.pyas a reference for specific behaviours of these properties, and a test video detailing visually what is expectedSceneManager:SceneManageris now responsible for frame downscaling (see thedownscaleandauto_downscaleproperties)detect_scenes()now performs video decoding in a background thread which greatly improves performance in many casesclear()now also clears anydetect_scenes()no longer displays a progress bar by default (setshow_progress=Trueto restore the previous behaviour)detectors, as detectors are statefulget_scene_list()now returns an empty list if there are no detected cuts (previously one scene with the duration of the video was returned)start_in_scene=Truedetectfunction inscenedetectmodule that only has two required arguments: the path to a video (path) and a detector (detector)save_images()no longer accepts downscale_factor, since there is already the ability to resize images via thescaleorheight/widthargumentsStatsManagerload/save methods now accept a path or an open file handlescenedetect.video_splitter)previous_framemethod ofFrameTimecodeallowing a negative frame numberMAX_FPS_DELTAandMINIMUM_FRAMES_PER_SECOND_DELTA_FLOATinscenedetect.frame_timecodeinto newMAX_FPS_DELTAconstantvideo_managerparameter has been removed from theAdaptiveDetectorconstructorsplit_video_ffmpegandsplit_video_mkvmergefunctions inscenedetect.video_splitterarguments have been renamed and defaults updated:suppress_outputis nowshow_output, default isFalsehide_progressis nowshow_progress, default isFalseblock_sizeargument has been removed from theThresholdDetectorconstructorcalculate_frame_scoremethod ofContentDetectorhas been renamed to_calculate_frame_score, use new module-level function of the same name insteadKnown Issues
save-imagesorsplit-videocommands-l/--add-last-sceneoption indetect-thresholdcannot be disabledThis discussion was created from the release PySceneDetect v0.6-dev2.
Beta Was this translation helpful? Give feedback.
All reactions