punktde/cloudflare-stream

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

安装数: 12,411

依赖者: 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流服务,并存储提供的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流元数据。

示例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>
    `
}

提供命令