@@ -78,13 +78,13 @@ hbmenu 自行选择路径。
78
78
79
79
下载 ` wiliwili-PSVita.vpk ` 安装即可:[ wiliwili releases] ( https://github.com/xfangfang/wiliwili/releases )
80
80
81
- 开启硬解后可以流畅播放 480P 视频,仍有相当大的提升空间,如果你愿意为此贡献欢迎开一个 PR 讨论了解更多 。
81
+ 开启硬解后可以流畅播放 720P 横屏视频, 480P 竖屏视频,部分直播 1080P 原画 。
82
82
83
83
### PS4
84
84
85
85
下载 ` wiliwili-PS4.pkg ` 安装即可:[ wiliwili releases] ( https://github.com/xfangfang/wiliwili/releases )
86
86
87
- 只支持软解,对于 ps4 推荐关闭设置中的低画质解码;ps4 pro 如果想勉强播放 4k@60 需要开启低画质解码 。
87
+ 只支持软解,如果想播放 4k@60 需要在设置中开启低画质解码 。
88
88
89
89
### PC
90
90
@@ -171,9 +171,15 @@ PC客户端支持切换硬件解码、秒开流畅适合老电脑、支持鼠标
171
171
172
172
### 软件移植
173
173
174
- 本应用基于 nanovg 绘制界面,nanovg 底层可移植切换到任意图形库,视频播放部分则使用 MPV + FFMPEG 通过 OpenGL 绘制。
175
- 所以按照我的理解 wiliwili 应该可以移植到任何一个内存大于500MB,支持OpenGL(ES)的设备。如果你有想要移植的设备欢迎发一条
176
- issue 讨论。
174
+ 本应用基于 nanovg 绘制界面,nanovg 底层可移植切换到任意图形库,已有 OpenGL/Vulkan/Metal 等支持。
175
+ 视频播放部分则使用 FFMPEG + MPV 绘制,默认使用 OpenGL,有 D3D11/Deko3d/Gxm 或软件渲染支持。
176
+ 触摸/按键/输入法等平台相关功能通过 GLFW 或 SDL 来支持,也可以脱离二者直接实现,比如 Gxm 版 PSV。
177
+
178
+ 如果你要移植的设备支持 OpenGL(ES) 那么一般来说,直接编译就能正常运行。
179
+ 如果你要移植的设备使用其他底层图形库,那么首先需要移植 nanovg,这可以确保应用主要界面正常,
180
+ 其次为了更好的性能表现需要 ffmpeg 的硬解和 mpv 的渲染支持。
181
+
182
+ 如果你有想要移植的设备欢迎发一条 issue 讨论,Android / iOS 不在讨论之内。
177
183
178
184
### 新功能
179
185
@@ -186,7 +192,7 @@ issue 讨论。
186
192
187
193
### 代码分支
188
194
189
- 主分支 yoga 为保证编译无误的最新代码
195
+ 主分支 yoga 为最新版本的代码
190
196
开发分支 dev 为正在开发中的代码,任何新的 PR 都需要向 dev 分支提交
191
197
192
198
<br >
@@ -250,15 +256,6 @@ cmake -B build -G "MinGW Makefiles" -DPLATFORM_DESKTOP=ON
250
256
mingw32-make -C build wiliwili -j$( nproc)
251
257
```
252
258
253
- #### SDL2
254
-
255
- wiliwili 在 switch 和 PC 平台默认使用 GLFW, 由于 SDL2 支持的平台更多,考虑到向更多平台移植 (比如 PSV PS4 等),所以
256
- wiliwili 也支持切换到 SDL2 环境构建。
257
-
258
- ``` shell
259
- cmake -B build -DPLATFORM_DESKTOP=ON -DUSE_SDL2=ON
260
- cmake --build build
261
- ```
262
259
263
260
</details >
264
261
@@ -302,35 +299,41 @@ make -C cmake-build-switch wiliwili.nro -j$(nproc)
302
299
303
300
### 交叉编译 PSV 可执行文件
304
301
305
- 使用本地环境来编译请参考 ` .github/workflows/build.yaml ` 。
306
- 额外参考:[ borealis 示例] ( https://github.com/xfangfang/borealis#building-the-demo-for-psv )
307
- 和 [ wiliwili_vita 编译指南] ( https://gist.github.com/xfangfang/305da139721ad4e96d7a9d9a1a550a9d )
302
+ 使用本地环境来编译可以参考:
303
+ - [ borealis 编译指南] ( https://github.com/xfangfang/borealis/wiki/PS-Vita )
304
+ - [ wiliwili vita 编译指南] ( https://gist.github.com/xfangfang/305da139721ad4e96d7a9d9a1a550a9d )
305
+
306
+ 注意: 我们使用自定义的 mbedtls, curl 和 ffmpeg 作为依赖, 在使用本地环境编译时,请先卸载 vitasdk 中的相关库,再安装[ 指定的] ( https://github.com/xfangfang/wiliwili/tree/yoga/scripts/psv ) 依赖.
308
307
309
308
<details >
310
- 同样可以更方便地使用 docker 进行编译, 在 Apple Silicon 上编译,推荐使用 [ OrbStack] ( https://orbstack.dev ) 代替 Docker Desktop,因为前者支持 Rosetta 运行 x86_64 的
311
- Docker 镜像。
312
309
313
310
``` shell
311
+ # 构建 OpenGL ES 2.0 版
314
312
docker run --rm -v $( pwd) :/src/ xfangfang/wiliwili_psv_builder:latest \
315
313
" cmake -B cmake-build-psv -G Ninja -DPLATFORM_PSV=ON \
316
314
-DMPV_NO_FB=ON -DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_SDL2=ON \
317
315
-DCMAKE_BUILD_TYPE=Release && \
318
316
cmake --build cmake-build-psv"
317
+
318
+ # 构建 Gxm 版 (推荐)
319
+ docker run --rm -v $( pwd) :/src/ xfangfang/wiliwili_psv_builder:latest-gxm \
320
+ " cmake -B cmake-build-psv -G Ninja -DPLATFORM_PSV=ON \
321
+ -DUSE_SYSTEM_CURL=ON -DUSE_GXM=ON -DUSE_VITA_SHARK=OFF \
322
+ -DCMAKE_BUILD_TYPE=Release && \
323
+ cmake --build cmake-build-psv"
319
324
```
320
325
321
326
</details >
322
327
323
328
### 交叉编译 PS4 可执行文件
324
329
325
- 参考 ` .github/workflows/build.yaml ` 使用 docker 来编译。
326
- 或本地安装 [ PacBrew] ( https://github.com/PacBrew/pacbrew-packages ) 环境(只支持 x86_64
327
- Linux),并手动添加依赖库,请参考:[ scripts/ps4/Dockerfile] ( https://github.com/xfangfang/wiliwili/blob/dev/scripts/ps4/Dockerfile )
330
+ 使用本地环境来编译可以参考:
331
+ - [ PacBrew 环境安装] ( https://github.com/PacBrew/pacbrew-packages )
332
+ - [ borealis 编译指南] ( https://github.com/xfangfang/borealis/wiki/PS4 )
333
+ - [ 编译 wiliwili 依赖的第三方库] ( https://github.com/xfangfang/wiliwili/blob/dev/scripts/ps4/Dockerfile )
328
334
329
335
<details >
330
336
331
- 在 Apple Silicon 上编译,推荐使用 [ OrbStack] ( https://orbstack.dev ) 代替 Docker Desktop,因为前者支持 Rosetta 运行 x86_64 的
332
- Docker 镜像。
333
-
334
337
``` shell
335
338
docker run --rm -v $( pwd) :/src/ xfangfang/wiliwili_ps4_builder:latest \
336
339
" cmake -B cmake-build-ps4 -DPLATFORM_PS4=ON \
@@ -341,6 +344,18 @@ docker run --rm -v $(pwd):/src/ xfangfang/wiliwili_ps4_builder:latest \
341
344
342
345
</details >
343
346
347
+ ### GLFW or SDL
348
+
349
+ wiliwili 使用 nanovg 绘制图形和文字,对于创建窗口、按键触摸、输入法等支持是通过 GLFW(默认) 或 SDL 完成的。
350
+
351
+ 因为 GLFW 支持平台有限,在移植到新平台时可以使用 SDL 或者自行实现上述对应接口。
352
+
353
+ ``` shell
354
+ # 示例
355
+ cmake -B build -DPLATFORM_DESKTOP=ON -DUSE_SDL2=ON
356
+ cmake --build build
357
+ ```
358
+
344
359
<br >
345
360
346
361
# 应用截图
@@ -367,7 +382,9 @@ The development of wiliwili cannot do without the support of the following organ
367
382
- https://github.com/Cpasjuste/pplay
368
383
- https://github.com/proconsule/nxmp
369
384
- https://github.com/fish47/FFmpeg-vita
370
- - https://github.com/averne
385
+ - https://github.com/fish47/mpv-vita
386
+ - http://github.com/averne/FFmpeg
387
+ - http://github.com/averne/mpv
371
388
- Misc
372
389
- https://github.com/libcpr/cpr
373
390
- https://github.com/nlohmann/json
@@ -382,6 +399,3 @@ The development of wiliwili cannot do without the support of the following organ
382
399
# Special thanks
383
400
384
401
- Thanks to Crowdin for supporting [ open-source projects] ( https://crowdin.com/page/open-source-project-setup-request ) .
385
- - Thanks to JetBrains for providing [ Open Source development licenses] ( https://jb.gg/OpenSourceSupport ) .
386
-
387
- <img style =" width : 70px ;" src =" https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg " alt =" JetBrains Logo (Main) logo. " >
0 commit comments