public static DefaultAcsClient InitVodClient()
{
String accessKeyId =";//用于标识用户
String accessKeySecret = "";//用户用于加密签名字符串和VOD用来验证签名字符串的密钥
// 构建一个 Client,用于发起请求
string regionId = "cn-shanghai"; //目前仅支持cn-shanghai
IClientProfile profile = Aliyun.Acs.Core.Profile.DefaultProfile.GetProfile(regionId, accessKeyId, accessKeySecret);
return new DefaultAcsClient(profile);
}
public VideoRequest CreateUploadVideo(string strTitle, string strFileName)
{
CreateUploadVideoRequest request = new CreateUploadVideoRequest();
request.FileName = strFileName;
request.Title = strTitle;
DefaultAcsClient client = InitVodClient();
CreateUploadVideoResponse response = client.GetAcsResponse(request);
VideoRequest obj = new VideoRequest();
obj.RequestId= response.RequestId;
obj.UploadAddress= response.UploadAddress;
obj.UploadAuth = response.UploadAuth;
obj.VideoId = response.VideoId;
return obj;
}
public void GetVideoStatis(string strVid)
{
DescribePlayVideoStatisRequest request = new DescribePlayVideoStatisRequest();
request.StartTime = "";
request.EndTime = "";
request.VideoId = "";
DefaultAcsClient client = InitVodClient();
DescribePlayVideoStatisResponse response = client.GetAcsResponse(request);
}
public string GetPlayInfo(string strVid)
{
try
{
GetPlayInfoRequest request = new GetPlayInfoRequest();
string strAliVid = this.GetAliVid(strVid);
if (string.IsNullOrEmpty(strAliVid))
{
return string.Empty;
}
request.VideoId = strAliVid;
DefaultAcsClient client = InitVodClient();
GetPlayInfoResponse response = client.GetAcsResponse(request);
List<GetPlayInfoResponse.GetPlayInfo_PlayInfo> playInfoList = response.PlayInfoList;
if (playInfoList.Count > 0)
{
return playInfoList[0].PlayURL;
}
return string.Empty;
}
catch (Exception ex)
{
return string.Empty;
throw;
}
}
public string GetHRPlayInfo(string strVid)
{
try
{
GetPlayInfoRequest request = new GetPlayInfoRequest();
request.VideoId = strVid;
DefaultAcsClient client = InitVodClient();
GetPlayInfoResponse response = client.GetAcsResponse(request);
List<GetPlayInfoResponse.GetPlayInfo_PlayInfo> playInfoList = response.PlayInfoList;
if (playInfoList.Count > 0)
{
return playInfoList[0].PlayURL;
}
return string.Empty;
}
catch (Exception ex)
{
return string.Empty;
throw;
}
}
public Dictionary<string,string> GetVideoDefinition(string strVid)
{
try
{
GetPlayInfoRequest request = new GetPlayInfoRequest();
Dictionary<string, string> dic = new Dictionary<string, string>();
string strAliVid = this.GetAliVid(strVid);
if (string.IsNullOrEmpty(strAliVid))
{
return null;
}
request.VideoId = strAliVid;
DefaultAcsClient client = InitVodClient();
GetPlayInfoResponse response = client.GetAcsResponse(request);
List<GetPlayInfoResponse.GetPlayInfo_PlayInfo> playInfoList = response.PlayInfoList;
if (playInfoList.Count > 0)
{
foreach (GetPlayInfoResponse.GetPlayInfo_PlayInfo item in playInfoList)
{
dic.Add(item.Definition,item.PlayURL);
}
}
return dic;
}
catch (Exception ex)
{
return null;
throw;
}
}
public Dictionary<string, string> GetHRVideoDefinition(string strVid)
{
try
{
GetPlayInfoRequest request = new GetPlayInfoRequest();
Dictionary<string, string> dic = new Dictionary<string, string>();
request.VideoId = strVid;
DefaultAcsClient client = InitVodClient();
GetPlayInfoResponse response = client.GetAcsResponse(request);
List<GetPlayInfoResponse.GetPlayInfo_PlayInfo> playInfoList = response.PlayInfoList;
if (playInfoList.Count > 0)
{
foreach (GetPlayInfoResponse.GetPlayInfo_PlayInfo item in playInfoList)
{
dic.Add(item.Definition, item.PlayURL);
}
}
return dic;
}
catch (Exception ex)
{
return null;
throw;
}
}
public string GetVideoPlayAuth(string strVid)
{
try
{
GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
string strAliVid = this.GetAliVid(strVid);
if (string.IsNullOrEmpty(strAliVid))
{
return string.Empty;
}
request.VideoId = strAliVid;
DefaultAcsClient client = InitVodClient();
GetVideoPlayAuthResponse response = client.GetAcsResponse(request);
string strPlayAuth = response.PlayAuth;
if (string.IsNullOrEmpty(strPlayAuth))
{
return string.Empty;
}
return strPlayAuth;
}
catch (Exception ex)
{
return string.Empty;
throw;
}
}
public string GetHRVideoPlayAuth(string strVid)
{
try
{
GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
request.VideoId = strVid;
DefaultAcsClient client = InitVodClient();
GetVideoPlayAuthResponse response = client.GetAcsResponse(request);
string strPlayAuth = response.PlayAuth;
if (string.IsNullOrEmpty(strPlayAuth))
{
return string.Empty;
}
return strPlayAuth;
}
catch (Exception ex)
{
return string.Empty;
throw;
}
}
public bool RefreshUploadVideo(string strVid)
{
RefreshUploadVideoRequest request = new RefreshUploadVideoRequest();
request.VideoId = strVid;
DefaultAcsClient client = InitVodClient();
RefreshUploadVideoResponse response = client.GetAcsResponse(request);
return true;
}
原文:https://www.cnblogs.com/xuxian001/p/13072076.html