问题描述
所以我的情况是,在创建输出资产时,具有BlobType:BlockBlob的Blob成功编码,但是具有AppendBlob的BlobType没有编码... 我要附加4mb的块。
- 创建InputAsset
var asset = await _client.Assets.CreateOrUpdateAsync(_apiAccess.ResourceGroup,_apiAccess.AccountName,request.InputAssetName,new Microsoft.Azure.Management.Media.Models.Asset(container: request.InputAssetContainer));
var response = await _client.Assets.ListContainerSasAsync(_apiAccess.ResourceGroup,permissions: AssetContainerPermission.ReadWrite,expiryTime: DateTime.UtcNow.AddHours(4).ToUniversalTime());
request.InputAssetStorageUri = new Uri(response.AssetContainerSasUrls.First());
await AppendBlobAsync(request);
return asset;
2)AppendBlobAsync方法,实际上会附加4mb的块
BlobServiceClient blobServiceClient = new BlobServiceClient("conn");
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(request.InputAssetContainer);
await containerClient.CreateIfNotExistsAsync();
//There we would have stream
var appendBlobClient = containerClient.GetAppendBlobClient(request.BlobName);
await appendBlobClient.CreateIfNotExistsAsync();
//await using var memoryStream = new MemoryStream();
//await request.File.CopyToAsync(memoryStream);
//memoryStream.Position = 0;
var file = File.OpenRead("C:\\Projects\\TestChunk.mp4");
Stream stream = new MemoryStream();
file.CopyTo(stream);
stream.Position = 0;
await appendBlobClient.AppendBlockAsync(stream);
3)创建输出资产
public async Task<Asset> CreateOutputAssetAsync(MediaServiceRequest request)
=> await _client.Assets.CreateOrUpdateAsync(_apiAccess.ResourceGroup,request.OutputAssetName,new Microsoft.Azure.Management.Media.Models.Asset())
4)编码
public async Task<Job> EncodeAsync(MediaServiceRequest request)
{
JobInput jobInput = new JobInputAsset(assetName: request.InputAssetName);
JobOutput[] jobOutputs =
{
new JobOutputAsset(request.OutputAssetName),};
return await _client.Jobs.CreateAsync(
_apiAccess.ResourceGroup,request.TransformerName,request.JobName,new Job
{
Input = jobInput,Outputs = jobOutputs,});
}
请帮助...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)