api-video / php-api-client
api.video 网络服务的 PHP 客户端。
Requires
- php: ^7.3 || ^8.0
- ext-json: *
- php-http/multipart-stream-builder: ^1.1
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
Requires (Dev)
- nyholm/psr7: ^1.4
- phpunit/phpunit: ^9
- symfony/http-client: ^5.2
- dev-main
- v1.4.1
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.0
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-add-video-tags-endpoint
- dev-discarded-videos
- dev-sort-params-in-analytics
- dev-watch-data-docs
- dev-fix-readmes-doctave-2
- dev-api-rate-limiting-oas
- dev-update-video-status-endpoint-description
- dev-fix-php-tests-language
- dev-Update-get-live-streams-sortby-attribute
- dev-Update-language-param-description
- dev-caption-language-update
- dev-documentation-repo-standalone
- dev-bugfix/analytics-dimension-values
- dev-Add-clip-object-timecode-descriptions
- dev-Fix-indirect-URLs
- dev-update-player-logo-request-description
- dev-remove-raw-statistics
- dev-fix-code-samples-fields
- dev-include-client-doc-in-documentation
- dev-bugfix/update-list-all-video-objects-descriptions
- dev-fix/merged-release-notes
- dev-feat/live-restreaming
- dev-bugfix/light-analytics
- dev-temp/live-restreaming
- dev-feat/light-analytics
- dev-bugfix/example_generation
- dev-bugfix/badrequest_problems
- dev-feat/improve_doc
- dev-upload-with-token-and-videoid
- dev-fix-api-video-case
- dev-feature/upload-by-video-id-and-upload-token
- dev-chore/remove_issue_templates
- dev-date-rage-required-in-analytics
- dev-feature/origin_sdk_header
- dev-change-from-specification
- dev-fix-publishedAt-type
- dev-fix-python-nullables
- dev-improve-documentation
- dev-fix-contributing-md
- dev-add-issue-templates
- dev-add-received-parts-in-status
- dev-bugfix/player_update_payload
- dev-watermark-and-clip
- dev-handle-null-and-missing-values
- dev-fix-tags-query-param
- dev-fix-deprecated-mark-on-linkactive
- dev-documentation-update-in-api-spec
- dev-minor-change-in-api-description
- dev-github-action-to-create-release
- dev-feature/swift-api
- dev-add-player-theme-name
- dev-update-description-documentation
- dev-fix-readme-links
- dev-remove-coc-add-contributing
- dev-bump-readmeio-action
- dev-bump-openapi-generator-version
- dev-add-changelogs
- dev-stream-uploads
- dev-fix-php-readme
- dev-fix-chunk-size-value-in-readme
- dev-add-examples
- dev-add-composer-installs-in-readme
- dev-fix-php-arrays
- dev-fix-python-get-status-error
- dev-add-starts-paragraph-in-readmes
- dev-temp-test
- dev-remove-publishedat-in-creation-payload
- dev-remove-unused-player-theme-options
- dev-update-documentation
- dev-php-update-ext-json-requirement
- dev-fancyweb-patch-1
- dev-tests-on-staging
- dev-update-readmeio-documentation
- dev-fix/deep-objects-params-in-query
- dev-fixes-and-ci
- dev-php-client
This package is auto-updated.
Last update: 2024-09-26 10:08:45 UTC
README
api.video PHP 客户端
api.video 是产品构建者的视频基础设施。提供快速的视频 API,以集成、扩展和管理应用中的按需和低延迟直播功能。
目录
项目描述
api.video 的 PHP API 客户端简化了编码过程。文件分块、分页和令牌刷新都由您处理。
入门
安装
composer require api-video/php-api-client
初始化
由于 PHP PSR 支持,您必须使用 3 到 5 个参数初始化客户端
- 基础 URI,可以是
https://sandbox.api.video
或https://ws.api.video
- 您的 API 密钥,可在您的帐户中找到
- HTTP 客户端
- (请求工厂)
- (流工厂)
注意:如果 HTTP 客户端还实现了 RequestFactoryInterface 和 StreamFactoryInterface,则不需要通过第 4 和第 5 个参数传递此对象。
Symfony HTTP 客户端示例
Symfony HTTP 客户端具有三项优势,即充当 HTTP 客户端,同时也是 请求工厂 和 流工厂。因此,只需将其作为参数传递三次即可。
如果 HTTP 客户端尚未在您的项目中,您可以使用以下方法添加它
composer require symfony/http-client composer require nyholm/psr7
代码示例
客户端初始化
<?php require __DIR__ . '/vendor/autoload.php'; $httpClient = new \Symfony\Component\HttpClient\Psr18Client(); $client = new \ApiVideo\Client\Client( 'https://sandbox.api.video', 'YOUR_API_KEY', $httpClient ); ?>
创建视频
$payload = (new VideoCreationPayload()) ->setTitle('Test video creation'); // the `$client` must already be initialized. $video = $client->videos()->create($payload);
上传视频
$payload = (new VideoCreationPayload()) ->setTitle('Test video creation'); $video = $client->videos()->create($payload); // the `$client` must already be initialized. $client->videos()->upload( $video->getVideoId(), new SplFileObject(__DIR__.'/../earth.mp4') );
文档
API 端点
AnalyticsApi
CaptionsApi
ChaptersApi
LiveStreamsApi
PlayerThemesApi
UploadTokensApi
VideosApi
WatermarksApi
WebhooksApi
模型
- AccessToken
- AdditionalBadRequestErrors
- AnalyticsAggregatedMetricsResponse
- AnalyticsAggregatedMetricsResponseContext
- AnalyticsAggregatedMetricsResponseContextTimeframe
- AnalyticsData
- AnalyticsMetricsBreakdownResponse
- AnalyticsMetricsBreakdownResponseContext
- AnalyticsMetricsBreakdownResponseData
- AnalyticsMetricsOverTimeResponse
- AnalyticsMetricsOverTimeResponseContext
- AnalyticsMetricsOverTimeResponseData
- AnalyticsPlays400Error
- AnalyticsPlaysResponse
- AuthenticatePayload
- BadRequest
- BytesRange
- Caption
- CaptionsListResponse
- CaptionsUpdatePayload
- Chapter
- ChaptersListResponse
- DiscardedVideoUpdatePayload
- FilterBy
- FilterBy1
- FilterBy2
- Link
- LiveStream
- LiveStreamAssets
- LiveStreamCreationPayload
- LiveStreamListResponse
- LiveStreamUpdatePayload
- Metadata
- Model403ErrorSchema
- NotFound
- Pagination
- PaginationLink
- PlayerSessionEvent
- PlayerTheme
- PlayerThemeAssets
- 玩家主题创建有效负载
- 玩家主题更新有效负载
- 玩家主题列表响应
- 质量
- 刷新令牌有效负载
- 重新流请求对象
- 重新流响应对象
- 令牌创建有效负载
- 令牌列表响应
- 请求过多
- 未识别的请求URL
- 上传令牌
- 视频
- 视频资源
- 视频剪辑
- 视频创建有效负载
- 视频源
- 视频源直播流
- 视频源直播流链接
- 视频状态
- 视频状态编码
- 视频状态编码元数据
- 视频状态采集
- 视频状态采集接收部分
- 视频缩略图选择有效负载
- 视频更新有效负载
- 视频水印
- 视频列表响应
- 水印
- 水印列表响应
- Webhook
- Webhooks创建有效负载
- Webhooks列表响应
身份验证
某些端点不需要身份验证。这些可以通过使用带有null
API密钥的客户端调用
<?php require __DIR__ . '/vendor/autoload.php'; $httpClient = new \Symfony\Component\HttpClient\Psr18Client(); $client = new \ApiVideo\Client\Client( 'https://sandbox.api.video', null, $httpClient ); ?>
块
视频自动分割为50 Mb的块。
要修改块的大小,请如下填写最后一个参数$contentRange
bytes 0-{size}/0
其中{size}
是块的大小。
例如:bytes 0-500000/0
表示500 Kb的块。
块的大小值必须在5 Mb到128mb之间。
测试
要运行PhpUnit测试,必须在命令行中输入两个变量
BASE_URI
(例如:https://sandbox.api.video
)API_KEY
这些标识符必须属于真实的api.video账户。
$ BASE_URI="" API_KEY="..." vendor/bin/phpunit
您是否从这个 API 客户端中获得了帮助?
请花点时间在客户端上留下一个星号⭐
这有助于其他用户找到客户端,也帮助我们了解哪些客户端最受欢迎。谢谢!
贡献
由于此API客户端是从OpenAPI描述生成的,我们无法接受直接提交到仓库的pull请求。如果您想贡献,可以在我们的客户端生成器仓库上打开pull请求。否则,您也可以简单地在这个仓库上打开一个问题,详细说明您的需求。