[HN Gopher] Yt-transcriber - Give a YouTube URL and get a transc...
       ___________________________________________________________________
        
       Yt-transcriber - Give a YouTube URL and get a transcription
        
       Author : Bluestein
       Score  : 148 points
       Date   : 2025-07-22 13:51 UTC (9 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | cmaury wrote:
       | Thanks for sharing. This is exactly the type of utility that
       | vibecoding is for. It takes 5 secons to ask GPT to write a scripr
       | to do this tailored to your specific use case. It's way faster
       | than trying to get someone elses repo up and running.
        
         | Bluestein wrote:
         | Sure thing ...
         | 
         | And, yes, indeed, AI-coding is order-of-magnitude having an
         | effect along the lines that "low-code" was treading ...
         | 
         | ... also, for less-capable coders or "borderline" coders the
         | effort/benefit equation has radically shifted.-
        
         | sannysanoff wrote:
         | Selfware.
         | 
         | https://old.reddit.com/r/ChatGPTCoding/comments/1lusr07/self...
         | 
         | Gonna be lots of posts of selfware like that soon.
        
           | Bluestein wrote:
           | I think you either coined (kudos) or spotted the true "term
           | du jour" here.-
        
             | sannysanoff wrote:
             | people don't even get it :-]
        
           | cmaury wrote:
           | I like it, though I'm sure we'll end up being stuck with
           | "vibe ware"
        
       | mikeve wrote:
       | Interesting project! I've been working on a project in this space
       | myself (WaveMemo)
       | 
       | I must say, speaker diarization is surprisingly tricky to do. The
       | most common approach seems to be to use pyannote, but the quality
       | is not amazing...
        
         | ethan_smith wrote:
         | For better diarization quality than pyannote, check out
         | Whisper-DiarizationX which combines Whisper with ECAPA-TDNN
         | speaker embeddings and spectral clustering.
        
       | paulirish wrote:
       | Can also just fetch the subs already in YouTube rather than
       | retranscribing. eg:
       | 
       | yt-dlp --write-auto-subs --skip-download
       | "https://www.youtube.com/watch?v=7xTGNNLPyMI"
        
         | toomuchtodo wrote:
         | It's a good call out. I leverage yt-dlp as a library for
         | downstream tooling (archival of media to long term storage
         | repositories), and always recommend folks rely on yt-dlp
         | whenever possible due to the ecosystem of folks grinding to
         | keep their extractors current. Their maintainers are both
         | helpful and responsive.
         | 
         | (with that said, I do not want to diminish OP's work in any
         | way; great job! "What I cannot build, I do not understand" -
         | Feynman)
        
           | paulirish wrote:
           | Same, yup. OP is indeed already using yt-dlp for the video
           | download. (Then Whisper for transcribing,
           | Ollama/lmstudio/OpenAI for summarizing)
        
             | hiAndrewQuinn wrote:
             | Minus the summarization, that is the same pipeline I use in
             | [1] for generating listening practice Anki flashcards for
             | foreign language students. It surprised me that nobody had
             | really built out a program I could find around yt-dlp and
             | Whisper for this kind of use case even a few years after it
             | came out.
             | 
             | [1]: https://github.com/hiAndrewQuinn/audio2anki
        
         | Jerry2 wrote:
         | Yep. You can also automatically save them if you use mpv to
         | watch YT: https://github.com/nick-s-b/mpv-transcript discovered
         | this script yesterday.
        
         | adamgordonbell wrote:
         | Recently, I was working on a similar project and I found that
         | grabbing the transcripts quickly leads to your IP being blocked
         | for the transcripts.
         | 
         | I ended up doing the same as this person, downloading the MP4s
         | and then transcribing myself. I was assuming it was some sort
         | of anti LLM scraper feature they put in place.
         | 
         | Has anyone used this --write-auto-subs flag and not been
         | flagged after doing 20 or so videos?
        
           | hamiecod wrote:
           | ---write-auto-subs gets your IP banned for 12/24 hours if you
           | download video subtitles in bulk but if the subtitles are
           | downloaded with sufficient time gap in between, the ban is
           | not triggered.
           | 
           | My startup has to utilize youtube transcriptions so we just
           | subscribe to a youtube transcriptor api hosted on rapidapi
           | that downloads subtitles. 1$ per 1000 reqs. Pretty cheap
        
             | MysticOracle wrote:
             | Yep, this happened to me & got IP banned for a day.
        
           | ldenoue wrote:
           | Unless you fetch directly from your browser. It works by
           | getting the YouTube json including the captions track. And
           | then you get the baseUrl to download the xml.
           | 
           | I wrote this webapp that uses this method: it calls Gemini in
           | the background to polish the raw transcript and produce a
           | much better version with punctuation and paragraphs.
           | 
           | https://www.appblit.com/scribe
           | 
           | Open source with code to see how to fetch from YouTube
           | servers from the browser
           | https://ldenoue.github.io/readabletranscripts/
        
           | thangalin wrote:
           | systemctl start tor         yt-dlp --proxy
           | socks5://127.0.0.1:9050 --write-subs --write-auto-subs
           | --skip-download [URL]
           | 
           | See: https://github.com/noobpk/auto-change-tor-ip
        
         | mckirk wrote:
         | I've found the YT transcripts to be severely lacking sometimes,
         | in accuracy and features. Especially speaker identification is
         | really useful if you want to e.g. summarize podcasts or
         | interviews, so if this project here delivers on that then it's
         | definitely better than the YT transcripts.
        
           | stanleykm wrote:
           | I've had some success with running them through another LLM
           | to have it clean up the transcription errors based on the
           | context. But this obviously does nothing for speaker
           | identitication.
        
           | paulirish wrote:
           | An approach I've been using recently is to rely on
           | pyannote/tinydiarize only for the speaker_turn timestamps,
           | but prefer the larger model (or in this case YT's
           | autotranscript) for the actual text.
        
             | ldenoue wrote:
             | Check out https://ldenoue.github.io/readabletranscripts/
             | and the website https://www.appblit.com/scribe that use
             | Gemini to post correct the raw transcripts
        
         | rpastuszak wrote:
         | IIRC YT also has a "private" API you can call directly (or via
         | an npm package: youtube-transcribe).
         | 
         | (I'm using it in https://butter.sonnet.io)
        
       | 0points wrote:
       | Youtube already offers AI transcriptions on their site. As
       | another commenter points out, you grab them with yt-dlp.
       | 
       | And unlike how your tool will be supported in the future,
       | thousands of users make sure yt-dlp keeps working as google keep
       | changing the site (currently 1459 contributors).
        
         | passivegains wrote:
         | the volunteer open source effort behind youtube-dl and its
         | forks/descendants are so impressive in large part because of
         | how many features they provide and thus have to maintain:
         | https://github.com/yt-dlp/yt-dlp#usage-and-options this tool
         | won't provide the list of available thumbnails or settings for
         | HTTP buffer size, but I think that's a pretty reasonable
         | tradeoff.
        
         | swyx wrote:
         | if you used this in earnest sufficiently, you'd know yt default
         | transcripts are not good enough because youtube often (ok say
         | 5% of time) fails to transcribe videos particularly livestreams
         | and shortly after release.
         | 
         | youtube also blocks transcript exports for some things like
         | https://youtubetranscript.com/
         | 
         | retranscribing is necessary and important part of the creator
         | toolset.
        
       | isubkhankulov wrote:
       | I've been using this free tool. It gives quality diarized
       | transcripts https://contentflow.megalabs.co
        
       | Leftium wrote:
       | Two similar Show HN projects:
       | 
       | - This python one is more amenable to modding into your own
       | custom tool: https://hw.leftium.com/#/item/44353447
       | 
       | - Another bash script: https://hw.leftium.com/#/item/41473379
       | 
       | ---
       | 
       | They all seem to be built on top of:
       | 
       | - yt-dlp to download video
       | 
       | - whisper for transcription
       | 
       | - ffmpeg for audio/video extraction/processing
        
       | eigenvalue wrote:
       | I made a tool like this a while ago which was useful for
       | transcribing a whole playlist automatically using whisper:
       | 
       | https://github.com/Dicklesworthstone/bulk_transcribe_youtube...
       | 
       | I ended up turning a beefed up version of it which makes polished
       | written documents from the raw transcript, you can try it at
       | 
       | https://youtubetranscriptoptimizer.com/
        
       | totallynotryan wrote:
       | Hey all, I built a 100% free (no-signup) youtube summarizer:
       | "https://youtube-summarizer-lime.vercel.app/". Accurate summaries
       | in under 8 seconds.
        
         | 93po wrote:
         | bookmarked, thanks, the top google search results always
         | require sign-up. frustrating state of the internet
        
         | dudeWithAMood wrote:
         | How did you get around youtube blocking cloud IP ranges? Are
         | you suing residential proxies?
        
       | lpeancovschi wrote:
       | Youtube's T&C don't allow downloading youtube audio/video. How do
       | other services get away with it?
        
         | MysticOracle wrote:
         | I think they use rotating IP/Proxy services
        
           | lpeancovschi wrote:
           | Might be, but I think google would still be able to chase
           | them down.
        
         | nadermx wrote:
         | "The court held that merely clicking on a download button does
         | not show consent with license terms, if those terms were not
         | conspicuous and if it was not explicit to the consumer that
         | clicking meant agreeing to the license."
         | 
         | https://en.m.wikipedia.org/wiki/Specht_v._Netscape_Communica...
        
           | lpeancovschi wrote:
           | I'm not a lawyer but I think even if you offset the legal
           | responsibilities to the user by alerting them with copyrights
           | prompt it's still illegal to download youtube videos.
        
             | nadermx wrote:
             | United States v. Auernheimer, 748 F.3d 525 (3d Cir. 2014).
             | Specifically, on page 12, footnote 5, the court states:
             | 
             | "We also note that in order to be guilty of accessing
             | 'without authorization, or in excess of authorization'
             | under New Jersey law, the Government needed to prove that
             | Auernheimer or Spitler circumvented a code- or password-
             | based barrier to access... The account slurper simply
             | accessed the publicly facing portion of the login screen
             | and scraped information that AT&T unintentionally
             | published."
        
       | manishsharan wrote:
       | Will this make Google mad at me and cancel/freeze all my Google
       | services ?
        
       | labrador wrote:
       | Many channels I follow, such as Vlad Vexler, have taken measures
       | so you can't download the transcript with yt-dlp. Furthermore,
       | they don't provide a transcipt option on their videos. I assume
       | this is to prevent people from just reading AI summaries, which
       | is annoying in Vexler's case because he talks slowly and meanders
       | around. If I really want to hear his point but don't want to
       | listen to that then I download the video with yt-dlp and use
       | Whisper to transcribe it.
        
         | Bluestein wrote:
         | ... the ... slower ... the guy the ... less ... content ... and
         | ... more ... advertising.-
        
         | rs186 wrote:
         | Curious, if you don't find this "annoying", why are you still
         | following the channel? There must be other YouTube channels
         | that offer similar content but deliver it in a better way.
        
       | arkaic wrote:
       | On this note, is Ytube also the best transcriber of foreign
       | languages or is there something better?
        
       | MysticOracle wrote:
       | For (English only) speech-to-text, NVIDIA's Parakeet-V2 is
       | significantly faster than Whisper and I found it to be more
       | accurate.
       | 
       | https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2
       | 
       | For Apple Silicon (MLX)
       | https://huggingface.co/senstella/parakeet-tdt-0.6b-v2-mlx
        
         | driscoll42 wrote:
         | Compared to all Whister models? Or the faster ones? And which
         | version of Whisper? All for a faster, more accurate model, but
         | need a bit more.
        
           | ipsum2 wrote:
           | All of them, in my experience.
        
             | driscoll42 wrote:
             | Fair, looking at the ASR leaderboards it is truly better -
             | https://huggingface.co/spaces/hf-audio/open_asr_leaderboard
             | and NVIDIA's Canary might be even better? Will try these
             | out. Appreciate bringing these to my attention!
        
       | dudeWithAMood wrote:
       | I did something similar piping the output of the youtube-
       | transcript-api python package to openAI's api:
       | https://github.com/DavidZirinsky/tl-dw/
        
       | toddmorey wrote:
       | Always fascinated to read CLAUDE.md files that are appearing in
       | more and more open source projects:
       | https://github.com/pmarreck/yt-transcriber/blob/yolo/CLAUDE....
       | 
       | I'd be really curious to see some sort of benchmark / evaluation
       | of these context resources against the same coding tasks. Right
       | now, the instructions all sound so prescriptive and
       | authoritative, yet is really hard to evaluation their
       | effectiveness.
        
       ___________________________________________________________________
       (page generated 2025-07-22 23:01 UTC)