7 ms·
Hey HN! I just launched VideoMentions Search, a free tool that allows you to search YouTube to find videos that contain specific spoken words. Here's how to qu
by kellenmace 4y ago
Hey HN! I just launched VideoMentions Search, a free tool that allows you to search YouTube to find videos that contain specific spoken words.
Here's how to quickly try it out -
Let's say you want to find every video on The Verge's YouTube channel within the last several months in which "MacBook Pro" is mentioned. Here's a pre-populated search to accomplish that:
https://videomentions.com/search?channelUrl=https%253A%252F%252Fwww.youtube.com%252Fc%252FTheVerge&keywords=MacBook%2520Pro&dateRange=3 https://videomentions.com/search?channelUrl=https%253A%252F%...
If you follow that ^ link, then click the button to perform the search, you'll see all matching videos, with every single mention of "MacBook Pro" highlighted.
My favorite part is that all the highlighted matches are timestamped. So you can click on any of them to jump to that exact moment in the video when that keyword was said!
VideoMentions Search is great for these scenarios:
- You want to find all videos within a YouTube channel that mention your brand, your product, or the topics you care about.
- You remember watching a video where a certain topic was discussed, and now you're trying to remember which video it was to rewatch it.
- You run your own YouTube channel and want to quickly find the exact moments in your videos where you cover certain topics, so you can link others to that content.
I have wanted a way to search YouTube based on spoken words for a while. I couldn't find a tool that provides that capability though, so I built it!
I hope you find VideoMentions Search useful! I'd love to hear any feedback you have on it. Please let me know!
- rodnim 4y ago> - You remember watching a video where a certain topic was discussed, and now you're trying to remember which video it was to rewatch it. But I need to remember which channel I watched? Maybe I'm missing something, but in my eyes it would make it tremendously more useful if I didn't have to specify channel.
- Nowado 4y agoI'm sure it would be, but then you're indexing whole youtube with respect to words spoken in each video. A thing that Google, arguably the best organization when it comes to indexing stuff, is working on.
- kellenmace 4y agoYes, my thoughts exactly. If Google decides that it's going to revamp YouTube search to include spoken word/transcription matches, that would make VideoMentions Search irrelevant– and I'd be okay with that! In the meantime, I think this is a useful free tool for quickly finding spoken word matches within specific channels. Thanks for checking it out!
- kellenmace 4y agoYeah, YouTube doesn't provide a way to search all of YouTube based on the spoken words in videos. I could update VideoMentions Search to allow users to select multiple channels, and then perform the search across all of those (maybe importing all the channels they're subscribed to could be handy... ). One way or another though, it would still require selecting specific channels to search within. That limitation notwithstanding, I still think it's a useful tool, though! Thanks for checking it out!
- mistermann 4y agoCould you do a search based on their watch history if they have it enabled?
- hanniabu 4y agoThat'd certainly be useful
- kellenmace 4y agoThis is a cool idea! It wouldn't apply to people who want to search all the videos on a given channel for specific keywords (including those they haven't watched). I can see it being useful for folks trying to locate a specific video they remember watching in the past, though. One consideration is that getting the user's watch history would likely require calls to the YouTube API. So that means I would have to make this a paid service in order to offset the code of those API requests. The beautiful thing about the current iteration is that it doesn't rely on YouTube's API at all. By scraping YouTube pages and leveraging a few NPM packages, I'm currently able to offer free and unrestricted access to it. If enough people request that ability though, I'll consider incorporating it. Thanks for checking out my project and for the great idea!
- victor141516 4y agoSadly YouTube API doesn't allow you to retrieve user's history, so you need to scrape that aswell. I created a exactly that project: https://github.com/victor141516/YourArch https://github.com/victor141516/YourArch
- jobigoud 4y agoI tried on this channel which is in Spanish [1] and it returned very fast with no results. Then tried on GeoWizard channel (English) and it worked great. There is a somewhat related tool called Youglish that works on subtitles, it's great for checking the pronunciation or usage of a word or expression in many languages, but it's based on a curated list of channels with known good subtitles. I thought yours could be a great complement to this as it works directly on the audio. [1] https://www.youtube.com/c/Tercosmicqueen https://www.youtube.com/c/Tercosmicqueen
- kellenmace 4y agoHey @jobigoud! Yeah, currently VideoMentions only uses the auto-generated English video transcriptions when searching for matches. If there was enough demand, it could be expanded to support other languages. Doing so would add complexity and would make searches take much longer, though. I'd probably need to add more UI fields to allow users to select the languages to target. Could be done, though! Yes, youglish.com is a neat tool! I stumbled upon it when looking around for a way to search YouTube videos based on spoken words. Thanks for checking it out! :)
- deleted 4y ago[deleted]
- corobo 4y agoVery cool! Well done! I've not got a legit use for it right now but the few example searches I thought up returned the videos I was thinking of Nice work!
- kellenmace 4y agoCool! Thank you! Here are some example use-cases that I included in another comment, in case any of them are relevant to you: 1. You want to find all videos within a YouTube channel that mention your brand, your product, or the topics you care about. 2. You remember watching a video where a certain topic was discussed, and now you're trying to remember which video it was to rewatch it. 3. You run your own YouTube channel and want to quickly find the exact moments in your videos where you cover certain topics, so you can link others to that content. Maybe #2 happens occasionally? If so, maybe you can bookmark VideoMentions Search for just such an occasion :) In any event, thanks for checking out my project, and for the kind words!
- corobo 4y agoSite's definitely bookmarked in my toolbox for sure! I imagine #2 will be my primary use case personally -- If not for me, to answer "Does anyone know the video where.." e: thinking about it I know a few people who pull highlights out of their older content (sort of #3). Shared with them :)
- corobo 4y agoThey loved it if you see any stats along the line of Scotland/UK + Discord referral haha
- loxias 4y agoThis looks super cool! There's a need for tools to make the millions of videos on the web actually useful for people like me who would much rather skim search and read than watch. Bravo to you for making a stab at it! I'm guessing you need a specific channel as a way of getting a list of videos, then pulling the captioning, then searching? (That's the only reason I could think of for the channel restriction, which unfortunately removes 90% of the utility)
- kellenmace 4y agoHey @loxias! Yes, you're exactly right - VideoMentions scrapes the video page markup and pulls out the "baseUrl" for the English caption track. It converts that XML caption track into JSON, then searches it for keyword matches. YouTube doesn't provide a way to search all of YouTube based on spoken words, unfortunately. Still, I think this is a useful tool for quickly locating spoken word matches within a certain channel. Some Hacker News commenters have suggested that I could auto-import all the channels the user is subscribed to, or get videos from their watch history, which are interesting ideas. For this first iteration, I kept things simple with a single "Channel URL" input. Thanks for checking out my project, and for your feedback!
- loxias 4y ago> Still, I think this is a useful tool for quickly locating spoken word matches within a certain channel. Absolutely, and I agree, however,.... it necessitates that the user use or understand "channels". When I went to your site my first thought was "what the hell's a channel?" ;-) But yeah, for whatever percentage of youtube users use channels, I see this having a lot of use. My totally unsolicited advice is that you'll have to find some way to remove the channel requirement. Perhaps suggesting channels based on the search terms. (I've seen your other comments about adding features to a paid version) I haven't yet managed to get VideoMentions to actually work, but that's fine, I assume you're getting hugged to death. :D Shipping anything is hard, and congrats for that.
- kellenmace 4y ago
- CopOnTheRun 4y agoHow are you sourcing the text for the videos? This search [1] grabs some results for my query, but it does miss this [2] video which contains the searched keyword multiple times, and the video's subtitles indicates as much. [1] https://videomentions.com/search?channelUrl=https%253A%252F%252Fwww.youtube.com%252Fuser%252Faragusea&keywords=toxic&dateRange=all https://videomentions.com/search?channelUrl=https%253A%252F%... [2] https://www.youtube.com/watch?v=3denP7wX2XU&t=296s https://www.youtube.com/watch?v=3denP7wX2XU&t=296s
- kellenmace 4y agoVideoMentions scrapes the video page markup and pulls out the "baseUrl" for the English caption track. It converts that XML caption track into JSON, then searches it for keyword matches. You're right that this particular search for "toxic" should find several spoken word matches, but it doesn't. It seems like the tool isn't able to access the captions data for that video for some reason. I made a note of this bug, and I'll look into fixing it. Thanks for pointing it out, and for checking out VideoMentions Search!
- tcmb 4y agoyt-dlp [1] has command-line options to download only the captions of a video, in available languages, if you want to skip the scraping for the link. I built something similar [2] for a slightly different use case. I wanted to be able to search through all Ram Dass talks in the 'Here and Now' podcast series on YT. I'm obviously not as skilled at CSS. :) And the display of timestamps is still a bit shaky, but for me it fulfills its purpose. Since I'm able to preload all caption files ahead of time, I'm just using pcregrep for the search which does a pretty good job. [1] https://github.com/yt-dlp/yt-dlp https://github.com/yt-dlp/yt-dlp [2] https://ramdass-search.net https://ramdass-search.net
- barefeg 4y agoAre the video transcripts searchable?
- kellenmace 4y agoYes, this is how VideoMentions Search works. It scrapes the video page markup and pulls out the "baseUrl" for the English caption track. It converts that XML caption track into JSON, then searches it for keyword matches. Is that what you're asking about? If you want to search within the transcript of a single video, you can accomplish that with these steps: https://kb.swtc.edu/page.php?id=90230 https://kb.swtc.edu/page.php?id=90230
- barefeg 4y agoAh got it. I thought there would be some API where the transcripts could be searched across videos. Maybe that requires way to many resources for Google to index
- kellenmace 4y agoYeah, Google is of course the king of search, so they could certainly decide to revamp YouTube search to include spoken word/transcription matches. They have all the data required to make that happen. That would make VideoMentions Search irrelevant– and I'd be okay with that! In the meantime, I think this is a useful tool for quickly locating videos based on spoken words. Thanks for checking out my project!
- Abishek_Muthian 4y agoCongratulations on the launch! VideoMentions is addressing the need-gap: 'Searching YouTube videos with transcript'[1] posted on my problem validation forum. I appreciate that rather than just building a browser add-on to search individual video, You've built a business use case for brand monitoring. I hope you get profitable enough to afford the compute necessary to monitor top channels without having to explicitly mention them. You're welcomed to explain how it addresses that problem at needgap, So those who need it can find it easily. [1]: https://needgap.com/problems/88-searching-youtube-videos-with-transcript-youtube-transcript https://needgap.com/problems/88-searching-youtube-videos-wit...