ziggeo / ziggeophpsdk
Ziggeo API (https://ziggeo.com) 允许您通过在网站、服务或应用中仅使用两行代码即可集成视频录制和播放。
Requires
- php: >=5.3.0
- phpseclib/phpseclib: 2.*
This package is auto-updated.
Last update: 2024-09-04 22:03:13 UTC
README
最新版本: 0.1.30
索引
- 为什么选择 Ziggeo 的 PHP 服务器端 SDK?
- 先决条件
- 客户端集成
- 服务器端集成
- 有用
- 许可
为什么选择 Ziggeo 的 PHP 服务器端 SDK?
Ziggeo 是一款强大的白标视频 SaaS,旨在帮助人们进行视频革命。而使用获奖的多媒体 API 是实现这一目标的最有效方式。
该服务器端SDK旨在帮助您轻松与Ziggeo API进行通信。它允许您通过请求您希望执行的操作,在您的服务器和我们的服务器之间进行私密通信。
它提供了预构建的功能,用于调用和操作,并在/demos/目录中提供了演示,供您查看和使用作为起点。
它是为谁准备的?
- 您是否有一个系统需要在客户端看不到的调用?
- 想要更容易地处理发送到您的服务器的媒体吗?
- 想要一个简单易用的东西吗?
- 您需要高端视频服务提供的强大功能吗?
如果上述任何一个是“是”,那么您就找到了正确的地方,因为这个SDK是为您准备的!
先决条件
下载
您可以选择下载SDK压缩文件或将它作为git仓库拖入您自己的项目中。
要克隆它,您需要进入您的项目文件夹,然后运行php git clone https://github.com/Ziggeo/ZiggeoPhpSdk
如何使用
要开始使用PHP SDK,您需要使用应用程序令牌、私有令牌以及可能的加密令牌初始化Ziggeo类。这些令牌和密钥可以在您登录Ziggeo应用程序后找到,在概览页面下。
依赖关系
如果您使用认证令牌,则需要安装PHPSeclib库,至少用于创建客户端认证令牌。
如果您使用Composer,请按照以下步骤操作
- 在文件夹中运行
composer require phpseclib/phpseclib
- 编辑Ziggeo.php文件,并在顶部添加
require_once 'vendor/autoload.php';
-PHPSeclib
客户端集成
对于客户端集成,您需要将以下资产添加到您的HTML文件中
<link rel="stylesheet" href="//assets-cdn.ziggeo.com/v2-stable/ziggeo.css" /> <script src="//assets-cdn.ziggeo.com/v2-stable/ziggeo.js"></script>
然后,您需要指定您的API令牌
<script> var ziggeoApplication = new ZiggeoApi.V2.Application({ token: "APPLICATION_TOKEN", webrtc_streaming_if_necessary: true, webrtc_on_mobile: true }); </script>
您可以指定其他全局选项,见此处。
要在您的页面上启动录制器,请添加
<ziggeorecorder></ziggeorecorder>
要嵌入现有视频的播放器,请添加
<ziggeoplayer ziggeo-video='video-token'></ziggeoplayer>
有关完整文档,请访问ziggeo.com。
服务器端集成
在您的代码中初始化Ziggeo类
您可以按照以下方式集成服务器SDK
<?php require_once('./ziggeo/Ziggeo.php'); $ziggeo = new Ziggeo('*token*', '*private_key*', '*encryption_key*', *config*); ?>
配置是可选的,如果不指定(推荐),则将使用配置文件。
可用方法
当前可用方法分为不同的类别
- 视频
- 流
- 音频
- 音频流
- 认证令牌
- 应用程序
- 效果配置文件
- 效果配置文件处理
- 元配置文件
- 元配置文件处理
- Webhooks
- 分析
每个部分都有其自己的操作,下面将进行说明
视频
视频资源允许您访问所有单个视频。每个视频可能包含多个流。
索引
查询视频数组(默认情况下将返回最多50个视频)。最新的视频排在前面。
$ziggeo->videos()->index($arguments = array())
参数
- limit: 限制返回的视频数量。可设置至100。
- skip: 跳过前[n]条记录。
- reverse: 反转返回视频的顺序。
- states: 按状态过滤视频。
- tags: 将搜索结果过滤到特定的标签,标签以逗号分隔的字符串编码。
Count
获取应用程序的视频数量。
$ziggeo->videos()->count($arguments = array())
参数
- states: 按状态过滤视频。
- tags: 将搜索结果过滤到特定的标签,标签以逗号分隔的字符串编码。
Get
通过令牌或密钥获取单个视频。
$ziggeo->videos()->get($token_or_key)
Get Bulk
通过令牌或密钥获取多个视频。
$ziggeo->videos()->get_bulk($arguments = array())
参数
- tokens_or_keys: 包含所需视频令牌或密钥的逗号分隔列表(限制:100个令牌或密钥)。
Stats Bulk
通过令牌或密钥获取多个视频的统计数据。
$ziggeo->videos()->stats_bulk($arguments = array())
参数
- tokens_or_keys: 包含所需视频令牌或密钥的逗号分隔列表(限制:100个令牌或密钥)。
- summarize: 布尔值。将其设置为TRUE以获取汇总的统计数据。将其设置为FALSE以获取每个视频分开的数组中的统计数据。默认:TRUE。
Download Video
下载视频数据文件
$ziggeo->videos()->download_video($token_or_key)
Download Image
下载图像数据文件
$ziggeo->videos()->download_image($token_or_key)
Get Stats
获取视频的统计数据
$ziggeo->videos()->get_stats($token_or_key)
Push To Service
将视频推送到提供的推送服务。
$ziggeo->videos()->push_to_service($token_or_key, $arguments = array())
参数
- pushservicetoken: 推送服务的令牌(从为应用配置的推送服务中获取)
Apply Effect
将效果配置文件应用到视频上。
$ziggeo->videos()->apply_effect($token_or_key, $arguments = array())
参数
- effectprofiletoken: 效果配置文件令牌(从为应用配置的效果配置文件中获取)
Apply Meta
将元配置文件应用到视频上。
$ziggeo->videos()->apply_meta($token_or_key, $arguments = array())
参数
- metaprofiletoken: 元配置文件令牌(从为应用配置的元配置文件中获取)
Update
通过令牌或密钥更新单个视频。
$ziggeo->videos()->update($token_or_key, $arguments = array())
参数
- min_duration: 视频的最小时长
- max_duration: 视频的最大时长
- tags: 视频标签
- key: 视频的唯一(可选)名称
- volatile: 如果此视频保持为空,则自动删除此视频
- expiration_days: 视频将在多少天后被删除
- expire_on: 视频将在哪一天被删除。字符串采用ISO 8601格式:YYYY-MM-DD
Update Bulk
通过令牌或密钥更新多个视频。
$ziggeo->videos()->update_bulk($arguments = array())
参数
- tokens_or_keys: 包含所需视频令牌或密钥的逗号分隔列表(限制:100个令牌或密钥)。
- min_duration: 视频的最小时长
- max_duration: 视频的最大时长
- tags: 视频标签
- volatile: 如果此视频保持为空,则自动删除此视频
- expiration_days: 视频将在多少天后被删除
- expire_on: 视频将在哪一天被删除。字符串采用ISO 8601格式:YYYY-MM-DD
Delete
通过令牌或密钥删除单个视频。
$ziggeo->videos()->delete($token_or_key)
Create
创建一个新的视频。
$ziggeo->videos()->create($arguments = array())
参数
- file: 要上传的视频文件
- min_duration: 视频的最小时长
- max_duration: 视频的最大时长
- tags: 视频标签
- key: 视频的唯一(可选)名称
- volatile: 如果此视频保持为空,则自动删除此视频
- effect_profile: 设置您想要应用到视频上的效果配置文件。
- meta_profile: 设置创建视频后要应用的元配置文件。
- video_profile: 设置在创建视频时应用的视频配置文件。
Analytics
获取具有给定参数的特定视频的分析数据
$ziggeo->videos()->analytics($token_or_key, $arguments = array())
参数
- from: 用于查询开始日期的UNIX时间戳(微秒)
- to: 用于查询结束日期的UNIX时间戳(微秒)
- date: 用于检索数据的单个日期的UNIX时间戳(微秒)。如果设置,它将覆盖from和to参数。
- query: 您要运行的查询。可以是以下之一:device_views_by_os, device_views_by_date, total_plays_by_country, full_plays_by_country, total_plays_by_hour, full_plays_by_hour, total_plays_by_browser, full_plays_by_browser
Streams
Streams资源允许您直接访问与单个视频关联的所有流。
索引
返回与视频关联的所有流
$ziggeo->streams()->index($video_token_or_key, $arguments = array())
参数
- states: 按状态过滤流
Get
获取单个流
$ziggeo->streams()->get($video_token_or_key, $token_or_key)
Download Video
下载与流相关的视频数据
$ziggeo->streams()->download_video($video_token_or_key, $token_or_key)
Download Image
下载与流相关的图像数据
$ziggeo->streams()->download_image($video_token_or_key, $token_or_key)
Push To Service
将流推送到提供的推送服务。
$ziggeo->streams()->push_to_service($video_token_or_key, $token_or_key, $arguments = array())
参数
- pushservicetoken: 推送服务的令牌(从为应用配置的推送服务中获取)
Delete
删除流
$ziggeo->streams()->delete($video_token_or_key, $token_or_key)
Create
创建新的流
$ziggeo->streams()->create($video_token_or_key, $arguments = array())
参数
- file: 要上传的视频文件
附加图像
将图像附加到新流。必须在视频之前附加,因为视频上传会触发转码作业并绑定流
$ziggeo->streams()->attach_image($video_token_or_key, $token_or_key, $arguments = array())
参数
- file: 要附加的图像文件
附加视频
将视频附加到新流
$ziggeo->streams()->attach_video($video_token_or_key, $token_or_key, $arguments = array())
参数
- file: 要附加的视频文件
附加字幕
将字幕附加到流。
$ziggeo->streams()->attach_subtitle($video_token_or_key, $token_or_key, $arguments = array())
参数
- lang: 字幕语言
- label: 字幕参考
- data: 实际字幕
音频
音频资源允许您访问所有单个音频。每个视频可能包含多个流。
索引
查询音频数组(默认情况下最多返回50个音频)。最新的音频排在前面。
$ziggeo->audios()->index($arguments = array())
参数
- limit: 限制返回的音频数量。可以设置最多100个。
- skip: 跳过前[n]条记录。
- reverse: 颠倒音频返回的顺序。
- states: 通过状态过滤音频
- tags: 将搜索结果过滤到特定的标签,标签以逗号分隔的字符串编码。
Count
获取应用程序的音频数量。
$ziggeo->audios()->count($arguments = array())
参数
- states: 通过状态过滤音频
- tags: 将搜索结果过滤到特定的标签,标签以逗号分隔的字符串编码。
Get
通过令牌或密钥获取单个音频。
$ziggeo->audios()->get($token_or_key)
Get Bulk
通过令牌或密钥获取多个音频。
$ziggeo->audios()->get_bulk($arguments = array())
参数
- tokens_or_keys: 逗号分隔的所需音频令牌或密钥列表(限制:100个令牌或密钥)。
下载音频
下载音频数据文件
$ziggeo->audios()->download_audio($token_or_key)
Update
通过令牌或密钥更新单个音频。
$ziggeo->audios()->update($token_or_key, $arguments = array())
参数
- min_duration: 音频的最小持续时间
- max_duration: 音频的最大持续时间
- tags: 音频标签
- key: 音频的唯一(可选)名称
- volatile: 如果音频保持为空,则自动删除此音频
- expiration_days: 音频将被删除的天数
- expire_on: 音频将被删除的日期。ISO 8601格式的字符串:YYYY-MM-DD
Update Bulk
通过令牌或密钥更新多个音频。
$ziggeo->audios()->update_bulk($arguments = array())
参数
- tokens_or_keys: 逗号分隔的所需音频令牌或密钥列表(限制:100个令牌或密钥)。
- min_duration: 音频的最小持续时间
- max_duration: 音频的最大持续时间
- tags: 音频标签
- volatile: 如果音频保持为空,则自动删除此音频
- expiration_days: 音频将被删除的天数
- expire_on: 音频将被删除的日期。ISO 8601格式的字符串:YYYY-MM-DD
Delete
通过令牌或密钥删除单个音频。
$ziggeo->audios()->delete($token_or_key)
Create
创建新的音频。
$ziggeo->audios()->create($arguments = array())
参数
- file: 要上传的音频文件
- min_duration: 音频的最小持续时间
- max_duration: 音频的最大持续时间
- tags: 音频标签
- key: 音频的唯一(可选)名称
- volatile: 如果此视频保持为空,则自动删除此视频
音频流
流资源允许您直接访问与单个音频关联的所有流。
索引
返回与音频关联的所有流
$ziggeo->audioStreams()->index($audio_token_or_key, $arguments = array())
参数
- states: 按状态过滤流
Get
获取单个流
$ziggeo->audioStreams()->get($audio_token_or_key, $token_or_key)
下载音频
下载与流关联的音频数据
$ziggeo->audioStreams()->download_audio($audio_token_or_key, $token_or_key)
Delete
删除流
$ziggeo->audioStreams()->delete($audio_token_or_key, $token_or_key)
Create
创建新的流
$ziggeo->audioStreams()->create($audio_token_or_key, $arguments = array())
参数
- file: 要上传的音频文件
认证令牌
认证令牌资源允许您管理视频对象的授权设置。
Get
通过令牌获取单个认证令牌。
$ziggeo->authtokens()->get($token)
Update
通过令牌更新单个认证令牌。
$ziggeo->authtokens()->update($token_or_key, $arguments = array())
参数
- volatile: 如果保持为空,此对象将自动被删除吗?
- hidden: 如果隐藏,则令牌不能直接使用。
- expiration_date: 认证令牌的过期日期(Unix纪元时间格式)
- usage_expiration_time: 会话的过期时间(秒)
- session_limit: 最大会话数
- grants: 此令牌授予的权限
Delete
通过令牌删除单个认证令牌。
$ziggeo->authtokens()->delete($token_or_key)
Create
创建新的认证令牌。
$ziggeo->authtokens()->create($arguments = array())
参数
- volatile: 如果保持为空,此对象将自动被删除吗?
- hidden: 如果隐藏,则令牌不能直接使用。
- expiration_date: 认证令牌的过期日期(Unix纪元时间格式)
- usage_expiration_time: 会话的过期时间(秒)
- session_limit: 最大会话数
- grants: 此令牌授予的权限
应用程序
应用程序令牌资源允许您管理您的应用程序。
Get
读取应用程序。
$ziggeo->application()->get()
Update
更新应用程序。
$ziggeo->application()->update($arguments = array())
参数
- volatile: 如果保持为空,此对象将自动被删除吗?
- name: 应用程序名称
- auth_token_required_for_create: 创建视频需要认证令牌
- auth_token_required_for_update: 更新视频需要认证令牌
- auth_token_required_for_read: 读取视频需要认证令牌
- auth_token_required_for_destroy: 删除视频需要认证令牌
- client_can_index_videos: 客户端允许执行索引操作
- client_cannot_access_unaccepted_videos: 客户端无法查看未接受的视频
- enable_video_subpages: 启用托管视频页面
Get Stats
读取应用程序统计信息
$ziggeo->application()->get_stats($arguments = array())
参数
- period: 可选。可以是'year'或'month'。
效果配置文件
效果配置文件资源允许您访问和创建应用程序的效果配置文件。每个效果配置文件可能包含一个或多个过程。
Create
创建一个新的效果配置文件。
$ziggeo->effectProfiles()->create($arguments = array())
参数
- key: 效果配置文件密钥。
- title: 效果配置文件标题。
- default_effect: 布尔值。如果为TRUE,则设置效果配置文件为默认配置。如果为FALSE,则移除指定效果的有效状态。
索引
获取效果配置文件列表。
$ziggeo->effectProfiles()->index($arguments = array())
参数
- limit: 限制返回的效果配置文件数量。可以设置为最多100。
- skip: 跳过前[n]条记录。
- reverse: 颠倒返回效果配置文件的顺序。
Get
获取单个效果配置文件
$ziggeo->effectProfiles()->get($token_or_key)
Delete
删除效果配置文件
$ziggeo->effectProfiles()->delete($token_or_key)
Update
更新效果配置文件。
$ziggeo->effectProfiles()->update($token_or_key, $arguments = array())
参数
- default_effect: 布尔值。如果为TRUE,则设置效果配置文件为默认配置。如果为FALSE,则移除指定效果的有效状态。
效果配置文件过程
过程资源允许您直接访问与单个效果配置文件相关联的所有过程。
索引
返回与效果配置文件相关联的所有过程
$ziggeo->effectProfileProcess()->index($effect_token_or_key, $arguments = array())
参数
- states: 按状态过滤流
Get
获取单个过程
$ziggeo->effectProfileProcess()->get($effect_token_or_key, $token_or_key)
Delete
删除过程
$ziggeo->effectProfileProcess()->delete($effect_token_or_key, $token_or_key)
创建过滤器过程
创建一个新的过滤器效果过程
$ziggeo->effectProfileProcess()->create_filter_process($effect_token_or_key, $arguments = array())
参数
- effect: 在过程中应用的效果。
创建水印过程
将图像附加到新流中
$ziggeo->effectProfileProcess()->create_watermark_process($effect_token_or_key, $arguments = array())
参数
- file: 要附加的图像文件
- vertical_position: 指定水印的垂直位置(0.0到1.0之间的值)。
- horizontal_position: 指定水印的水平位置(0.0到1.0之间的值)。
- video_scale: 指定水印图像的缩放(0.0到1.0之间的值)。
编辑水印过程
编辑现有的水印过程。
$ziggeo->effectProfileProcess()->edit_watermark_process($effect_token_or_key, $token_or_key, $arguments = array())
参数
- file: 要附加的图像文件
- vertical_position: 指定水印的垂直位置(0.0到1.0之间的值)。
- horizontal_position: 指定水印的水平位置(0.0到1.0之间的值)。
- video_scale: 指定水印图像的缩放(0.0到1.0之间的值)。
元配置文件
元配置文件资源允许您访问和创建应用程序的元配置文件。每个元配置文件可能包含一个或多个过程。
Create
创建一个新的元配置文件。
$ziggeo->metaProfiles()->create($arguments = array())
参数
- key: 元配置文件密钥。
- title: 元配置文件标题。
索引
获取元配置文件列表。
$ziggeo->metaProfiles()->index($arguments = array())
参数
- limit: 限制返回的元配置文件数量。可以设置为最多100。
- skip: 跳过前[n]条记录。
- reverse: 颠倒返回元配置文件的顺序。
Get
获取单个元配置文件
$ziggeo->metaProfiles()->get($token_or_key)
Delete
删除元配置文件
$ziggeo->metaProfiles()->delete($token_or_key)
元配置文件过程
过程资源允许您直接访问与单个元配置文件相关联的所有过程。
索引
返回与元配置文件相关联的所有过程
$ziggeo->metaProfileProcess()->index($meta_token_or_key)
Get
获取单个过程
$ziggeo->metaProfileProcess()->get($meta_token_or_key, $token_or_key)
Delete
删除过程
$ziggeo->metaProfileProcess()->delete($meta_token_or_key, $token_or_key)
创建视频分析过程
创建一个新的视频分析元过程
$ziggeo->metaProfileProcess()->create_video_analysis_process($meta_token_or_key)
创建音频转录过程
创建一个新的音频转录元过程
$ziggeo->metaProfileProcess()->create_audio_transcription_process($meta_token_or_key)
创建Nsfw过程
创建一个新的nsfw过滤器元过程
$ziggeo->metaProfileProcess()->create_nsfw_process($meta_token_or_key, $arguments = array())
参数
- nsfw_action: 以下三个之一:approve、reject、nothing。
创建粗口过程
创建一个新的粗口过滤器元过程
$ziggeo->metaProfileProcess()->create_profanity_process($meta_token_or_key, $arguments = array())
参数
- profanity_action: 以下三个之一:approve、reject、nothing。
Webhooks
Webhooks资源允许您创建或删除与给定应用程序相关的webhooks。
Create
为给定的url创建一个新的webhook以捕获给定的事件。
$ziggeo->webhooks()->create($arguments = array())
参数
- target_url: 将捕获事件的url。
- encoding: webhook用于发送事件的编码。
- 事件:用逗号分隔的事件列表,webhook将捕获这些事件。它们必须是有效的webhook类型事件。
确认
使用ID和相应的验证码确认webhook。
$ziggeo->webhooks()->confirm($arguments = array())
参数
- webhook_id:在创建调用中返回的Webhook ID。
- validation_code:创建时发送到webhook的验证码。
Delete
使用URL删除webhook。
$ziggeo->webhooks()->delete($arguments = array())
参数
- target_url: 将捕获事件的url。
Analytics
分析资源允许您访问给定应用程序的分析。
Get
获取给定参数的分析。
$ziggeo->analytics()->get($arguments = array())
参数
- from: 用于查询开始日期的UNIX时间戳(微秒)
- to: 用于查询结束日期的UNIX时间戳(微秒)
- date: 用于检索数据的单个日期的UNIX时间戳(微秒)。如果设置,它将覆盖from和to参数。
- query: 您要运行的查询。可以是以下之一:device_views_by_os, device_views_by_date, total_plays_by_country, full_plays_by_country, total_plays_by_hour, full_plays_by_hour, total_plays_by_browser, full_plays_by_browser
Docker
如果您希望使用Docker运行此SDK及其演示,请按以下方式构建镜像
docker build . -t ziggeo-php
然后您可以按以下方式运行演示
docker run --rm ziggeo-php /ziggeo/demos/list_all_videos.php --token xxx --privatekey xxx
Webhooks
虽然技术上您不需要此SDK来接收webhook,但我们包括了一个演示以方便您。
运行如下
php -S 0.0.0.0:12345 ./demos/webhook-printer.php
如果您想使用docker,请按以下方式运行
docker run --rm -p 12345:12345 ziggeo-php php -S 0.0.0.0:12345 /ziggeo/demos/webhook-printer.php
您的本地机器需要通过端口12345从互联网访问。在大多数情况下,您将位于路由器/NAT后面,因此您可能需要激活某种端口转发或安装一个本地端口隧道,如ngrok。
一旦安装了这样的隧道,您通常可以按以下方式隧道一个特定的端口,如12345
ngrok http 12345
输出将为您提供特定的公开可访问的域名,您可以将它添加到Ziggeo webhook列表中
http://543e13e6.ngrok.io -> localhost:12345
许可证
版权(c)2013-2022 Ziggeo
Apache 2.0许可证