如何从Azure Media Services上的视频中获取缩略图


How to get a Thumbnail from a Video on Azure Media Services?

我开始使用Azure和Azure PHP sdk,因为我是PHP开发人员。使用Azure PHP sdk,我可以存储视频并获取视频url。现在我想知道如何使用Azure创建视频缩略图。但是我不知道该怎么做。

要创建缩略图,您应该像往常一样创建作业,但通过setConfiguration设置缩略图xml。

这是未经测试的代码,但应该可以工作。

// sets the thumbnail configuration
$thumbnailConfig = <<<EOT 
<?xml version="1.0" encoding="utf-8"?> 
<Thumbnail Size="50%,*" Type="Jpeg" Filename="{OriginalFilename}_{Size}_{ThumbnailTime}_{ThumbnailIndex}_{Date}_{Time}.{DefaultExtension}"> 
<Time Value="10%"/>
</Thumbnail>
EOT;
$xmlTask = '<taskBody><inputAsset>JobInputAsset(0)</inputAsset>' 
         . '<outputAsset>JobOutputAsset(0)</outputAsset></taskBody>';
$mediaProcessor = $restProxy->getLatestMediaProcessor('Azure Media Encoder');
$task = new Task($xmlTask, $mediaProcessor->getId(), TaskOptions::NONE);
$task->setConfiguration($thumbnailConfig);
$restProxy->createJob(new Job(), array($inputAsset), array($task));

您应该首先连接到媒体服务,有关更多信息,请访问此处

连接片段:

$restProxy = ServicesBuilder->getInstance()->createMediaServicesService(
          new MediaServicesSettings([YourAccountName],
                           [YourPrimaryOrSecondaryAccessKey]));