【发布时间】:2015-04-13 07:35:06
【问题描述】:
我正在通过 rest 将视频上传到我们的 azure 媒体服务器,但编码作业失败,出现以下异常:
null
ErrorProcessingTask : Azure Media Encoder could not load the preset Preset.xml on source tom2.mp4:File type isn't supported.
我可以看到它声明文件类型不受支持,但如果我手动上传它没有问题。
这就是我发布视频的方式
var uploadLocatorId = asset["Id"];
var uploadurl = asset["BaseUri"].ToString() + "/tom2.mp4" + asset["ContentAccessComponent"].ToString();
var formcontent = new MultipartFormDataContent();
FileStream stream = File.OpenRead(@"C:\VideoFiles\tom2.mp4");
byte[] fileBytes = new byte[stream.Length];
Int32 blobLength = fileBytes.Length;
stream.Read(fileBytes, 0, fileBytes.Length);
// stream.Close();
var requestContent = new MultipartFormDataContent();
// here you can specify boundary if you need---^
var mp4ieContent = new ByteArrayContent(fileBytes);
mp4ieContent.Headers.ContentType =
MediaTypeHeaderValue.Parse("application/octet-stream");
mp4ieContent.Headers.ContentLength = blobLength;
var memory = new MemoryStream(fileBytes);
var streamcontent = new StreamContent(memory);
formcontent.Add(streamcontent, "tom2", "tom2.mp4");
// formcontent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
var date = DateTime.UtcNow.ToString("R", System.Globalization.CultureInfo.InvariantCulture);
var container = AssetID.ToString();
container = container.Replace("nb:cid:UUID:", "asset-");
client = new HttpClient();
client.DefaultRequestHeaders.Add("x-ms-version", "2014-02-14");
client.DefaultRequestHeaders.Add("x-ms-date", date);
client.DefaultRequestHeaders.Add("x-ms-blob-type", "BlockBlob");
client.DefaultRequestHeaders.Accept.Add(type);
result = await client.PutAsync(uploadurl, formcontent);
该文件存在于 azure 服务器上,但无法播放。
谁能给我指个方向,拜托
【问题讨论】:
标签: azure azure-media-services