mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-17 15:32:01 +00:00
125 lines
3.9 KiB
Markdown
125 lines
3.9 KiB
Markdown
# MPVKit
|
|
|
|
[](https://github.com/mpv-player/mpv)
|
|
[](https://github.com/FFmpeg/FFmpeg)
|
|
[](https://github.com/mpvkit/MPVKit/main/LICENSE)
|
|
|
|
> MPVKit is only suitable for learning `libmpv` and will not be maintained too frequently.
|
|
|
|
`MPVKit` is a collection of tools to use `mpv` in `iOS`, `macOS`, `tvOS` applications.
|
|
|
|
It includes scripts to build `mpv` native libraries.
|
|
|
|
Forked from [kingslay/FFmpegKit](https://github.com/kingslay/FFmpegKit)
|
|
|
|
## About Metal support
|
|
|
|
Metal support only a patch version ([#7857](https://github.com/mpv-player/mpv/pull/7857)) and does not officially support it yet. Encountering any issues is not strange.
|
|
|
|
## Installation
|
|
|
|
### Swift Package Manager
|
|
|
|
```
|
|
https://github.com/mpvkit/MPVKit.git
|
|
```
|
|
|
|
### Choose which version
|
|
|
|
| Version | License | Note |
|
|
|---|---|---|
|
|
| MPVKit | LGPL | [FFmpeg details](https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md) , [mpv details](https://github.com/mpv-player/mpv/blob/master/Copyright) |
|
|
| MPVKit-GPL | GPL | Support samba protocol, same as old MPVKit version |
|
|
|
|
|
|
## How to build
|
|
|
|
```bash
|
|
make build
|
|
# specified platforms (ios,macos,tvos,tvsimulator,isimulator,maccatalyst,xros,xrsimulator)
|
|
make build platform=ios,macos
|
|
# build GPL version
|
|
make build enable-gpl
|
|
# clean all build temp files and cache
|
|
make clean
|
|
# see help
|
|
make help
|
|
```
|
|
|
|
## Make demo app using the local build version
|
|
|
|
If you want the demo app to use the local build version, you need to modify `Package.swift` to reference the local build xcframework file.
|
|
|
|
<details>
|
|
<summary>Click here for more information.</summary>
|
|
|
|
```
|
|
.binaryTarget(
|
|
name: "Libmpv-GPL",
|
|
path: "dist/release/Libmpv.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libavcodec-GPL",
|
|
path: "dist/release/Libavcodec.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libavdevice-GPL",
|
|
path: "dist/release/Libavdevice.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libavformat-GPL",
|
|
path: "dist/release/Libavformat.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libavfilter-GPL",
|
|
path: "dist/release/Libavfilter.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libavutil-GPL",
|
|
path: "dist/release/Libavutil.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libswresample-GPL",
|
|
path: "dist/release/Libswresample.xcframework.zip"
|
|
),
|
|
.binaryTarget(
|
|
name: "Libswscale-GPL",
|
|
path: "dist/release/Libswscale.xcframework.zip"
|
|
),
|
|
```
|
|
|
|
</details>
|
|
|
|
## Run default mpv player
|
|
|
|
```bash
|
|
./mpv.sh --input-commands='script-message display-stats-toggle' [url]
|
|
./mpv.sh --list-options
|
|
```
|
|
|
|
> Use <kbd>Shift</kbd>+<kbd>i</kbd> to show stats overlay
|
|
|
|
## Related Projects
|
|
|
|
* [moltenvk-build](https://github.com/mpvkit/moltenvk-build)
|
|
* [libplacebo-build](https://github.com/mpvkit/libplacebo-build)
|
|
* [libdovi-build](https://github.com/mpvkit/libdovi-build)
|
|
* [libshaderc-build](https://github.com/mpvkit/libshaderc-build)
|
|
* [libluajit-build](https://github.com/mpvkit/libluajit-build)
|
|
* [libass-build](https://github.com/mpvkit/libass-build)
|
|
* [libbluray-build](https://github.com/mpvkit/libbluray-build)
|
|
* [libsmbclient-build](https://github.com/mpvkit/libsmbclient-build)
|
|
* [gnutls-build](https://github.com/mpvkit/gnutls-build)
|
|
* [openssl-build](https://github.com/mpvkit/openssl-build)
|
|
|
|
## Donation
|
|
|
|
If you appreciate my current work, you can buy me a cup of coffee ☕️.
|
|
|
|
[](https://ko-fi.com/C0C410P7UN)
|
|
|
|
## License
|
|
|
|
`MPVKit` source alone is licensed under the LGPL v3.0.
|
|
|
|
`MPVKit` bundles (`frameworks`, `xcframeworks`), which include both `libmpv` and `FFmpeg` libraries, are also licensed under the LGPL v3.0. However, if the source code is built using the optional `enable-gpl` flag or prebuilt binaries with `-GPL` postfix are used, then `MPVKit` bundles become subject to the GPL v3.0.
|