摘要:场景VOD上传SDK缺少需要的语言版本(如C/C++、Go等)或相应的功能(如网络流上传、附加上传),可以直接使用OSSSDK上传。准备工作确认点播服务已开通,相关配置已完成。确认阿里云账号AK已经准备好,上传权限已授权。场景点播上传SDK缺少所需语言版本(如C/C++、Go等)或相应功能(如网络流上传、附加上传),可直接使用OSSSDK上传。准备工作确认点播服务已开通,相关配置已完成。确认阿里云账号AK已经准备好,上传权限已授权。上传步骤1.访问点播服务获取上传地址和上传证书。此步骤还会创建视频媒体资产记录,返回视频ID,请妥善保存,然后根据视频ID进行视频播放、管理、AI处理。2.对上传地址(UploadAddress)和上传证书(UploadAuth)进行Base64解析,获取OSS上传地址和授权信息。UploadAddress字段Base64解码后得到JSON格式的字符串,包含字段如下:UploadAuth字段Base64解码后得到JSON格式字符串,包含字段如下:3、调用OSSSDK将视频文件上传到指定的bucket,注意使用STSAuth方式,并使用UploadAddress和UploadAuth进行初始化,不要使用自己的AK等信息。代码实现核心代码实现分为4步:1.使用AK初始化点播客户端2.获取视频上传地址和证书3.使用上传证书和地址初始化OSS客户端4.上传本地文件可以使用点播服务接口SDK(Java、PHP、Python、.NET)或API(接口说明、调用示例)获取上传地址和凭证。使用OSSSDK上传到服务器。目前支持以下版本:OSS-Java-SDK、OSS-PHP-SDK、OSS-Python-SDK、OSS-C-SDK、OSS-Go-SDK、OSS-Ruby-SDK、OSS-.NET-SDK客户端上传推荐使用点播上传SDK:VOD-Android-SDK、VOD-iOS-SDK、VOD-JavaScript-SDK;客户端上传时,需要从服务器获取上传地址和证书,并发送给客户端,以保证数据安全。PHP上传示例环境准备PHP5.3+,可以通过php-v命令查看当前PHP版本。cURL扩展,可以使用php-m命令查看是否安装了curl扩展。安装1.在您的PHP项目中添加一个空文件夹aliyun-php-sdk。2、从aliyun-openapi-php-sdk下载整个源码,解压复制aliyun-php-sdk-core和aliyun-php-sdk-vod两个文件夹到aliyun-php-sdk目录下。3、从aliyun-oss-php-sdk下载最新的OSSPHPSDK源码,解压ZIP文件,将文件夹添加到aliyun-php-sdk目录下。以下载v.2.2.4源码(zip)为例,解压后文件夹为aliyun-oss-php-sdk-2.2.4。4、打开aliyun-php-sdk/aliyun-php-sdk-core/Config.php文件,找到“//configsdkautoloadpath.”,在这一行下面添加:Autoloader::addAutoloadPath("aliyun-php-sdk-点播”);5、代码中引用VOD和OSS文件:require_once'./aliyun-php-sdk/aliyun-php-sdk-core/Config.php';//假设你的源码文件和aliyun-php-sdk在同一个目录下。require_once'./aliyun-php-sdk/aliyun-oss-php-sdk-2.2.4/autoload.php';使用vod\Request\V20170321作为vod;使用OSS\OssClient;使用OSS\Core\OssException;更多用于信息请参考VODPHPSDK安装和OSSPHPSDK安装。参考代码定义了函数的核心步骤:使用AK初始化点播客户端函数init_vod_client($accessKeyId,$accessKeySecret){$regionId='cn-shanghai';//点播服务所在地区,国内请填写cn-shanghai,其他地区不要填写$profile=DefaultProfile::getProfile($regionId,$accessKeyId,$accessKeySecret);returnnewDefaultAcsClient($profile);}获取视频上传地址和凭证functioncreate_upload_video($vodClient){$request=newvod\CreateUploadVideoRequest();$request->setTitle("视频标题");//视频标题(必填参数)$request->setFileName("文件名.mov");//视频源文件名,必须包含扩展名(必填参数)$request->setDescription("Videodescription");//视频源文件描述(可选)$request->setCoverURL("http://img.alicdn.com/tps/TB1qnJ1PVXXXXXCXXXXXXXXXXXX-700-700.png");//自定义视频封面(可选)$request->setTags("Tag1,Tag2");//视频标签,逗号分隔(可选)return$vodClient->getAcsResponse($request);}使用上传凭证和地址初始化OSS客户端(注意传入前需要Base64解码和Json解码)functioninit_oss_client($uploadAuth,$uploadAddress){$ossClient=newOssClient($uploadAuth['AccessKeyId'],$uploadAuth['AccessKeySecret'],$uploadAddress['Endpoint'],false,$uploadAuth['SecurityToken']);$ossClient->setTimeout(86400*7);//设置请求超时时间,单位为秒,默认5184000秒,建议不要设置太小,如果上传文件较大,会耗时较长$ossClient->setConnectTimeout(10);//设置连接超时时间,单位秒,默认10秒return$ossClient;}上传本地文件],$uploadAddress['FileName'],$localFile);}刷新上传凭证函数refresh_upload_video($vodClient,$videoId){$request=newvod\RefreshUploadVideoRequest();$request->setVideoId($videoId);return$vodClient->getAcsResponse($request);}执行完整流程(注意捕获异常):$accessKeyId='
