#egui #ffmpeg #byte #play #file-path #playing

egui-video

为 egui 提供的视频库

4 个版本 (2 个破坏性版本)

新版本 0.7.0 2024 年 8 月 17 日
0.6.0 2023 年 10 月 27 日
0.5.2 2023 年 8 月 28 日
0.5.1 2023 年 8 月 28 日

125视频 中排名

Download history 23/week @ 2024-05-10 26/week @ 2024-05-17 7/week @ 2024-05-24 10/week @ 2024-05-31 7/week @ 2024-06-07 4/week @ 2024-06-14 11/week @ 2024-06-21 1/week @ 2024-06-28 17/week @ 2024-07-05 21/week @ 2024-07-12 3/week @ 2024-07-19 17/week @ 2024-07-26 5/week @ 2024-08-02 120/week @ 2024-08-16

每月下载量 142

MIT 许可证

77KB
1.5K SLoC

egui-video,一个用于 egui 的视频播放库

crates.io docs license

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

从文件路径或从字节数据中播放视频

依赖项

  • 需要 ffmpeg 6 或 7。请遵循以下构建说明 这里
  • 需要 sdl2。默认情况下,将自动编译它的功能被启用,但您可以禁用它并遵循 这些说明

使用

/* 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);

贡献

欢迎 :)

当前注意事项

  • 需要使用 releaseopt-level=3 编译,否则播放性能有限

依赖项

~24–35MB
~620K SLoC