youtube_dl 0.10.0

Runs yt-dlp and parses its JSON output.
Documentation
# youtube-dl-rs


[<img alt="Crates.io" src="https://img.shields.io/crates/v/youtube_dl">](https://crates.io/crates/youtube_dl)

**NOTE**: The name for this library is a bit misleading, it currently does not support `youtube-dl` as its development seems to be very slow recently,
it does support `yt-dlp`, which has diverged from `youtube-dl` in some ways, but sees a lot more development.

Runs yt-dlp and parses its JSON output. Example:

```rust
use youtube_dl::YoutubeDl;

let output = YoutubeDl::new("https://www.youtube.com/watch?v=VFbhKZFzbzk")
  .socket_timeout("15")
  .run()
  .unwrap();
let title = output.into_single_video().unwrap().title;
println!("Video title: {}", title);
```

Or, if you want to it to run asynchronously (enable the feature `tokio`):

```rust
let output = YoutubeDl::new("https://www.youtube.com/watch?v=VFbhKZFzbzk")
    .socket_timeout("15")
    .run_async()
    .await?;
let title = output.into_single_video().unwrap().title;
println!("Video title: {}", title);
Ok(())
```

## Feature flags


- **tokio**: Enables the `async` variants of the `run`, `run_raw` and `download_to` methods.
- **downloader-native-tls** / **downloader-rustls-tls**: Enables the `download_yt_dlp` method and `YoutubeDlFetcher` struct to download the `yt-dlp` executable with the given TLS backend used for reqwest.