3 unstable releases

0.6.0 Oct 27, 2023
0.5.2 Aug 28, 2023
0.5.1 Aug 28, 2023

#153 in Video

Download history 14/week @ 2024-02-14 16/week @ 2024-02-21 14/week @ 2024-02-28 16/week @ 2024-03-06 23/week @ 2024-03-13 8/week @ 2024-03-20 35/week @ 2024-03-27 38/week @ 2024-04-03

82 downloads per month

MIT license

76KB
1.5K SLoC

egui-video, a video playing library for egui

crates.io docs license

https://github.com/n00kii/egui-video/assets/57325298/c618ff0a-9ad2-4cf0-b14a-dda65dc54b23

plays videos in egui from file path or from bytes

dependancies:

  • requires ffmpeg 6. follow the build instructions here
  • requires sdl2. by default, a feature is enabled to automatically compile it for you, but you are free to disable it and follow these instructions

usage:

/* called once (top level initialization) */

{ // if using audio...
    let audio_device = egui_video::AudioDevice::new()?;
    
    // 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 = egui_video::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.size);

contributions

are welcome :)

current caveats

  • need to compile in release or opt-level=3 otherwise limited playback performance

Dependencies

~24–37MB
~639K SLoC