3 releases
0.3.2 | Aug 16, 2019 |
---|---|
0.3.1 | Aug 16, 2019 |
0.3.0 | Aug 16, 2019 |
#302 in Value formatting
22KB
255 lines
yt_info
Rust library to fetch YouTube content and retrieve metadata. Fork of rafy-rs
Installation
Put the below in your Cargo.toml
[dependencies]
yt_info = "0.3.1"
Usage Examples
use yt_info::VideoInfo;
use std::fs::File;
use std::io;
fn main() {
let youtube_token = env!("YOUTUBE_TOKEN");
let video = VideoInfo::new(youtube_token,"https://www.youtube.com/watch?v=C0DPdy98e4c").unwrap();
let streams = video.streams;
let stream = &streams[0];
let filename = format!("{}-stream.{}",&video.title,&stream.extension);
let mut file = File::create(filename).unwrap();
let mut stream_reader = stream.get_reader().unwrap();
io::copy(&mut stream_reader,&mut file).unwrap();
}
For more examples check out the Documentation.
Limitations
-
This library won't be able to fetch
audiostreams
andvideostreams
for unpopular videos, because YouTube does not generate separate streams for unpopular videos. However, it will still be able to fetch normalstreams
. -
Since this library does not depend on youtube-dl, there are some more things (not mentioning here) that we'll be missing out.
Running Tests
$ cargo test
Contributing
All pull requests all welcome
Thanks
The basic method of extracting streams was stolen from rust-youtube-downloader by smoqadam.
License
The MIT License
Dependencies
~8–15MB
~233K SLoC