Skip to content

Commit

Permalink
docs: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
silenium-dev committed Oct 14, 2024
1 parent 77bf2eb commit 07dc931
Showing 1 changed file with 19 additions and 39 deletions.
58 changes: 19 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,23 @@
# compose-av

A kotlin library for av processing
**Disclaimer**: This library is in very early stage of development, so it might not work as expected.
A kotlin library for audio and video playback in Jetpack Compose.
It is based on [libmpv](https://github.com/mpv-player/mpv) and
[compose-gl](https://github.com/silenium-dev/compose-gl).
**Disclaimer**: This library is in a very early stage of development, so it might not work as expected.

## Features

### Core

- [ ] Demuxing (🚧)
- [ ] Muxing
- [ ] Video decoding (🚧)
- [ ] Video playback (🚧)
- [ ] Video processing
- [ ] Video encoding
- [ ] Audio decoding
- [ ] Audio playback
- [ ] Audio processing
- [ ] Audio encoding

### Compose

- [ ] Compose video player (🚧)
- [ ] Compose audio player

## Platforms

- [ ] Linux VAAPI (🚧)
- [ ] Linux V4L2 M2M
- [ ] Linux AMF
- [ ] Linux NVDEC/NVENC
- [ ] Linux QSV
- [ ] Windows DXVA2
- [ ] Windows D3D11
- [ ] Windows QSV
- [ ] Windows NVDEC/NVENC
- [ ] Windows AMF
- [ ] Android MediaCodec
- [x] Linux
- [ ] Windows
- [ ] Android

*Note: macOS/iOS support won't be implemented because of lack of development hardware.*
*Note: macOS/iOS support won't be implemented because of lack of development hardware.
If you want to contribute, feel free to do so.*

## Usage

Expand All @@ -52,18 +32,18 @@ repositories {
}

dependencies {
implementation("dev.silenium.compose:compose-av:0.1.0")
implementation("dev.silenium.compose.av:compose-av:0.1.0")
}
```

### Video player

Demuxer is currently very experimental, so it might not work with files that can be played with other players.
The library currently requires the `libmpv` shared library to be installed on the system.
On Linux, you can install it using your package manager, e.g. on Ubuntu:

```kotlin
@Composable
fun App() {
val file = remember { Path("path/to/video.mp4") }
VideoPlayer(file, modifier = Modifier.aspectRatio(16f / 9))
}
```shell
sudo apt install libmpv2
```

### Example

See the [Main.kt](src/test/kotlin/dev/silenium/multimedia/compose/Main.kt) in the test sources
on how to use the library.

0 comments on commit 07dc931

Please sign in to comment.