Struct rustube::Video [−][src]
pub struct Video { /* fields omitted */ }
Expand description
A YouTube downloader, which allows you to download all available formats and qualities of a YouTube video.
Each instance of Video
represents an existing, available, and downloadable
video.
There are two ways of constructing an instance of Video
:
- By using the asynchronous
Video::from_*
methods. These methods will take some kind of video-identifier, like anUrl
or anId
, will then internally download the necessary video information and finally descramble it. - By calling
VideoDescrambler::descramble
. Since aVideoDescrambler
already contains the necessary video information, and just need to descramble it, no requests are performed. (This gives you more control over the process).
Examples
- Constructing using
Video::from_url
(orVideo::from_id
) (easiest way)
let url = Url::parse("https://youtube.com/watch?iv=5jlI4uzZGjU")?; let video: Video = Video::from_url(&url).await?;
- Constructing using
VideoDescrambler::descramble
let url = Url::parse("https://youtube.com/watch?iv=5jlI4uzZGjU")?; let fetcher: VideoFetcher = VideoFetcher::from_url(&url)?; let descrambler: VideoDescrambler = fetcher.fetch().await?; let video: Video = descrambler.descramble()?;
- Construction using chained calls
let url = Url::parse("https://youtube.com/watch?iv=5jlI4uzZGjU")?; let video: Video = VideoFetcher::from_url(&url)? .fetch() .await? .descramble()?;
- Downloading a video using an existing
Video
instance
let video_path = video .streams() .iter() .filter(|stream| stream.includes_video_track && stream.includes_audio_track) .max_by_key(|stream| stream.quality_label) .unwrap() .download() .await?;
Implementations
This is supported on crate features download
and regex
and descramble
only.
download
and regex
and descramble
only.Errors
- When
VideoFetcher::from_url
fails. - When
VideoFetcher::fetch
fails. - When
VideoDescrambler::descramble
fails.
This is supported on crate features descramble
and download
only.
descramble
and download
only.Errors
- When
VideoFetcher::fetch
fails. - When
VideoDescrambler::descramble
fails.
This is supported on crate feature descramble
only.
descramble
only.The VideoInfo
of the video.
This is supported on crate feature descramble
only.
descramble
only.All Stream
s of the video.
This is supported on crate feature descramble
only.
descramble
only.Takes all Stream
s of the video.
This is supported on crate feature descramble
only.
descramble
only.Decomposes a Video
into it’s raw parts.
This is supported on crate feature descramble
only.
descramble
only.The VideoDetails
s of the video.
This is supported on crate feature descramble
only.
descramble
only.The Id
of the video.
This is supported on crate feature descramble
only.
descramble
only.The title of the video.
This is supported on crate feature descramble
only.
descramble
only.Whether or not the video is age restricted.
This is supported on crate feature descramble
only.
descramble
only.The Stream
with the best quality.
This stream is guaranteed to contain both a video as well as an audio track.
This is supported on crate feature descramble
only.
descramble
only.The Stream
with the worst quality.
This stream is guaranteed to contain both a video as well as an audio track.
This is supported on crate feature descramble
only.
descramble
only.The Stream
with the best video quality.
This stream is guaranteed to contain only a video but no audio track.
This is supported on crate feature descramble
only.
descramble
only.The Stream
with the worst video quality.
This stream is guaranteed to contain only a video but no audio track.
This is supported on crate feature descramble
only.
descramble
only.The Stream
with the best audio quality.
This stream is guaranteed to contain only a audio but no video track.
This is supported on crate feature descramble
only.
descramble
only.The Stream
with the worst audio quality.
This stream is guaranteed to contain only a audio but no video track.
Trait Implementations
descramble
only.descramble
only.descramble
only.descramble
only.descramble
only.Auto Trait Implementations
impl !RefUnwindSafe for Video
impl !UnwindSafe for Video
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more