Crates.io | iced_video_player |
lib.rs | iced_video_player |
version | 0.5.0 |
source | src |
created_at | 2024-02-19 04:13:49.569208 |
updated_at | 2024-09-29 10:15:12.581056 |
description | A convenient video player widget for Iced |
homepage | https://github.com/jazzfool/iced_video_player |
repository | https://github.com/jazzfool/iced_video_player |
max_upload_size | |
id | 1144702 |
size | 1,470,812 |
Composable component to play videos in any Iced application built on the excellent GStreamer library.
In general, this supports anything that gstreamer/playbin
supports.
Features:
Limitations (hopefully to be fixed):
The player does not come with any surrounding GUI controls, but they should be quite easy to implement should you need them. See the "minimal" example for a demonstration on how you could implement pausing, looping, and seeking.
use iced_video_player::{Video, VideoPlayer};
fn main() -> iced::Result {
iced::run("Video Player", (), App::view)
}
struct App {
video: Video,
}
impl Default for App {
fn default() -> Self {
App {
video: Video::new(&url::Url::parse("file:///C:/my_video.mp4").unwrap()).unwrap(),
}
}
}
impl App {
fn view(&self) -> iced::Element<()> {
VideoPlayer::new(&self.video).into()
}
}
Follow the GStreamer build instructions. This should be able to compile on MSVC, MinGW, Linux, and MacOS.
Licensed under either
at your option.