punktde/cloudflare-stream

使用 Cloudflare Stream 服务进行自适应视频流传输

安装量: 12,412

依赖项: 0

建议者: 0

安全性: 0

星标: 3

关注者: 6

分支: 0

开放问题: 0

类型:neos-package

1.2.2 2022-12-08 08:02 UTC

This package is auto-updated.

Last update: 2024-09-08 11:25:48 UTC


README

Latest Stable Version Total Downloads License

当视频上传到 Neos 时,此包会自动将视频上传到 Cloudflare Stream 服务,并存储提供的 DASH 和 HLS URI,以及用于前端渲染的缩略图 URL。提供了一个 Eel 辅助工具,用于通过指定的视频检索此元数据,以便在您选择的视频播放器中使用。

安装

通过 composer 安装包

$ composer require punktde/cloudflare-stream

配置

只需配置您的 Cloudflare 凭据

PunktDe:
  Cloudflare:
    Stream:
      cloudflare:
        authentication:
          accountIdentifier: '<AccountIdentifier>'
          token: '<Bearer Token>'
      transfer:
        # Proxy to reach the cloudflare API
        proxyUrl: ''

使用提供的 eelHelper 获取流元数据

在您的自定义项目代码中,添加一个具有视频属性的节点类型以选择或上传本地视频资产。使用 Stream.getVideoMetaData(videoObject) eelHelper 方法访问 Cloudflare Stream 元数据。

示例 Fusion 代码

prototype(Vendor.Project:Content.Video) < prototype(Neos.Fusion:Component) {

    video = ${q(node).property('video')}
    streamMetaData = ${Stream.getVideoMetaData(this.video)}

    @if.videoSelected = ${Type.isObject(this.video)}

    renderer = afx`
    <table>
        <tr><td>CloudflareUid</td><td><b>{props.streamMetaData.cloudflareUid}</b></td></tr>
        <tr><td>Thumbnail</td><td><img src={props.streamMetaData.thumbnailUri} /></td></tr>
        <tr><td>HLS</td><td><a href={props.streamMetaData.hlsUri}>{props.streamMetaData.hlsUri}</a></td></tr>
        <tr><td>DASH</td><td><a href={props.streamMetaData.dashUri}>{props.streamMetaData.dashUri}</a></td></tr>
    </table>
    `
}

提供的命令