完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
摘要: 场景 点播上传SDK缺乏需要的语言版本(如C/C++、Go等)或相应的功能(如网络流上传、追加上传),可以直接使用OSS的SDK进行上传。 准备工作 确认已开通点播服务并完成了相关配置。确认已准备了阿里云账号AK,并授予了上传权限。 场景 点播上传SDK缺乏需要的语言版本(如C/C++、Go等)或相应的功能(如网络流上传、追加上传),可以直接使用OSS的SDK进行上传。 准备工作 确认已开通点播服务并完成了相关配置。 确认已准备了阿里云账号AK,并授予了上传权限。 上传步骤 一、访问点播服务获取上传地址和上传凭证。 这一步还会创建视频媒资记录,返回视频ID,请妥善保存,后续可根据视频ID进行视频播放、管理和AI处理等。 二、对上传地址(UploadAddress)和上传凭证(UploadAuth)分别进行Base64解析,得到OSS的上传地址和授权信息。 UploadAddress字段Base64解码后,得到JSON格式字符串,包含字段如下: UploadAuth字段Base64解码后,得到JSON格式字符串,包含字段如下: 三、调用OSS SDK将视频文件上传至指定的bucket中,注意使用STS Auth方式,且使用UploadAddress和UploadAuth进行初始化,不要使用自己的AK等信息。 代码实现 核心代码实现共分4步: 1.使用AK初始化VOD客户端 2.获取视频上传地址和凭证 3.使用上传凭证和地址初始化OSS客户端 4.上传本地文件 可以使用点播服务的接口SDK(Java、PHP、Python、.NET),或API(接口说明、调用示例)获取上传地址和凭证。 使用OSS SDK在服务端上传,目前支持如下版本: OSS-Java-SDK、OSS-PHP-SDK、OSS-Python-SDK、OSS-C-SDK、OSS-Go-SDK、OSS-Ruby-SDK、OSS-.NET-SDK 客户端上传建议使用VOD的上传SDK:VOD-Android-SDK、VOD-iOS-SDK、VOD-JavaScript-SDK;客户端上传时需要在服务端获取上传地址和凭证下发给客户端,以确保数据安全。 PHP上传示例 环境准备 PHP 5.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 下载最新的OSS PHP SDK的源码,解压ZIP文件后添加文件夹到 aliyun-php-sdk 目录下。以下载 v.2.2.4 Source code (zip) 为例,解压后文件夹为 aliyun-oss-php-sdk-2.2.4。 4.打开 aliyun-php-sdk/aliyun-php-sdk-core/Config.php 文件,找到“//config sdk auto load path.”,在这行下面添加: Autoloader::addAutoloadPath("aliyun-php-sdk-vod"); 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';use vodRequestV20170321 as vod;use OSSOssClient;use OSSCoreOssException; 更多信息可参考VOD PHP SDK安装 和 OSS PHP SDK安装。 参考代码 定义核心步骤的函数: 使用AK初始化VOD客户端 function init_vod_client($accessKeyId, $accessKeySecret) { $regionId = 'cn-shanghai'; // 点播服务所在的Region,国内请填cn-shanghai,不要填写别的区域 $profile = DefaultProfile::getProfile($regionId, $accessKeyId, $accessKeySecret); return new DefaultAcsClient($profile);} 获取视频上传地址和凭证 function create_upload_video($vodClient) { $request = new vodCreateUploadVideoRequest(); $request->setTitle("视频标题"); // 视频标题(必填参数) $request->setFileName("文件名称.mov"); // 视频源文件名称,必须包含扩展名(必填参数) $request->setDescription("视频描述"); // 视频源文件描述(可选) $request->setCoverURL("http://img.alicdn.com/tps/TB1qnJ1PVXXXXXCXXXXXXXXXXXX-700-700.png"); // 自定义视频封面(可选) $request->setTags("标签1,标签2"); // 视频标签,多个用逗号分隔(可选) return $vodClient->getAcsResponse($request);} 使用上传凭证和地址初始化OSS客户端(注意需要先Base64解码并Json Decode再传入) function init_oss_client($uploadAuth, $uploadAddress) { $ossClient = new OssClient($uploadAuth['AccessKeyId'], $uploadAuth['AccessKeySecret'], $uploadAddress['Endpoint'], false, $uploadAuth['SecurityToken']); $ossClient->setTimeout(86400*7); // 设置请求超时时间,单位秒,默认是5184000秒, 建议不要设置太小,如果上传文件很大,消耗的时间会比较长 $ossClient->setConnectTimeout(10); // 设置连接超时时间,单位秒,默认是10秒 return $ossClient;} 上传本地文件 function upload_local_file($ossClient, $uploadAddress, $localFile) { return $ossClient->uploadFile($uploadAddress['Bucket'], $uploadAddress['FileName'], $localFile);} 刷新上传凭证 function refresh_upload_video($vodClient, $videoId) { $request = new vodRefreshUploadVideoRequest(); $request->setVideoId($videoId); return $vodClient->getAcsResponse($request);}执行完整流程(注意捕获异常):$accessKeyId = ' Demo下载 可下载完整的 PHP版上传Demo源码,更多使用信息请参考 OSS-PHP-SDK上传文件。 为了扶持更多创业者,降低入行门槛,视频点播已在原有的视频点播服务五个套餐包基础上,推出了超值体验套餐包。 只需9.9元即可获得10GB流量、50GB存储、100分钟转码,可供个人、小微企业门户网站体验使用。 点击进入活动页面,立即购买,完成支付 进入视频点播产品页面,点击立即开通,开通视频点播服务,进行初始化配置,用户可以在控制台进行视频上传,转码设置、视频管理和视频预览等操作。 另外,体验完成后,阿里云也为提供了五个点播套餐包,供各种需求用户选择。 点击查看购买详情 阅读更多干货好文,请关注扫描以下二维码: |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1211个成员聚集在这个小组
加入小组2891 浏览 2 评论
【下载】《物联网设计:从原型到产品》——从威廉希尔官方网站 设想到实现成品
105486 浏览 805 评论
6565 浏览 9 评论
12261 浏览 24 评论
5100 浏览 8 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 05:21 , Processed in 0.674932 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号