A movie player plugin for Bevy game engine.
Warning
Still in development, The API may change in the future.
.gvformat (--features gv)- using rust-gv-video.
- alpha channel support.
.gvhas simple LZ4 compressed + BC1/BC2/BC3/BC7 texture format.- both disk stream and on memory stream are supported.
- Lottie (lottie-json
.json) format (--features lottie)- using rlottie-rs
- ( supported from
bevy_movie_player0.2.1or higher )
- Any video format supported by ffmpeg (
--features ffmpeg)- == WARNING ==:
ffmpeg-sys-nextneeds systemffmpeglibraries installed. This can be hard task for some platforms. For pure Rust solution, I recommend--features gvinstead. - using video-rs.
- Currently has extension limitation for bevy-asset-loader. (Need fix here or give options in the future.)
- ( supported from
bevy_movie_player0.4.2or higher )
- == WARNING ==:
| Bevy | bevy_movie_player |
|---|---|
| 0.18 | 0.7 |
| 0.17 | 0.6 |
| 0.16 | 0.5 |
| 0.15 | 0.4 |
| 0.14 | 0.3 |
| 0.13 | 0.2 |
| 0.12 | 0.1 |
-
Movie loading FPS limitation is needed. (example code has 60fps limitation by
FixedUpdate) -
Slower FPS on debug build. Please use
--releaseflag to check the performance.- or set below in your
Cargo.toml[profile.dev] opt-level = 1 [profile.dev.package."*"] opt-level = 3
- or set below in your
-
Compressed Texture cannot be used on first frame, to avoid panic:
Using pixel_size for compressed textures is invalid(bevy_render-0.12.1/src/texture/image.rs:785:18). -
No audio support now.
- Converting frame into BGRA without no hardware acceleration.
- auto image handling / updating (just play/stop, and eliminate
update()also?) - pure rust based other codec support.
0BSD or/and WTFPL
- Forks and PRs are always welcome :)
