spikefinder
NVENC_H265
dataclass
Bases: VideoEncoder
Uses ffmpeg to encode clip to a h265 stream via nvenc. (Should this be in vsmuxtools?)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
settings
|
str
|
Can either be a string of your own settings or any of the 3 presets. |
''
|
ensure_props
|
bool
|
Calls initialize_clip on the clip to have at the very least guessed props |
True
|
Source code in vodesfunc/spikefinder.py
fetch_frames_with_sizes(fileIn, fps)
Extracts frame info with ffprobe
Source code in vodesfunc/spikefinder.py
find_spikes(clip, threshold=11500, nvenc_settings='-preset 3 -rc vbr_hq -pix_fmt p010le -b:v 6M -maxrate:v 22M', print_ranges=False, export_file=None, ignore_existing=False)
Encodes a clip with nvenc hevc and analyzes the bitrate averages between scene changes to find spikes.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
clip
|
VideoNode
|
Clip to encode |
required |
threshold
|
int
|
Bitrate threshold to add to ranges (in kbps, I think) |
11500
|
nvenc_settings
|
str
|
Settings to use for the encoder |
'-preset 3 -rc vbr_hq -pix_fmt p010le -b:v 6M -maxrate:v 22M'
|
print_ranges
|
bool
|
If you want to print the ranges with corresponding bitrates |
False
|
export_file
|
None | PathLike
|
Export the ranges to a bookmarks file with the given name. None to disable. |
None
|
ignore_existing
|
bool
|
Run again and overwrite the exported file if it exists. By default it won't run again. |
False
|
Source code in vodesfunc/spikefinder.py
split_by_keyframes(data, clip)
Search for scene changes and divide framedata into chunks that start with one.