9 releases

0.3.2 Apr 16, 2023
0.3.1 Apr 16, 2023
0.2.4 Apr 15, 2023
0.1.1 Apr 15, 2023

#2063 in Parser implementations

32 downloads per month

MIT license

44KB
338 lines

Youtube Transcript

Retrieve transcript of any youtube video.

Documentation

Install

cargo install youtube-transcript

Usage:

as Commandline

renders transcript in text format / json format. By default it's text.

youtube-transcript https://www.youtube.com/watch?v=RcYjXbSJBN8

start at: 639ms for duration 2s
welcome back
==========


start at: 2s for duration 4s
here we go again great to see you and
==========
...
...

For json

youtube-transcript --format json https://www.youtube.com/watch?v=RcYjXbSJBN8

{
  "transcripts": [
    {
      "text": "Hey, how's it going Dave 2d here?",
      "start": {
        "secs": 0,
        "nanos": 0
      },
      "duration": {
        "secs": 1,
        "nanos": 539999962
      }
    },
    {
      "text": "This is a Microsoft Surface go and when they first announced it I was interested in it",
      "start": {
        "secs": 1,
        "nanos": 539999962
      },
      "duration": {
        "secs": 4,
        "nanos": 159999847
      }
    }
    ...
    ...
  ]
}
...
...

as Library

youtube-transcript is an async library and below is the example to use in an applicatio:

let link:&str="https://www.youtube.com/watch?v=RcYjXbSJBN8";

# Create a youtube instance from builder.
let youtube_loader:Youtube = YoutubeBuilder::default().build();

# Get the transcript by loading youtube url.
let transcript:Transcript=youtube_loader.transcript(link).await?;

Other tools

Inspired from: youtube-transcript-api

Dependencies

~8–24MB
~321K SLoC