11# compose-av
22
3- A kotlin library for av processing
4- ** Disclaimer** : This library is in very early stage of development, so it might not work as expected.
3+ A kotlin library for audio and video playback in Jetpack Compose.
4+ It is based on [ libmpv] ( https://github.com/mpv-player/mpv ) and
5+ [ compose-gl] ( https://github.com/silenium-dev/compose-gl ) .
6+ ** Disclaimer** : This library is in a very early stage of development, so it might not work as expected.
57
68## Features
79
8- ### Core
9-
10- - [ ] Demuxing (🚧)
11- - [ ] Muxing
12- - [ ] Video decoding (🚧)
13- - [ ] Video playback (🚧)
14- - [ ] Video processing
15- - [ ] Video encoding
16- - [ ] Audio decoding
17- - [ ] Audio playback
18- - [ ] Audio processing
19- - [ ] Audio encoding
20-
21- ### Compose
22-
2310- [ ] Compose video player (🚧)
2411- [ ] Compose audio player
2512
2613## Platforms
2714
28- - [ ] Linux VAAPI (🚧)
29- - [ ] Linux V4L2 M2M
30- - [ ] Linux AMF
31- - [ ] Linux NVDEC/NVENC
32- - [ ] Linux QSV
33- - [ ] Windows DXVA2
34- - [ ] Windows D3D11
35- - [ ] Windows QSV
36- - [ ] Windows NVDEC/NVENC
37- - [ ] Windows AMF
38- - [ ] Android MediaCodec
15+ - [x] Linux
16+ - [ ] Windows
17+ - [ ] Android
3918
40- * Note: macOS/iOS support won't be implemented because of lack of development hardware.*
19+ * Note: macOS/iOS support won't be implemented because of lack of development hardware.
20+ If you want to contribute, feel free to do so.*
4121
4222## Usage
4323
@@ -52,18 +32,18 @@ repositories {
5232}
5333
5434dependencies {
55- implementation(" dev.silenium.compose:compose-av:0.1.0" )
35+ implementation(" dev.silenium.compose.av :compose-av:0.1.0" )
5636}
5737```
5838
59- ### Video player
60-
61- Demuxer is currently very experimental, so it might not work with files that can be played with other players.
39+ The library currently requires the ` libmpv ` shared library to be installed on the system.
40+ On Linux, you can install it using your package manager, e.g. on Ubuntu:
6241
63- ``` kotlin
64- @Composable
65- fun App () {
66- val file = remember { Path (" path/to/video.mp4" ) }
67- VideoPlayer (file, modifier = Modifier .aspectRatio(16f / 9 ))
68- }
42+ ``` shell
43+ sudo apt install libmpv2
6944```
45+
46+ ### Example
47+
48+ See the [ Main.kt] ( src/test/kotlin/dev/silenium/multimedia/compose/Main.kt ) in the test sources
49+ on how to use the library.
0 commit comments