Все выходные ключи в плейлисте HLSv4 должны иметь тип контейнера ts.
Я читал, что HLS поддерживает fmp4, поэтому я пытался использовать его для создания списков воспроизведения DASH и HLS с помощью эластичного транскодера, тем не менее всякий раз, когда я пытаюсь создать список воспроизведения HLS, я получаю следующую ошибку
Все выходные ключи в списке воспроизведения HLSv4 должны иметь тип контейнера ts.
вот код, который я использую, он отлично работает только с DASH, но не с HLS, что-то не так? Я что-то не понял?
var resp1 = await etsClient.CreateJobAsync(new CreateJobRequest()
{
PipelineId = "00000000000-plapla",
Input = new JobInput()
{
AspectRatio = "auto",
Container = "auto",
FrameRate = "29.97",
Interlaced = "auto",
Resolution = "auto",
Key = inputS3Key
},
Outputs = new List<CreateJobOutput>()
{
new CreateJobOutput()
{
ThumbnailPattern = $"{inputS3Key.Split('.')[0]}-600k-{{resolution}}-{{count}}",
Rotate = "0",
PresetId = "1351620000001-500050",
Key = $"{inputS3Key.Split('.')[0]}-transcoded-600k.fmp4",
SegmentDuration = "2",
},
new CreateJobOutput()
{
ThumbnailPattern = $"{inputS3Key.Split('.')[0]}-1200k-{{resolution}}-{{count}}",
Rotate = "0",
PresetId = "1351620000001-500040",
Key = $"{inputS3Key.Split('.')[0]}-transcoded-1200k.fmp4",
SegmentDuration = "2"
},
new CreateJobOutput()
{
ThumbnailPattern = $"{inputS3Key.Split('.')[0]}-2400k-{{resolution}}-{{count}}",
Rotate = "0",
PresetId = "1351620000001-500030",
Key = $"{inputS3Key.Split('.')[0]}-transcoded-2400k.fmp4",
SegmentDuration = "2"
},
new CreateJobOutput()
{
ThumbnailPattern = $"{inputS3Key.Split('.')[0]}-4800k-{{resolution}}-{{count}}",
Rotate = "0",
PresetId = "1351620000001-500020",
Key = $"{inputS3Key.Split('.')[0]}-transcoded-4800k.fmp4",
SegmentDuration = "2"
},
new CreateJobOutput()
{
Rotate = "0",
PresetId = "1351620000001-500060",
Key = $"{inputS3Key.Split('.')[0]}-transcoded-audio.fmp4",
SegmentDuration = "2"
}
},
Playlists = new List<CreateJobPlaylist>()
{
new CreateJobPlaylist()
{
Name = $"{inputS3Key.Split('.')[0]}-transcoded-playlist-DASH",
Format = "MPEG-DASH",
OutputKeys = new List<string>()
{
$"{inputS3Key.Split('.')[0]}-transcoded-600k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-1200k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-2400k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-4800k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-audio.fmp4"
}
},
new CreateJobPlaylist()
{
Name = $"{inputS3Key.Split('.')[0]}-transcoded-playlist-HLS",
Format = "HLSv4",
OutputKeys = new List<string>()
{
$"{inputS3Key.Split('.')[0]}-transcoded-600k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-1200k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-2400k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-4800k.fmp4",
$"{inputS3Key.Split('.')[0]}-transcoded-audio.fmp4"
}
}
}
});