yt_info 0.3.2

Rust library to download YouTube content and retrieve metadata
# yt_info


![Rust Toolchain](https://img.shields.io/badge/rust-stable-brightgreen.svg)
[![Crates.io](https://crates.io/crates/yt_info)](https://crates.io/crates/yt_info)
[![Docs.rs](https://docs.rs/yt_info/)](https://docs.rs/yt_info/)

Rust library to fetch YouTube content and retrieve metadata. Fork of [rafy-rs](https://github.com/ritiek/rafy-rs)

## Installation


Put the below in your `Cargo.toml`

> [dependencies]
>
> yt_info = "0.3.1"

## Usage Examples


```rust
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**](https://docs.rs/yt_info/).

## Limitations


- This library won't be able to fetch `audiostreams` and `videostreams` for unpopular videos, because YouTube does not generate separate streams for unpopular videos. However, it will still be able to fetch normal `streams`.

- Since this library does not depend on [youtube-dl]https://github.com/rg3/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](https://github.com/smoqadam/rust-youtube-downloader) by [smoqadam](https://github.com/smoqadam).

## License


`The MIT License`