我正在尝试为流创建一个过滤器,基本上只是为了剪辑它。资产对应于仍在进行的实时流。
这是我通过.net sdk(Microsoft.Azure.Management.Media,Version = 2.0.1.0)调用的,它失败了,没有400,也没有其他信息:
await _client.AssetFilters.CreateOrUpdateAsync(_config.ResourceGroup, _config.AccountName,
_assetName, filterName, new AssetFilter()
{
PresentationTimeRange = new PresentationTimeRange()
{
StartTimestamp = 100000000,
EndTimestamp = 150000000,
LiveBackoffDuration = 0,
Timescale = 10000000,
ForceEndTimestamp = false
},
Tracks = new List<FilterTrackSelection>()
});
尝试通过http请求执行相同操作,过滤器已创建并可以使用:
var uri =
$"https://management.azure.com/subscriptions/{_config.SubscriptionId}/resourceGroups/{_config.ResourceGroup}/providers/Microsoft.Media/mediaServices/streaming/assets/{_assetName}/assetFilters/{filterName}?api-version=2018-07-01";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
var assetFilter = JsonConvert.SerializeObject(new AssetFilter()
{
PresentationTimeRange = new PresentationTimeRange()
{
StartTimestamp = 100000000,
EndTimestamp = 150000000,
LiveBackoffDuration = 0,
Timescale = 10000000,
ForceEndTimestamp = false
},
Tracks = new List<FilterTrackSelection>()
});
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, uri);
request.Content = new StringContent(assetFilter, Encoding.UTF8, "application/json");
await httpClient.SendAsync(request);
我在两种情况下都发送相同的AssetFilter对象,有关第一次调用失败的原因的任何建议吗?
任何帮助,将不胜感激。
谢谢!
.Net SDK版本2.0.2已根据https://www.nuget.org/packages/Microsoft.Azure.Management.Media/2.0.2更新了过滤器。我无法在2.0.2中重新编写,因此可能已在此更新中修复。差异很可能是REST调用只是正确处理它。