google/cloud-videointelligence

云视频智能客户端,支持PHP

v2.0.0 2024-09-13 22:45 UTC

README

用于云视频智能的PHP惯用客户端

Latest Stable Version Packagist

注意: 此存储库是Google Cloud PHP项目的一部分。任何支持请求、错误报告或开发贡献应指向该项目。

允许开发者在应用程序中使用Google视频分析技术。REST API允许用户使用上下文信息对本地或Google Cloud Storage中存储的视频进行注释,包括整个视频、每个片段、每个镜头和每帧。

注意: 本文档涵盖了最新稳定版本(V1)。此组件还包括一个额外的Beta版本。要查看其文档,请参阅以下链接

安装

首先,安装PHP的首选依赖关系管理器Composer

现在安装此组件

$ composer require google/cloud-videointelligence

此组件支持HTTP/1.1上的REST和gRPC。为了利用gRPC(如流方法)提供的优势,请参阅我们的gRPC安装指南

身份验证

有关如何对客户端进行身份验证的更多信息,请参阅我们的身份验证指南。身份验证后,您即可开始发送请求。

示例

require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\VideoIntelligence\V1\VideoIntelligenceServiceClient;
use Google\Cloud\VideoIntelligence\V1\Feature;

$videoIntelligenceServiceClient = new VideoIntelligenceServiceClient();

$inputUri = "gs://example-bucket/example-video.mp4";

$features = [
    Feature::LABEL_DETECTION,
];
$operationResponse = $videoIntelligenceServiceClient->annotateVideo([
    'inputUri' => $inputUri,
    'features' => $features
]);
$operationResponse->pollUntilComplete();
if ($operationResponse->operationSucceeded()) {
    $results = $operationResponse->getResult();
    foreach ($results->getAnnotationResults() as $result) {
        echo 'Segment labels' . PHP_EOL;
        foreach ($result->getSegmentLabelAnnotations() as $labelAnnotation) {
            echo "Label: " . $labelAnnotation->getEntity()->getDescription()
                . PHP_EOL;
        }
        echo 'Shot labels' . PHP_EOL;
        foreach ($result->getShotLabelAnnotations() as $labelAnnotation) {
            echo "Label: " . $labelAnnotation->getEntity()->getDescription()
                . PHP_EOL;
        }
        echo 'Frame labels' . PHP_EOL;
        foreach ($result->getFrameLabelAnnotations() as $labelAnnotation) {
            echo "Label: " . $labelAnnotation->getEntity()->getDescription()
                . PHP_EOL;
        }
    }
} else {
    $error = $operationResponse->getError();
    echo "error: " . $error->getMessage() . PHP_EOL;

}

版本

此组件被认为是GA(通常可用)。因此,它不会在任何次要或修补版本中引入不兼容的更改。我们将优先解决问题和请求。

下一步

  1. 了解官方文档
  2. 查看深入使用示例