Atributo media no SegmentTemplate - AWS Elemental MediaPackage

Atributo media no SegmentTemplate

O atributo media nas propriedades SegmentTemplate define o URL em que os dispositivos de reprodução enviam solicitações de segmento. Por padrão, esse URL usa uma variável $Number$ para identificar o segmento específico que é solicitado. Quando um dispositivo de reprodução solicita o segmento, ele substitui a variável pelo identificador numérico do segmento. Para o primeiro segmento na representação, substitua esse identificador pelo valor do startNumber das propriedades SegmentTemplate. Cada segmento adicional é incrementado em um.

No entanto, alguns jogadores navegam melhor pelos segmentos quando estes são identificados pelo timestamp indicando quando a reprodução está disponível. Para viabilizar esse caso de uso, o MediaPackage usa a variável $Time$ em vez de $Number$ no URL do atributo media. Quando um dispositivo de reprodução solicita o segmento, ele substitui a variável pelo horário de início da disponibilidade do segmento. Esse horário de início é identificado no valor t das propriedades do segmento (S) no objeto SegmentTimeline. Para obter um exemplo, consulte Como funciona.

Funcionamento da variável $Time$

Habilite a variável $Time$ por meio da configuração do Segment template format (Formato do modelo de segmento) no endpoint DASH, conforme descrito em Como criar um endpoint DASH. O AWS Elemental MediaPackage executa as seguintes ações:

  1. Quando o MediaPackage gera o manifesto DASH, ele usa a variável $Time$ no valor media do objeto SegmentTemplate, conforme exibido no exemplo a seguir:

    <SegmentTemplate timescale="30" media="index_video_1_0_$Time$.mp4?m=1122792372" initialization="index_video_1_0_init.mp4?m=1122792372" startNumber="2937928">
  2. Quando um dispositivo de reprodução solicita segmentos, ele usa o URL definido no atributo media e substitui a variável pelo horário de início da disponibilidade do segmento que é solicitado.

    Importante

    O valor que substitui a variável deve ser um valor t exato de um segmento. Se a solicitação usar um carimbo de data/hora arbitrário, o MediaPackage não buscará o segmento mais próximo.

    Veja a seguir o exemplo de um modelo de segmento para uma representação. Ele usa a variável $Time$.

    <SegmentTemplate timescale="30000" media="155_video_1_2_$Time$.mp4?m=1545421124" initialization="155_video_1_2_init.mp4?m=1545421124" startNumber="710"> <SegmentTimeline> <S t="255197799" d="360360" r="8"/> <S t="258441039" d="334334"/> </SegmentTimeline> </SegmentTemplate>

    A URL de solicitação para o primeiro segmento é 155_video_1_2_255197799.mp4. Com uma duração de 360.360, a próxima solicitação de segmento será 155_video_1_2_255558159.mp4, e assim por diante até o nono segmento.

    A solicitação do segmento final é 155_video_1_2_258441039.mp4.