Skip to content

Commit

Permalink
Update document.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bosscheng committed May 22, 2024
1 parent 4683140 commit 329601c
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions demo/document.md
Original file line number Diff line number Diff line change
Expand Up @@ -2430,6 +2430,8 @@ jessibuca.on('start', () => {

> 如果是程序触发的自动播放播放器,是不会有声音的,需要用户手动触发才会有声音。
可以看下demo:[demo-auto-play.html](https://jessibuca.com/pro/demo-auto-play.html)

### 苹果手机默认没有声音。

在设置`isNotMute:true` 在苹果的手机端默认是没有声音的。
Expand All @@ -2454,6 +2456,8 @@ if (result) {
jessibuca.audioResume();
```

见demo:[demo-auto-play.html](https://jessibuca.com/pro/demo-auto-play.html)

### IOS 手机端全屏

> 由于IOS不支持系统级别的全屏方法,所以只能降级到web全屏。
Expand Down Expand Up @@ -2575,6 +2579,57 @@ app.whenReady().then(() => {

</body>
```


### 如何开启electron硬解码Hevc(H265)

https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding/blob/main/README.zh_CN.md

> 如果是 Electron 20 (Chromium 104),则已集成好 Mac, Windows 平台的 HEVC 硬解功能,在启动时执行 app.commandLine.appendSwitch('enable-features', 'PlatformHEVCDecoderSupport') 即可启用硬解。若要集成软解,方法同上述 Chromium 教程相同。
见:https://www.cnblogs.com/gnz48/p/16422304.html


### 如何验证视频播放是否走硬解?

打开 chrome://gpu, 搜索 Video Acceleration Information, 如果能看到 Decode hevc main 和 Decode hevc main 10 (macOS 还会显示 Decode hevc main still-picture 和 Decode hevc range extensions) 说明支持硬解(这里 macOS 是个例外,显示仅代表支持 VideoToolbox 解码,至于是否硬解取决于 GPU 支持情况)。

打开 chrome://media-internals 并尝试播放一些 HEVC 视频 (测试页面),如果最终使用的 Decoder 是 VDAVideoDecoder 或 D3D11VideoDecoder 或 VaapiVideoDecoder 说明走了硬解(这里 macOS 是个例外,macOS Big Sur 以上版本,在不支持的 GPU 上,VideoToolbox 会自动 fallback 到软解,性能相比 FFMPEG 软解更好,Decoder 同样为 VDAVideoDecoder), 如果 Decoder 是 FFMpegVideoDecoder 说明走的是软解。

#### MAC
如果是 Mac,请打开 活动监视器并搜索 VTDecoderXPCService, 如果播放时进程的 CPU 利用率大于0说明走了硬解(或软解)。
#### Windows
如果是 Windows,请打开 任务管理器 并切换到 性能 - GPU 面板,如果 Video Decoding 的利用率大于0说明走了硬解。

### 为什么我的显卡支持,但仍无法使用硬解?

1. 操作系统版本过低
2. 显卡驱动版本有问题
3. 特定硬件有问题

#### 操作系统版本过低

##### Windows

请确保操作系统版本大于等于 Windows 8,这是因为 Chromium 的 D3D11VideoDecoder 仅支持 Windows 8 以上系统,在 Windows 8 以下操作系统使用 VDAVideoDecoder 进行硬解。而 VDAVideoDecoder 基于 Media Foundation 实现,Media Foundation 对于 HEVC 硬解的支持(需要安装 HEVC视频扩展 插件),系统版本需大于 Windows 10 1709。

##### macOS

请确保操作系统版本大于等于 Big Sur,这是因为CMVideoFormatDescriptionCreateFromHEVCParameterSets API,在 Big Sur 以下版本有兼容问题。


#### 显卡驱动版本有问题

部分显卡驱动版本有 BUG,导致被禁用使用D3D11VideoDecoder,因此若你确保 GPU 支持 HEVC 硬解,请先更新到最新版本显卡驱动再尝试。


#### 特定硬件有问题

部分硬解有 BUG,导致被禁用 D3D11VideoDecoder,这种情况没什么办法解决,只能软解。




### JbFro container has been created and can not be created again

这个错误的原因通常是调用`destroy()` 方法不对导致的。
Expand Down

0 comments on commit 329601c

Please sign in to comment.