视频基本属性__媒体库管理_开发人员指南_视频点播-阿里云
媒体库管理-媒体基本信息-示例代码-PHP
简介
示例如何查询和更新媒体基本信息。
SDK的安装和使用,参考媒体库SDK-PHP
查询媒体基本信息
查询媒体提供了2种方式:媒体ID或OSS文件地址。
使用媒体ID查询媒体
详细参数参考API使用手册->媒体接口->查询媒体-使用媒体ID。
include_once 'aliyun-php-sdk-core/Config.php';use MtsRequestV20140618 as Mts;$accessKeyID = 'test'; // 替换成真实的id$accessKeySecret = 'test'; // 替换成真实的secret$profile = DefaultProfile::getProfile('cn-hangzhou',$accessKeyID,$accessKeySecret);$client = new DefaultAcsClient($profile);
function queryMediaById($client, $mediaID){$request = new MtsQueryMediaListRequest();$request->setAcceptFormat('JSON');$request->setMediaIds($mediaID);$response = $client->getAcsResponse($request);return $response;}function printMedia($media){if (array_key_exists('Title', $media)) {print_r('Title: '.$media->{'Title'}."n");}if (array_key_exists('Description', $media)) {print_r('Description: '.$media->{'Description'}."n");}if (array_key_exists('Tags', $media)) {print_r('Tags: '.$media->{'Tags'}->{'Tag'}[0]."n");}if (array_key_exists('CoverURL', $media)) {print_r('CoverURL: '.$media->{'CoverURL'}."n");}print_r('Format: '.$media->{'Format'}."n");print_r('Resolution: '.$media->{'Width'}.'x'.$media->{'Height'}."n");print_r('FileSize: '.$media->{'Size'}."n");print_r('Bitrate: '.$media->{'Bitrate'}."n");print_r('FPS: '.$media->{'Fps'}."n");}$mediaID = 'test'; // 替换成真实的mediaID$medias = queryMediaById($client, $mediaID)->{'MediaList'}->{'Media'};for ($i=0; $i < count($medias); $i++) {printMedia($medias[$i]);}
使用OSS文件地址查询媒体
详细参数参考API使用手册->媒体接口->查询媒体-使用OSS文件地址。
function queryMediaByURL($client, $mediaURL){$request = new MtsQueryMediaListByURLRequest();$request->setAcceptFormat('JSON');$request->setFileURLs($mediaURL);$response = $client->getAcsResponse($request);return $response;}$ossEndpoint = 'https://test.oss-cn-hangzhou.aliyuncs.com/';// OSS的Object不需要"/"开始,替换成真实的ossObject$ossObject = 'test/测试.mp4';$medias = queryMediaByURL($client,$ossEndpoint.urlencode($ossObject))->{'MediaList'}->{'Media'};for ($i=0; $i < count($medias); $i++) {printMedia($medias[$i]);}
更新属性
更新提供了2种更新方式:全量属性更新,单个属性更新。
全量更新属性
详细参数参考API使用手册->媒体接口->更新媒体-基本信息。
更新时,必须指定所有字段,不设置的字段会被清空。
function updateMediaAllField($client, $mediaID, $title, $description, $tags, $coverURL){$request = new MtsUpdateMediaRequest();$request->setAcceptFormat('JSON');$request->setMediaId($mediaID);$request->setTitle($title);$request->setCateId(2663987);$request->setDescription($description);$request->setTags($tags);$request->setCoverURL($coverURL);$response = $client->getAcsResponse($request);return $response;}$mediaID = 'test'; // 替换成真实的mediaID$media = updateMediaAllField($client, $mediaID,'title', 'description', 'tags', 'coverURL')->{'Media'};
单个更新属性
不同的字段可以单独更新,使用的是不同API,可以不修改其他字段的情况下,方便的更新单个字段。
这里通过“发布状态”举例,详细参数参考API使用手册->媒体接口->更新媒体-发布状态。
function updateMediaPublishState($client, $mediaID, $state){$request = new MtsUpdateMediaPublishStateRequest();$request->setAcceptFormat('JSON');$request->setMediaId($mediaID);$request->setPublish($state);$response = $client->getAcsResponse($request);return $response;}$mediaID = 'test'; // 替换成真实的mediaID// 更新"发布状态"的API没有返回值,通过捕获异常来判断是否执行成功try {updateMediaPublishState($client, $mediaID, "true");} catch (ClientException $e) {print_r('ClientException:'."n");print_r($e);} catch (ServerException $e) {print_r('ServerException:'."n");print_r($e);}
最后更新:2016-11-15 17:47:07
上一篇:
主题通知方式接收消息__接收消息通知_开发人员指南_视频点播-阿里云
下一篇:
媒体详细信息__媒体库管理_开发人员指南_视频点播-阿里云
解绑TAG__tag相关_API 列表_OpenAPI 2.0_移动推送-阿里云
使用概览__使用手册_画像分析-阿里云
Topic相关问题__产品常见问题_阿里云物联网套件-阿里云
查询弹性公网IP列表__弹性公网IP相关接口_API参考_专有网络 VPC-阿里云
使用入门__Java SDK_STS SDK使用手册_访问控制-阿里云
电商图像分析服务简介__电商图像分析服务_人工智能图像类-阿里云
事务处理__最佳实践_云数据库 Redis 版-阿里云
云服务器 ECS > 用户指南 > 磁盘 > 挂载数据盘
版本列表__Java_SDK_日志服务-阿里云
性能测试基本概念__初级课程_性能测试视频教程_性能测试-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云