mirror of
https://github.com/yume-chan/ya-webadb.git
synced 2025-10-05 02:39:26 +02:00
chore: add sideEffects: false
This commit is contained in:
parent
0224f0512f
commit
087e01b11b
24 changed files with 102 additions and 63 deletions
|
@ -29,7 +29,7 @@ Try it out at https://app.tangoapp.dev
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/
|
||||
|
||||
## Contribute
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/tango/daemon/credential-store/
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -30,7 +30,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/tango/daemon/usb/device-manager/
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -30,7 +30,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/scrcpy/
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -30,7 +30,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/tango/server/client/
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -27,7 +27,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/scrcpy/prepare-server/
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"type": "module",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"gh-release-fetch": "^4.0.3"
|
||||
},
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"benchmark": "node benchmark.js",
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.dom.json && tsc -b tsconfig.worker.json",
|
||||
"build:watch": "tsc -b tsconfig.dom.json && tsc -b tsconfig.worker.json",
|
||||
|
|
|
@ -1,45 +1,49 @@
|
|||
# @yume-chan/scrcpy-decoder-tinyh264
|
||||
<p align="center">
|
||||
<img alt="Tango" src="https://raw.githubusercontent.com/yume-chan/ya-webadb/main/.github/logo.svg" width="200">
|
||||
</p>
|
||||
|
||||
Decode and render H.264 streams using TinyH264, the old Android H.264 software decoder (now deprecated and removed), compiled into WebAssembly and wrapped in a Web Worker.
|
||||
<h1 align="center">@yume-chan/scrcpy-decoder-tinyh264</h1>
|
||||
|
||||
The video stream will be decoded into YUV frames on CPU, then converted to RGB using a WebGL shader (using GPU). It's slow, but works on most browsers.
|
||||
<p align="center">
|
||||
Raw H.264 stream decoder and renderer wrapping TinyH264 and YUVCanvas packages (software decoding).
|
||||
</p>
|
||||
|
||||
**WARNING:** The public API is UNSTABLE. Open a GitHub discussion if you have any questions.
|
||||
<p align="center">
|
||||
<a href="https://github.com/yume-chan/ya-webadb/blob/main/LICENSE">
|
||||
<img alt="MIT License" src="https://img.shields.io/github/license/yume-chan/ya-webadb">
|
||||
</a>
|
||||
<a href="https://github.com/yume-chan/ya-webadb/releases">
|
||||
<img alt="GitHub release" src="https://img.shields.io/github/v/release/yume-chan/ya-webadb?logo=github">
|
||||
</a>
|
||||
<a href="https://bundlephobia.com/package/@yume-chan/scrcpy-decoder-tinyh264">
|
||||
<img alt="Package Size" src="https://img.shields.io/bundlephobia/minzip/%40yume-chan%2Fscrcpy-decoder-tinyh264">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/@yume-chan/scrcpy-decoder-tinyh264">
|
||||
<img alt="npm" src="https://img.shields.io/npm/dm/%40yume-chan/scrcpy-decoder-tinyh264?logo=npm">
|
||||
</a>
|
||||
<a href="https://discord.gg/26k3ttC2PN">
|
||||
<img alt="Discord" src="https://img.shields.io/discord/1120215514732564502?logo=discord&logoColor=%23ffffff&label=Discord">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Compatibility
|
||||
This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Generally you need multiple packages to build a complete ADB client that can run on Web browsers and Node.js. Read the documentation for more information.
|
||||
|
||||
| Chrome | Firefox | Safari | Performance | Supported H.264 profile/level |
|
||||
| ------ | ------- | ------ | ----------- | ----------------------------- |
|
||||
| 57 | 52 | 11 | Poor | Baseline level 4 |
|
||||
## Documentation
|
||||
|
||||
## Usage
|
||||
Check the latest documentation at https://docs.tangoapp.dev/scrcpy/video/tiny-h264/
|
||||
|
||||
The bundler you use must support the `new Worker(new URL('./worker.js', import.meta.url))` syntax. It's known that Webpack 5 works.
|
||||
## Sponsors
|
||||
|
||||
### Limit profile/level
|
||||
[Become a backer](https://opencollective.com/ya-webadb) and get your image on our README on Github with a link to your site.
|
||||
|
||||
Because it only supports Baseline level 4 codec, but many newer devices default to higher profiles/levels, you can limit it by using the `codecOptions` option:
|
||||
|
||||
```ts
|
||||
new ScrcpyOptions1_24({
|
||||
codecOptions: new CodecOptions({
|
||||
profile: TinyH264Decoder.maxProfile,
|
||||
level: TinyH264Decoder.maxLevel,
|
||||
}),
|
||||
});
|
||||
```
|
||||
|
||||
However, it can fail on some very old devices that doesn't support even Baseline level 4 codec. You can retry without the `codecOptions` option if that happens.
|
||||
|
||||
### Render the video
|
||||
|
||||
It draws frames onto `decoder.renderer` (a `<canvas>` element), you can insert it anywhere you want to display the video.
|
||||
|
||||
```ts
|
||||
const decoder = new TinyH264Decoder();
|
||||
document.body.appendChild(decoder.renderer);
|
||||
|
||||
videoPacketStream // from `@yume-chan/scrcpy`
|
||||
.pipeTo(decoder.writable)
|
||||
.catch(() => {});
|
||||
```
|
||||
<a href="https://opencollective.com/ya-webadb/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/0/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/1/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/2/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/3/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/4/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/5/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/6/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/7/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/8/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/9/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/10/avatar.svg?requireActive=false"></a>
|
||||
|
|
|
@ -1,29 +1,49 @@
|
|||
# @yume-chan/scrcpy-decoder-webcodecs
|
||||
<p align="center">
|
||||
<img alt="Tango" src="https://raw.githubusercontent.com/yume-chan/ya-webadb/main/.github/logo.svg" width="200">
|
||||
</p>
|
||||
|
||||
Decode and render H.264 streams using the [WebCodecs API](https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API).
|
||||
<h1 align="center">@yume-chan/scrcpy-decoder-webcodecs</h1>
|
||||
|
||||
It has no dependencies and high performance, but is only available on recent versions of Chrome.
|
||||
<p align="center">
|
||||
Raw H.264 stream decoder and renderer using WebCodecs API (requires modern browser).
|
||||
</p>
|
||||
|
||||
**WARNING:** The public API is UNSTABLE. Open a GitHub discussion if you have any questions.
|
||||
<p align="center">
|
||||
<a href="https://github.com/yume-chan/ya-webadb/blob/main/LICENSE">
|
||||
<img alt="MIT License" src="https://img.shields.io/github/license/yume-chan/ya-webadb">
|
||||
</a>
|
||||
<a href="https://github.com/yume-chan/ya-webadb/releases">
|
||||
<img alt="GitHub release" src="https://img.shields.io/github/v/release/yume-chan/ya-webadb?logo=github">
|
||||
</a>
|
||||
<a href="https://bundlephobia.com/package/@yume-chan/scrcpy-decoder-webcodecs">
|
||||
<img alt="Package Size" src="https://img.shields.io/bundlephobia/minzip/%40yume-chan%2Fscrcpy-decoder-webcodecs">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/@yume-chan/scrcpy-decoder-webcodecs">
|
||||
<img alt="npm" src="https://img.shields.io/npm/dm/%40yume-chan/scrcpy-decoder-webcodecs?logo=npm">
|
||||
</a>
|
||||
<a href="https://discord.gg/26k3ttC2PN">
|
||||
<img alt="Discord" src="https://img.shields.io/discord/1120215514732564502?logo=discord&logoColor=%23ffffff&label=Discord">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
- [Compatibility](#compatibility)
|
||||
- [Usage](#usage)
|
||||
This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Generally you need multiple packages to build a complete ADB client that can run on Web browsers and Node.js. Read the documentation for more information.
|
||||
|
||||
## Compatibility
|
||||
## Documentation
|
||||
|
||||
| Chrome | Firefox | Safari | Performance | Supported H.264 profile/level |
|
||||
| ------ | ------- | ------ | ------------------------------- | ----------------------------- |
|
||||
| 94 | No | No | High with hardware acceleration | High level 5 |
|
||||
Check the latest documentation at https://docs.tangoapp.dev/scrcpy/video/web-codecs/
|
||||
|
||||
## Usage
|
||||
## Sponsors
|
||||
|
||||
It draws frames onto `decoder.renderer` (a `<canvas>` element), you can insert it anywhere you want to display the video.
|
||||
[Become a backer](https://opencollective.com/ya-webadb) and get your image on our README on Github with a link to your site.
|
||||
|
||||
```ts
|
||||
const decoder = new WebCodecsDecoder();
|
||||
document.body.appendChild(decoder.renderer);
|
||||
|
||||
videoPacketStream // from `@yume-chan/scrcpy`
|
||||
.pipeTo(decoder.writable)
|
||||
.catch(() => {});
|
||||
```
|
||||
<a href="https://opencollective.com/ya-webadb/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/0/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/1/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/2/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/3/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/4/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/5/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/6/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/7/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/8/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/9/avatar.svg?requireActive=false"></a>
|
||||
<a href="https://opencollective.com/ya-webadb/backer/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/ya-webadb/backer/10/avatar.svg?requireActive=false"></a>
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -30,7 +30,7 @@ This package is part of [Tango ADB](https://github.com/yume-chan/ya-webadb). Gen
|
|||
|
||||
## Documentation
|
||||
|
||||
Check the latest documentation at https://tango-adb.github.io/docs/
|
||||
Check the latest documentation at https://docs.tangoapp.dev/scrcpy/
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"type": "module",
|
||||
"main": "esm/index.js",
|
||||
"types": "esm/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tsc -b tsconfig.build.json",
|
||||
"build:watch": "tsc -b tsconfig.build.json",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue