Hacker News new | past | comments | ask | show | jobs | submit login
Hieroglyph, a research tool to easily view a YouTube video's transcript (hierogly.ph)
127 points by herbertl on Dec 4, 2020 | hide | past | favorite | 59 comments



I don't get it. What's the advantage of this compared to the "view transcript" functionality on the video page itself? It might be confined to a small window, but at least it has timestamps and isn't one long wall of text.


TIL: there's an "open transcript" functionality on YouTube. It's very well hidden. I wouldn't have found it if your comment didn't prompt me to look for it.


There are users who are using YouTube transcript to search and reach the particular section of the video using that timestamps since there's no real video search[1], it seems there's no easy way to do that too. When I read the title, I thought it address that above problem, but it downloads and renders the transcript.

[1]https://needgap.com/problems/88-searching-youtube-videos-wit...


For one, YouTube gives you time codes, which are good when translating, but just in the way when reading or editing (say to find a quote). Second, while a minor annoyance, the text is hard scroll and read, due to how constricted the reading area is. Hieroglyph gives you a huge blob, which isn't super-fantastic either, but IMHO it's slightly better than YouTube's "view transcript" functionality, if nothing else, than for reasons of presentation.


This is exactly it! We wanted to make it readable. I know its not great and its something I want to improve. I'm taking notes from all of the suggestions in this thread.


I gather making paragraphs that make any sense would require either a very advanced algorithm or an AI?


Its tough. The easy solution I plan on implementing soon is just letting the user adjust where newlines are inserted, every 5 sentences or 6 sentences.

Other plan further out would be to see where the silences in the video are and insert newlines there.


Have you looked into text analysis with natural language processing?


I have not. This space is fairly new to me, but I am curious. Could you point me to any resources?


I was actually looking for something like this to do some topic discovery and association on podcasts (most of which also had a YouTube channel).


Some videos remove that option. (Haven't tried to see how Hierglyph handles that situation though.)


We are punctuating the transcripts, trying to make it readable. But yes, it isn't too much different.

I want to add timestamps to the video. I got some ideas from this thread.


You can also get a YouTube video transcript directly from the API with one call, just register for a free developer key and use:

https://youtube.googleapis.com/youtube/v3/captions?part=snip...

official docs: https://developers.google.com/youtube/v3/docs/captions


youtube-dl --write-sub --skip-download


Doesn't work unless there are subtitles (WARNING: video doesn't have subtitles), which seems to be different from captions.


I think subtitles and captions are the same foe YouTube-DL. However, some videos only have auto-generated captions, and YouTube-DL doesn't download these... by default. There is an option to force the download of both generated and even translated captions.


--write-auto-sub (thanks)


“ Quota impact: A call to this method has a quota cost of 50 units.”?


Which is out of a default quota of 10,000 units per day, and one can request an increase if your actually need more, (which presumably gets granted if YouTube agrees your use case is not an abuse of their API).


Hey all! I am one of the creators of Hieroglyph. I know its not perfect, but it was a small project my friend and I wanted to make to solve our own problem. We wanted to be able to ctrl+f and find some information in videos. There is still so much to add. We created it to get some practice with web development and to test out some ideas. I did not expect it to land here to be honest. Please let me know if you have any questions.


Thank you for making it!


This is really interesting, this may be useful for long videos im unsure if I want to watch. I can probably "read a video" in 1/4th the time to watch it.


I use "YouTube Captions Search" Chrome extension. This allows the following workflow:

- I am on a YouTube video view

- I click on "Closed Captions" (CC) in the YouTube player.

- The extension icon in Chrome's toolbar becomes red.

- I click on the extension icon

- A search text field appears

- I type a word or a sentence

- There is an area with timestamps and sentences containing the words I search

This is useful in two ways:

1. For videos I have already watched that I know contain a segment of interest to me and I want to re-listen to that segment. I go to the video, type the words, click on the timestamp and it takes me straight to the timestamp of interest.

2. Discovery: when I'm learning about something specific and there's a one hour video and I want to know if they're addressing my specific question. I type the words and see how many times they're talking about the topic (density). I read the sentences, and then click on the timestamps directly before committing to the video. So when I'm actively learning about a topic, I might have a backlog of ten videos, this speeds up things enormously.

One more hack: I use "Video Speed Controller"[1] to speed up videos up to 16x. For talks that don't have a link to the slides, I'll use the 16x video as a "presentation slides". One hour becomes about 4 minutes long and I just look at the slides on the screen. If I like the treatment of the topic, I'll watch the video. If not, I won't. This allows me again to have a backlog of 20 videos to watch, go through them really fast, discard the ones that do not have a deep enough treatment of the topic of interest, and only commit to the videos that do.

- [0]: https://chrome.google.com/webstore/detail/youtube-captions-s...

- [1]: https://chrome.google.com/webstore/detail/video-speed-contro...


I’ve been interested in making a list of keywords and key phrases that can highlight the ‘meat’ of instructional YouTube videos.

Which words/phrases have been useful for you to search?


I work at a company and we do consulting for enterprise. We make machine learning products. I need to learn whatever needs to be learned to deliver value to customers (domain + making product).

We also build https://iko.ai, a machine learning platform to simplify our work. I need to learn whatever needs to be learned to make that product.


Okay so you look at domain-specific keywords.

I’m interested in general terms that mark important parts. “The key here is...” “pay attention to...” “the most common mistake” etc


I look for what comes after "the key here is ...". Indication of where the key lies means nothing to me if the key is nowhere to be found in a video/article. "Ceci n'est pas une pipe".

Most content is useless mostly not because of malice, but simply because people who put content about what interests me mostly never have worked on actual real world projects. They'll write about experiment tracking and ML project management and will just snatch the marketing brochure of whatever library pushed out by some company at a summit, never having used that library for actual work, heck never having run the getting started, to notice the cracks. They'd have relevant content if they had. Oh, well. Nobody "got time" for that, need to churn out a Medium post/YouTube video.


Any keywords (general or specific) are just markers for you to review the content. If it’s a bad video/creator you’ll notice that and move on to another video.


Wow, this is made for me. Youtube's own "view transcript" tool spits out a small side window with about 5 words per line. For me, that's a pain to read.

This transcript is displayed in paragraph form, nearly as readable as a typical article.

One very specific question: is there a way to get it on Instapaper's mobile app? While it transfers well on the web version, clicking on the transcript through the app takes me to the web version.

Thank you for this contribution!


Glad you like it! I am not sure why it wouldn't work on mobile Instapaper. I hope you find a workaround.


This is great! Do the transcripts come with timing information? Would love to be able to ctrl+f text and then jump to that part of the video.


It could get costly because their transcription pricing is geared towards video editing, but you can scrape the video and load it into Descript and have this power.

https://www.descript.com/


I'd love that too! It doesn't right now, I just import it into Otter.ai if I decide that video has something I want to quote and link to or excerpt from.

Nonetheless, it's still a great tool to help me preview or "skim" through a video.


Cool idea, I just tried it and it doesn't look like it would work for that though.

It spits out a wall of text, without any special formatting or speaker metadata, though it does seem to make an exception for distinguishing music sections.


Hey, I will look into adding these. Thanks for the suggestion.


You could consider extracting the YouTube audio and using an aligner algorithm with the transcript to get precise timing without paying anything


Do you have any recommendations for alignment software which is reasonably priced?


I haven't check for a few years but there were free tools available with great quality (providing intra-word timing even)


I'm interested in the metaphysical theories presented by yoga instructors. There are zero scholarly papers that deal with transcripts of yoga classes.

Now I can easily gather a corpus of text from the huge number of yoga classes online!



This is really nice. The transcripts are better than I expected, from the few videos I tested with. I usually try to avoid videos for information, so this maybe my new way to avoid them while still getting the info from it.


Jesus you can have more than one word in the name of a piece of software. At least call it "Hieroglyph Reader" or something. Can't tell what it does by the name and there's a namespace conflict.


The more common the name, the more important the project. Even more so if it reuses the name of an existing project.


I am just working on pretty much the same tool: subscanner.com

My goal is to get the content indexed on search engines to make youtube transcripts browsable.

I have decided not to use auto-generated subtitles as they are of poor quality and search engines do not like broken English. However since I am not done with the tool completely yet, I might reconsider this.

An example video on subscanner: https://subscanner.com/rjDX5ItsOnQ


This looks great. Tried it out with two videos and the resulting text seems to cut off around 3500 words.


Hey, sorry about that. I'm not sure what caused that. Could you give me the video so I can test it out?


Does anyone know of a tool (extension?) that will translate captions (even badly) for YouTube videos? Sure I could you use youtube-dl and run the result through Google Translate, but I'm looking for something automated.


This is the equivalent of "use youtube-dl and run the result through Google Translate[1]:"

    youtube-dl --sub-langs [DESIRED LANGUAGE]
[1]: https://github.com/ytdl-org/youtube-dl/blob/master/README.md...


This is natively supported on youtube, at least some of the time. I think it might be that you have to have youtube's UI language set to a different language than is spoken in the video.


As far as I can tell, it's available on desktop, but neither in mobile browsers nor the app. The video language being the same or different from the UI language didn't seem to make a difference.

My current working theory is that they couldn't figure out a way to fit a two-level menu on a phone screen, so they just cut that feature...


I just tested, and yes on desktop there is an 'Auto-translate' option, even for videos with 'auto-generated captions'. However on mobile (YouTube app on Android, Firefox, Chrome) and my TV the 'Auto-translate' option is missing, so I can only view the generated subtitles in the original language. I mostly watch on mobile or TV, so :-/


Someone else posted youtube-dl args to get the transcript in its original language.

It's pretty easy to rig a translation script using pretrained models. [1] If you are building a historical dataset, it's probably better to cache the transcript in its original language, so you can benefit from improvements to translation models as they develop.

[1] https://huggingface.co/transformers/task_summary.html


JSON.parse(ytplayer.config.args.player_response).captions.playerCaptionsTracklistRenderer.captionTracks[0].baseUrl

just add &tlang=XX where XX is one of

JSON.parse(ytplayer.config.args.player_response).captions.playerCaptionsTracklistRenderer.translationLanguages


Still waiting for the pictographic subtitles to load... ;D


I was wanting exactly this a just a few days ago. I wish it were a YouTube or youtube-dl feature.


youtube-dl has options to save subs, though I think you’d have to post-progress them to get them without time stamps.

https://github.com/ytdl-org/youtube-dl/blob/master/README.md...


youtube-dl can download the auto-transcription as a subtitle file with --write-auto-sub, and there are various tools that can turn that into plain text.


I did not know this. Thanks for the tip!


or just open url defined here JSON.parse(ytplayer.config.args.player_response).captions.playerCaptionsTracklistRenderer.captionTracks[0].baseUrl




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: