restruct/silverstripe-cfstreamvideo

安装: 7

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 4

分支: 0

开放问题: 3

类型:silverstripe-vendormodule

1.0.2 2022-01-07 20:07 UTC

This package is auto-updated.

Last update: 2024-09-08 01:30:18 UTC


README

Silverstripe CloudFlareStream 视频流模块

此 Silverstripe 模块提供了通过其 API 向 CloudFlareStream 上传视频并从 CloudFlareStream 流式传输视频的功能。

包含以下内容

  • 一个用于存储视频数据和设置的 DB StreamVideo 对象,并跟踪状态
  • 一个提供上传接口的 StreamVideoPage 对象(使用 FilePond)
  • 一个 StreamVideoAdminController 用于处理管理区域中的交互(如 API 交互、提供简码占位符等)
  • 可配置的选项(在 StreamVideoAdminController 上)/环境选项
    • (ENV) APP_CFSTREAM_API_HOST, APP_CFSTREAM_ACCOUNT_ID, APP_CFSTREAM_ACCOUNT_EMAIL, APP_CFSTREAM_API_TOKEN
    • (ENV) APP_CFSTREAM_SIGNING_KEY_ID, APP_CFSTREAM_SIGNING_KEY_PEM, APP_CFSTREAM_SIGNING_KEY_JWK
    • (StreamVideoObject::config()) $signed_buffer_hours
  • 此模块的初始版本
    • (1) 本地保存上传的视频,
    • (2) 向 Stream 发送 API 请求以复制视频,
    • (3) 在渲染时轮询状态,
    • (4) (可配置) 在状态为 'ready' 时移除本地视频
  • 上传通过 FilePond (作为 Silverstripe 在所有智慧中认为分块上传超出了范围) 使用分块进行大文件上传(基于尚未发布的 Restruct Admintweaks 模块的自定义 filepond 配置)
  • 提供简码 + 占位符,以便轻松将视频包含在编辑器中(也在 '常规' 页面上)
    • 简码钩入尚未发布的 Restruct Shortcodable 模块
    • 模态框有一个下拉菜单来通过标题/名称选择视频,并提供复选框选项:显示控件、自动播放、预加载、静音开始
  • 包括 ModelAdmin 接口,用于查看和编辑现有视频或上传新的视频(无需创建 StreamVideoPage)
    • 视频可以设置为 '受保护'(需要通过 Stream API 的签名 URL)
    • 视频可以有 白名单(仅)域名和国家,如果启用了白名单,则默认/当前网站域名将被自动添加到白名单中
    • 初始版本允许为视频设置/上传自定义海报图像(覆盖 Stream API 提供的图像)
    • 此模块的稍后版本可能允许通过模型管理器管理签名密钥(使用 Stream API)
    • 此模块的稍后版本可能提供更改/选择海报图像的方法/用户界面(通过 Stream API 调用)
  • 防止视频下载与 此 WP 模块 相同(内部解释
OEmbed (https://oembed.com/ & https://timnash.co.uk/becoming-oembed-provider/)
  • 视频可以通过 OEmbed 提供访问(目前所有视频都可以,除非标记为需要签名 URL 的视频)
    • OEmbedding 默认通过配置属性(与视频白名单域和国家无关)限制在当前域
    • 可以在 Config 中添加额外的允许的域进行白名单设置
    • OEmbedding 也可以配置为允许任何域(实际上禁用了白名单/限制功能)

参考