Tutorial: 39-advanced-video-decoder

39-advanced-video-decoder

功能描述

本文主要介绍如何使用 TRTCVideoDecoder 插件来启动视频解码器降级能力。该插件支持常规解码失败后降级到软解码方式渲染视频。

前提条件

  • TRTC Web SDK 版本 >= 5.9.0

  • 联系我们开通解码器降级能力

实现流程

一、部署解码器需要的资源

动态加载文件依赖:解码器插件依赖一些文件。为保证浏览器可以正常加载和运行这些文件,你需要完成以下步骤:

node_modules/trtc-sdk-v5/plugins/video-decoder 目录下的videodec.wasmvideodec_simd.wasm 文件发布至 CDN 或者静态资源服务器中,并且处于同一个公共路径下。如果您需要使用解码器功能,需要传入上述公共路径的 URL,插件会动态加载依赖文件。

  • 如果目录下文件的 Host URL 与网页应用的 Host URL 不一致,则需要开启访问文件域名的 CORS 策略。
  • 不能把目录文件放在 HTTP 服务下,因为在 HTTPS 域名下加载 HTTP 资源会被浏览器安全策略禁止。

资源路径目录需要配置到 trtc 实例创建函数,该路径将会是所有外部资源依赖的公共路径,可以把其他插件的资源也放到路径里面来。

例如: https://example.com/assets/

二、引入并注册插件

import VideoDecoderPlugin from 'trtc-sdk-v5/plugins/video-decoder';
const trtc = TRTC.create({ plugins: [VideoDecoderPlugin], assetsPath: 'https://example.com/assets/' });

插件启动

插件功能将在 SDK 常规解码失败下自动启动降级逻辑,采用软解码方式解码。