punktde / cloudflare-stream
使用 Cloudflare Stream 服务进行自适应视频流传输
1.2.2
2022-12-08 08:02 UTC
Requires
- ankitpokhrel/tus-php: ^2.1
- neos/neos: ^5.0 || ^7.0 || ^8.0
README
当视频上传到 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>
`
}