muxinc/mux-php

Mux 是开发者构建在线视频的工具。这个 API 包含了 Mux Video 和 Mux Data 的功能,帮助您更好地、更快地构建与视频相关的项目。


README

Mux PHP Banner

Packagist | Mux 文档 | Mux API 参考

Mux PHP

官方 Mux API 的 PHP 项目包装器,支持 Mux Data 和 Mux Video。

Mux Video 是一个以数据为动力、由视频专家设计的 API 首选平台,旨在让每个开发团队能够实现美丽的视频。

Mux Data 是一个平台,只需几行代码即可监控您的视频流性能。在网页、移动设备和 OTT 设备上获取深入的优质服务分析。

不熟悉 Mux?请访问 https://mux.com/ 了解更多信息。

要求

PHP 7.1 或更高版本。依赖项由 composer 管理。

安装

我们将 Mux PHP 发布到 Packagist。您应该通过在您的 composer.json 中添加我们来实现对 Mux PHP 的依赖。

    {
        "require": {
            "muxinc/mux-php": ">=0.0.1"
        }
    }

然后安装您的依赖项

    composer install

然后在您的代码中自动加载

    require_once 'vendor/autoload.php';

手动安装

请注意:我们实际上不推荐手动安装,如果此方法不起作用,我们提供帮助的能力很小。我们主要为了完整性而包含此部分。

下载文件并包含 autoload.php

<?php
require_once('/path/to/MuxPhp/vendor/autoload.php');

入门

概述

Mux PHP 是围绕 Mux REST API 的代码生成的轻量级包装器,并准确地反映了它们。这有几个您应该注意的后果

  1. 对于几乎所有 API 响应,您正在寻找的对象将在 API 响应对象的 data 字段中,如下例所示。这是因为我们设计了我们的 API,其概念与 JSON:API 标准类似。这意味着我们可以在不破坏我们 API 的情况下从我们的 API 调用返回更多元数据(如相关实体)。我们决定不在该库中隐藏这一点。

  2. 我们不使用很多面向对象。例如,单个资产上发生的 API 调用不存在于资产类中,而是存在于 AssetsApi 中的 API 调用,需要资产 ID。

身份验证

要使用 Mux API,您需要一个访问令牌和密钥。有关获取这些信息的详细信息,请参阅 Mux 文档中的此处

由您管理您的令牌和密钥。在我们的示例中,我们从您的环境中读取 MUX_TOKEN_IDMUX_TOKEN_SECRET

文档说明

请注意,我们的 SDK 和 API 文档是由我们的 OpenAPI 规范生成的。我们的规范中的许多示例都使用表示样本值的 JSON 字符串。因此,许多 API 文档示例使用 json_encode() 函数将 JSON 字符串转换为 PHP 关联数组。在您的代码中,您可以跳过此步骤并直接使用关联数组,或者根据以下示例创建新对象。

示例用法

以下是使用mux-php在Mux账户中导入新视频的快速示例。

    // Authentication Setup
    $config = MuxPhp\Configuration::getDefaultConfiguration()
        ->setUsername(getenv('MUX_TOKEN_ID'))
        ->setPassword(getenv('MUX_TOKEN_SECRET'));

    // API Client Initialization
    $assetsApi = new MuxPhp\Api\AssetsApi(
        new GuzzleHttp\Client(),
        $config
    );

    // Create Asset Request
    $input = new MuxPhp\Models\InputSettings(["url" => "https://storage.googleapis.com/muxdemofiles/mux-video-intro.mp4"]);
    $createAssetRequest = new MuxPhp\Models\CreateAssetRequest(["input" => $input, "playback_policy" => [MuxPhp\Models\PlaybackPolicy::_PUBLIC] ]);

    // Ingest
    $result = $assetsApi->createAsset($createAssetRequest);

    // Print URL
    print "Playback URL: https://stream.mux.com/" . $result->getData()->getPlaybackIds()[0]->getId() . ".m3u8\n";

请务必查看示例目录

还包括每个API调用(也用于测试)的示例用法

文档

请务必查看docs目录中的文档。

问题

如果您遇到问题,请在GitHub上提出问题。我们将尽快查看。

贡献

我们现在接受针对此包的PR!请修改gen/templates中的模板,而不是代码本身,或者请打开一个问题

许可

MIT许可。版权所有 2019 Mux, Inc.

API端点

所有URI都是相对于https://api.mux.com

模型

授权

accessToken

  • 类型:HTTP基本认证

测试

要运行测试,请使用

composer install
vendor/bin/phpunit

作者

devex@mux.com

关于此包

此PHP包是由OpenAPI Generator项目自动生成的

  • API版本:v1
    • 包版本:3.19.0
  • 构建包:org.openapitools.codegen.languages.PhpClientCodegen