阿里云视频点播接口文档开发:https://help.aliyun.com/document_detail/51236.htm
目前截止,暂没有dotNet的整体SDK可用,只能使用服务端的.Net SDK通过服务端获取视频上传凭证和地址,接着用JavaScript上传SDK通过获取到的上传凭证和地址进行操作。
JavaScript:SDK获取 https://help.aliyun.com/document_detail/52204.html?spm=a2c4g.11186623.6.1014.4fdc8d6elAMR9h
var uploader = new AliyunUpload.Vod({ userId:"122", //阿里账号ID,必须有值 partSize: 1048576, //分片大小默认1 MB,不能小于100 KB parallel: 5, //并行上传分片个数,默认5 retryCount: 3, //网络原因失败时,重新上传次数,默认为3 retryDuration: 2, //网络原因失败时,重新上传间隔时间,默认为2秒 enableUploadProgress: true, //是否上报上传日志到视频点播,默认为true 'onUploadstarted': function (uploadInfo) { //开始上传 log("onUploadStarted:" + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object); //上传方式1,需要根据uploadInfo.videoId是否有值,调用视频点播的不同接口获取uploadauth和uploadAddress,如果videoId有值,调用刷新视频上传凭证接口,否则调用创建视频上传凭证接口 if (uploadInfo.videoId) { //如果uploadInfo.videoId存在,调用刷新视频上传凭证接口 } else{ //如果uploadInfo.videoId不存在,调用获取视频上传地址和凭证接口 //从视频点播服务获取的uploadAuth、uploadAddress和videoId,设置到SDK里 uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress,videoId); }, //文件上传成功 'onUploadSucceed': function (uploadInfo) { log("onUploadSucceed: " + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object); }, //文件上传失败 'onUploadFailed': function (uploadInfo, code, message) { log("onUploadFailed: file:" + uploadInfo.file.name + ",code:" + code + ", message:" + message); }, //文件上传进度,单位:字节 'onUploadProgress': function (uploadInfo, totalSize, loadedPercent) { log("onUploadProgress:file:" + uploadInfo.file.name + ", fileSize:" + totalSize + ", percent:" + Math.ceil(loadedPercent * 100) + "%"); }, //上传凭证超时 'onUploadTokenExpired': function (uploadInfo) { console.log("onUploadTokenExpired"); //实现时,根据uploadInfo.videoId调用刷新视频上传凭证接口重新获取UploadAuth //从点播服务刷新的uploadAuth,设置到SDK里 uploader.resumeUploadWithAuth(uploadAuth); }, //全部文件上传结束 'onUploadEnd':function(uploadInfo){ console.log("onUploadEnd: uploaded all the files"); } });
.Net SDK获取
//阿里云视频点播初始化 public static DefaultAcsClient InitVodClient(string accessKeyId, string accessKeySecret) { // 点播服务接入区域 string regionId = "cn-shanghai"; IClientProfile profile = DefaultProfile.GetProfile(regionId, accessKeyId, accessKeySecret); ; // DefaultProfile.AddEndpoint(regionId, regionId, "vod", "vod." + regionId + ".aliyuncs.com"); return new DefaultAcsClient(profile); } //获取视频上传地址和凭证 public static string CreateUploadVideo(string title, string filename) { try { // 构造请求 CreateUploadVideoRequest request = new CreateUploadVideoRequest(); request.Title = title; request.FileName = filename; // request.Tags = "tags1,tags2"; // request.Description = "this is a sample description"; // request.CoverURL = "http://cover.sample.com/sample.jpg"; // request.CateId = -1; // request.TemplateGroupId = "278840921dee4963bb5862b43aeb2273"; // 初始化客户端 DefaultAcsClient client = InitVodClient("Your accessKeyId", "Your accessKeySecret"); // 发起请求,并得到响应结果 CreateUploadVideoResponse response = client.GetAcsResponse(request); //string repVId = response.VideoId; string Rep = response.UploadAuth + "|" + response.UploadAddress + "|" + response.VideoId; return Rep; //Console.WriteLine("RequestId = " + response.RequestId); //Console.WriteLine("UploadAddress = " + response.UploadAddress); //Console.WriteLine("UploadAuth = " + response.UploadAuth); } catch (Exception ex) { return ex.Message; } } //刷新视频上传凭证 public static string RefreshUploadVideo(string VideoId) { try { // 构造请求 RefreshUploadVideoRequest request = new RefreshUploadVideoRequest(); request.VideoId = VideoId; // 初始化客户端 DefaultAcsClient client = InitVodClient("Your accessKeyId", "Your accessKeySecret"); // 发起请求,并得到 response RefreshUploadVideoResponse response = client.GetAcsResponse(request); string repVId = response.VideoId; return RefreshUploadVideo(repVId); } catch (ServerException ex) { return ex.ToString(); } catch (ClientException ex) { return ex.ToString(); } }