Crates.io | youtube-transcript |
lib.rs | youtube-transcript |
version | 0.3.2 |
source | src |
created_at | 2023-04-14 18:43:27.90319 |
updated_at | 2023-04-16 19:13:23.690696 |
description | Transcripts Youtube |
homepage | |
repository | https://github.com/akhildevelops/summarizer/tree/main/youtube-transcript |
max_upload_size | |
id | 839363 |
size | 76,147 |
Retrieve transcript of any youtube video.
cargo install youtube-transcript
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
}
}
...
...
]
}
...
...
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?;
Inspired from: youtube-transcript-api