mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-26 02:55:17 +00:00
[SponsorBlock] Relax duration check for large segments
This commit is contained in:
parent
73ac0e6b85
commit
cd5df121f3
1 changed files with 2 additions and 1 deletions
|
@ -64,7 +64,8 @@ def duration_filter(s):
|
||||||
if duration and duration - start_end[1] <= 1:
|
if duration and duration - start_end[1] <= 1:
|
||||||
start_end[1] = duration
|
start_end[1] = duration
|
||||||
# SponsorBlock duration may be absent or it may deviate from the real one.
|
# SponsorBlock duration may be absent or it may deviate from the real one.
|
||||||
return s['videoDuration'] == 0 or not duration or abs(duration - s['videoDuration']) <= 1
|
diff = abs(duration - s['videoDuration']) if s['videoDuration'] else 0
|
||||||
|
return diff < 1 or (diff < 5 and diff / (start_end[1] - start_end[0]) < 0.05)
|
||||||
|
|
||||||
duration_match = [s for s in segments if duration_filter(s)]
|
duration_match = [s for s in segments if duration_filter(s)]
|
||||||
if len(duration_match) != len(segments):
|
if len(duration_match) != len(segments):
|
||||||
|
|
Loading…
Reference in a new issue