当前位置: 首页 > Web前端 > HTML

【视频点播最佳实践】使用OSSSDK上传视频到VOD

时间:2023-04-02 23:09:31 HTML

摘要:场景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='';//你的AccessKeyId$accessKeySecret='';//你的AccessKeySecret$localFile='/Users/yours/Video/testVideo.flv';//需要上传到点播的本地视频文件完整路径try{//初始化点播客户端,获取上传地址和凭证$vodClient=init_vod_client($accessKeyId,$accessKeySecret);$createRes=create_upload_video($vodClient);//执行成功会返回VideoId,UploadAddress和UploadAuth$videoId=$createRes->VideoId;$uploadAddress=json_decode(base64_decode($createRes->UploadAddress),true);$uploadAuth=json_decode(base64_decode($createRes->UploadAuth),true);//使用UploadAuth和UploadAddress初始化OSS客户端$ossClient=init_oss_client($uploadAuth,$uploadAddress);//上传文件,注意是同步上传会阻塞等待,耗时与文件大小和网络上行带宽有关//$result=upload_local_file($ossClient,$uploadAddress,$localFile);$result=multipart_upload_file($ossClient,$uploadAddress,$localFile);printf("Succeed,VideoId:%s",$videoId);}catch(Exception$e){//var_dump($e);printf("失败,错误信息:%s",$e->getMessage());}Demo下载您可以下载完整的PHP版本并上传Demo源代码。更多使用信息请参考OSS-PHP-SDK上传文件。在此基础上推出了增值体验套餐。只需9.9元即可获得10GB流量、50GB存储、100分钟转码,个人和小微企业门户网站均可使用。点击进入活动页面,立即购买,完成支付后进入点播产品页面,点击立即激活,激活点播服务,并进行初始配置。用户可以在控制台进行视频上传、转码设置、视频管理、视频预览等操作。此外,在体验完成后,阿里云还提供了五款点播套餐,供不同需求的用户选择。点击查看购买详情阅读更多干货好文,请关注扫描以下二维码: