3 ms·
I suspect this is the comment mentioned: https://youtu.be/_Sd608uzI0Q?t=710 https://youtu.be/_Sd608uzI0Q?t=710
by banana_giraffe 2y ago
I suspect this is the comment mentioned:
https://youtu.be/_Sd608uzI0Q?t=710 https://youtu.be/_Sd608uzI0Q?t=710
- consumer451 2y agoExactly! I am really curious, how did you find this? Was it memory, or search?
- banana_giraffe 2y agoOh, my memory isn't nearly that good. I thought you were right, but I couldn't remember it more than that. I cobbled together the correct yt-dlp command to get all the subtitles and a little Python glue to search them.
- consumer451 2y agoOMGosh. Thank you. I did actually try to find it, but I put in much less effort via Google searches, and obviously failed. Thanks for taking the time. Now I need to learn more about yt-dlp. Would you mind sharing the yt-dlp command which helped you get all the subtitles?
- banana_giraffe 2y agoSure, this was the command I used: ./yt-dlp --skip-download --write-sub --write-auto-sub --sub-lang en --sub-format json3 "https://www.youtube.com/playlist?list=PL8mG-RkN2uTw7PhlnAr4pZZz2QubIbujH" That'll grab all the WAN shows (that's the playlist LTT provides for the WAN) of the autogenerated subs in a rather, uh, unique, JSON based format. From there I wrote some throw away quality Python to find razor or blade near percent: import os, json hits, files = 0, 0 for cur in [x for x in os.listdir(".") if x.endswith(".json3")]: files += 1 with open(cur) as f: data = json.load(f) words = [] for event in data["events"]: at = event["tStartMs"] for seg in event.get("segs", []): words.append((len(words), at, seg["utf8"].strip().lower())) span = 10 * 1000 for i, at, word in words: if word in {"razor", "blade", "razors", "blades"}: span_min = min(x[0] for x in words if abs(x[1] - at) <= span) span_max = max(x[0] for x in words if abs(x[1] - at) <= span) for other_i, other_at, other_word in words[span_min:span_max+1]: if other_word in {"percent"}: print("-" * 100) loc = min(at, other_at) // 1000 loc = f"{loc//3600}:{(loc%3600)//60:02d}:{loc%60:02d}" print(loc + ": " + cur) phrase = " ".join(x[2] for x in words[min(i,other_i): max(i,other_i)+1]) print(phrase) hits += 1 print(f"{hits} hits in {files} files.") It found some false positives (maybe one, don't remember), and the hit shared above.
- consumer451 2y agoThank you very much.