punktde /cloudflare-stream
使用Cloudflare流服务进行自适应视频流传输
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流服务,并存储提供的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>
`
}