У меня есть сайт, на котором пользователи могут загружать видео для кодирования и просмотра в Azure Media Player. Некоторые загруженные видеоролики не содержат аудиодорожек, которые не может воспроизводить медиаплеер Azure. Как я могу кодировать пустую звуковую дорожку с этими видео? Я использую v3 API REST.
Мой текущий код для преобразований:
private async Task<string> CreateTransformAsync(string transform)
{
JObject body = new JObject(
new JProperty("properties",
new JObject(
new JProperty("description", "Basic Transform using an Adaptive Streaming encoding preset from the libray of built-in Standard Encoder presets"),
new JProperty("outputs",
new JArray(
new JObject(
new JProperty("onError", "StopProcessingJob"),
new JProperty("relativePriority", "Normal"),
new JProperty("preset",
new JObject(
new JProperty("@odata.type", "#Microsoft.Media.BuiltInStandardEncoderPreset"),
new JProperty("presetName", "H264MultipleBitrate720p")
)
)
)
)
)
)
)
);
var jsonBody = new StringContent(body.ToString(), Encoding.UTF8, "application/json");
HttpResponseMessage responseMsg = await _httpClient.PutAsync($"subscriptions/{_config.Value.SubscriptionId}/resourceGroups/{_config.Value.ResourceGroup}/providers/Microsoft.Media/mediaServices/{_config.Value.MediaAccountName}/transforms/{transform}/?api-version={_config.Value.ApiVersion}", jsonBody);
string responseContent = await responseMsg.Content.ReadAsStringAsync();
var response = JObject.Parse(responseContent);
if (response["error"] == null)
{
return response["name"].ToString();
} else
{
throw new Exception(response["error"].ToString());
}
}
UPDATE:
После изучения документации я немного продвинулся в этом: https://docs.microsoft.com/en-us/azure/media-services/latest/custom-preset-rest-howto#define-a-custom-preset
Теперь я определяю пользовательский пресет, читаю его и отправляю вместо него в теле. Проблема сейчас в том, что я не могу найти похожую опцию для «условия»: «InsertSilenceIfNoAudio», как в v2 API. Я открыл вопрос о github здесь: https://github.com/MicrosoftDocs/azure-docs/issues/28133