Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

VolumeGraphics/egui-video

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

42 Commits

Repository files navigation

egui-video, a video playing library for egui

crates.io docs license

no god please no

plays videos in egui from file path or from bytes

as of now, can't publish as a crate due to me depending on a modified version of rust-ffmpeg. until the relevant 2 year old pr goes through, you have to specify this as a git dependancy in Cargo.toml

usage:

/* called once (top level initialization) */
{ // if using audio...
 let audio_sys = sdl2::init()?.audio()?;
 let audio_device = egui_video::init_audio_device(&audio_sys)?;
 
 // don't let audio_device drop out of memory! (or else you lose audio)
 add_audio_device_to_state_somewhere(audio_device);
}
/* called once (creating a player) */
let mut player = Player::new(ctx, my_media_path)?;
{ // if using audio...
 player = player.with_audio(&mut my_state.audio_device)
}
/* called every frame (showing the player) */
player.ui(ui, [player.width as f32, player.height as f32]);

current caveats

  • need to compile in release or opt-level=3 otherwise limited playback performance
  • (削除) bad (playback, seeking) performance with large resolution streams (削除ここまで)
  • (削除) seeking can be slow (is there better way of dropping packets?) (削除ここまで)
  • (削除) depending on the specific stream, seeking can fail and mess up playback/seekbar (something to do with dts?) (削除ここまで)
  • (削除) no audio playback (削除ここまで)

About

a video playing library for `egui`

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%

AltStyle によって変換されたページ (->オリジナル) /