Expand description
Blocking wrappers for using rustube
in a synchronous context.
Downloading videos with the blocking API works exactly like described for the asynchronous API
in the crate
documentation, and in the Video
documentation, except for the
last step:
let url = Url::parse("https://youtube.com/watch?iv=5jlI4uzZGjU")?;
let path_to_video = Video::from_url(&url)?
.best_quality()
.unwrap()
.blocking_download()?;
As you can see, there’s no corresponding synchronous version of Stream
, but
only a few methods prefixed with blocking_
. This is not the most beautiful solution and may
change in the future.
Another option is using the block
macro:
let url = Url::parse("https://youtube.com/watch?iv=5jlI4uzZGjU")?;
let video = Video::from_url(&url)?;
let best_quality = video.best_quality().unwrap();
let path_to_video = block!(best_quality.download());
This macro will utilize the Runtime
created for you by rustube
,
and block on the provided future (You can also use it for other asynchronous stuff, not related
to rustube
).
Structs
A synchronous wrapper around
VideoDescrambler
.A synchronous wrapper around
VideoFetcher
.Statics
Functions
A synchronous wrapper around
download_best_quality
.A synchronous wrapper around
download_worst_quality
.