A substituição dos parâmetros da stream é opcional. Está disponível se quiser que o leitor ou a aplicação substitua um valor predefinido de um parâmetro de criação de stream ou substitua a seleção ou a ordem predefinida das variantes quando for pedida a playlist HLS ou DASH. Pode passar estes parâmetros do leitor ou da app para as implementações do SDK para IMA, Beacons do lado do servidor (SSB) e da API DAI.
Substitua a seleção e a ordem das variantes
A ordem predefinida da playlist é determinada pelo publicador. Se não forem especificados parâmetros de ordenação, as playlists são devolvidas na ordem original, conforme forem devolvidas pelo publicador.
Pode substituir a seleção de variantes e os parâmetros de ordem especificados durante a criação da stream, o que lhe permite especificar o subconjunto de variantes que devem ser incluídas na resposta a um pedido de playlist principal e a ordem dessas variantes. Isto pode ser útil se quiser que uma variante específica tenha precedência sobre outra com base no utilizador que está a consumir o conteúdo.
O subconjunto e a ordem das variantes permanecem os mesmos em toda a duração da stream. Os parâmetros são aceites como parte da estrutura adTagParameters ao usar os parâmetros SDK para IMA e API DAI, ou como parâmetros GET
HTTP adicionais ao usar o SSB.
Parâmetro | Protocolo de streaming | Descrição | Exemplos |
---|---|---|---|
dai-aor |
HLS, DASH | O intervalo de larguras de banda para as variantes de áudio a serem devolvidas. Para selecionar todas as larguras de banda mais elevadas, especifique apenas a startBandwidth . Para selecionar todas as larguras de banda inferiores, especifique apenas :endBandwidth (com dois pontos ":" como prefixo). |
dai-aor=60000 |
dai-dlid |
HLS, DASH |
Quando cria uma configuração da RFC para o seu conteúdo de vídeo a pedido, defina uma configuração da RFC predefinida e definições de fornecimento adicionais da RFC. Esta possibilidade permite-lhe configurar mais do que uma RFC e escolher dinamicamente a partir de quais pretende publicar, no início de uma sessão, através de uma chave-valor. Assim que configurar e guardar as configurações da sua RFC, o Ad Manager atribui um nome a cada uma. Este nome deve ser transmitido para o pedido de criação de stream como um valor do parâmetro Se não for transmitido nenhum nome para o pedido, o Ad Manager usa a RFC predefinida. |
( |
dai-excl |
HLS, DASH | Conversões a serem excluídas da playlist. Suporta subtitles , codec , audio-lang , subtitle-lang , iframe e resolution . Pode excluir a resolução, codecs de áudio, codecs de vídeo e idiomas de áudio e/ou legendas através de um único valor ou de uma lista separada por vírgulas de vários valores. O prefixo Codec também é suportado com o sufixo "*", que exclui todas as rendições com codec com o prefixo indicado. |
Codec único Vários codecs Prefixo codec Áudio de um único idioma Legendas de um único idioma Várias seleções Resolução |
dai-os |
HLS | A largura de banda da variante de vídeo que deve ser colocada no topo da playlist principal. A variante com o valor mais aproximado a startBandwidth é selecionada. Se dois valores forem equidistantes, é selecionado o valor mais baixo. Quando este parâmetro é fornecido e o parâmetro dai-aor não, são excluídas todas as variantes apenas de áudio. |
dai-os=1700000 |
dai-ot |
HLS |
As informações do tipo de ordem que descrevem o tipo de valores especificados pelo parâmetro Se for especificado o parâmetro |
dai-ot=bw dai-ot=bw_res |
dai-ov |
HLS |
Valores separados por vírgulas que especificam a ordem das playlists de multimédia a serem devolvidas. Devem ser usados com Se existirem várias variantes com o mesmo valor de ordem (por exemplo, duas variantes da mesma largura de banda, mas com diferentes resoluções), é mantida a ordem original entre estas variantes. |
|
dai-sr |
HLS, DASH |
O intervalo de larguras de banda para as variantes de vídeo a serem devolvidas. Para selecionar todas as larguras de banda mais elevadas, especifique apenas a A aplicação da largura de banda aplica-se apenas a conteúdo de vídeo.
|
dai-sr=1300000:2500000 |
Outros parâmetros de substituição
Parâmetro | Protocolo de streaming | Descrição | Exemplos |
---|---|---|---|
dai-ah |
HLS, DASH | Especifica se uma stream em direto deve ou não ter uma pausa de anúncios aplicada. É preciso especificar uma duração da pausa de anúncios na configuração da stream em direto. | Ativar a pausa de anúncios:dai-ah=1 |
dai-apto (Beta) |
HLS, DASH |
O limite de tempo da tomada de decisões do agrupamento de anúncios, em milissegundos, para a stream VOD (vídeo a pedido) e em direto criada. Este valor é usado numa decisão de pausa a meio ou numa decisão de pausa anterior que ocorre na criação da stream (e não em todas as decisões de anúncios futuras após a criação da stream). Em pausas para anúncios anteriores, só está disponível ao usar playlists do tipo EVENT ou o parâmetro dai-dpb. Este parâmetro pode ser definido para qualquer valor maior do que 0 e menor ou igual a 10 000.
Definir um valor muito baixo ou muito alto pode afetar o desempenho do anúncio ou a experiência do utilizador. |
dai-apto=4000 |
dai-dpb |
HLS, DASH |
Especifica se a tomada de decisões da pausa anterior deve ser ativada para streams lineares não SSB (o parâmetro é ignorado para streams SSB). Se for ativado, as pausas anteriores são determinadas com decisões de pausas a meio. Isto pode afetar a latência de arranque, que pode controlar com o parâmetro As pausas anteriores não vão ser vistas, a menos que o utilizador rebobine. Além disso, isto pode aumentar as contagens de código publicado. |
Ativar a tomada de decisões de pausas anteriores:dai-dpb=true Desativar a tomada de decisões de pausas anteriores para playlists do tipo EVENT de HLS: dai-dpb=false |
dai-dvr |
HLS, DASH | A duração de DVR (gravador de vídeo digital) (em segundos) do conteúdo em direto e dos anúncios que o utilizador pode deslocar para trás e manter a reprodução sem interrupções.
A predefinição atual para este valor é 100 segundos ou o valor especificado durante a configuração da stream em direto. No entanto, pode ser especificado um novo máximo para cada stream em direto, até 100 segundos para SSB ou 1800 segundos ao usar o SDK ou a API. Se quiser uma duração de DVR superior, contacte o seu gestor de conta. Orientações e utilizaçãoA duração real de DVR da playlist devolvida pode ser ligeiramente superior ou inferior, consoante a duração dos segmentos subjacentes. Também pode ser ligeiramente diferente entre variantes. O valor máximo da janela real não deve ser superior ao valor da janela de DVR especificado no evento. Se for, o valor será limitado automaticamente. As janelas de DVR para streams SSB também estão limitadas a um valor inferior em comparação com as streams de SDK ou API pública. Embora façamos o possível para devolver um manifesto compatível, especificar um valor muito pequeno ou muito grande pode causar problemas na reprodução. A reprodução deve ser minuciosamente testada com a duração da janela de DVR pretendida para garantir que tudo está a funcionar corretamente. Evite usar janelas diferentes entre dispositivos. Especificar um tamanho de janela de 30 segundos para um dispositivo versus 31 segundos ou 35 segundos para outros dispositivos não é adequado do ponto de vista do desempenho. Em vez disso, use contentores de janelas (por exemplo, 35 segundos para um conjunto de dispositivos, 10 minutos para outro conjunto, etc.). Isto permite uma atribuição e um desempenho de recursos mais eficientes. |
dai-dvr=60 |
dai-emsgv |
HLS |
A versão da Mensagem do evento é um parâmetro de criação de stream que permite aos callers especificar as versões "emsg" para conteúdo de Common Media Application Format (CMAF). O padrão HLS requer a versão 1 do "emsg". Esta definição é útil para plataformas que não suportam a versão padrão 1 e necessitam da versão 0, como o Roku.
|
dai-emsgv=1 |
dai-pre (Beta) |
HLS, DASH | Especifica se uma stream em direto com a inserção inicial ativada deve mostrar a inserção inicial em vez da inserção intercalar no caso de se sobreporem. O comportamento predefinido mostra a inserção intercalar sobreposta, em vez da inserção inicial. | dai-pre=1 |
Exemplos de substituição de parâmetros
Pedido
https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-ot=bw&dai-ov=2025837,1406061
Resposta
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025837,RESOLUTION=960x540,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
Pedido
https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-ot=bw&dai-ov=audio,1406061
Resposta
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,RESOLUTION=480x270,CODECS="mp4a.40.2"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/audio.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
Pedido
https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-ot=bw_res&dai-ov=1400000:640x360,audio
Resposta
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,RESOLUTION=480x270,CODECS="mp4a.40.2"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/audio.m3u8
Pedido
https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-sr=1300000:2500000&dai-aor=60000
Resposta
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025837,RESOLUTION=960x540,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,RESOLUTION=480x270,CODECS="mp4a.40.2"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/audio.m3u8
Pedido
https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-os=1700000
Resposta
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025837,RESOLUTION=960x540,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
Manifesto original com legendas
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="en",NAME="English",AUTOSELECT=YES,URI="tt-en.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="de",NAME="Deutsch",AUTOSELECT=YES,URI="tt-de.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=889549,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/889549.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
Pedido
https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-excl=subtitles
Resposta
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=889549,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/889549.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
Manifesto original com ac‑3, eac‑3
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6107776,RESOLUTION=1920x1080,CODECS="avc1.640028,ec-3",AUDIO="AUDIO-EAC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6107776.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2212301,RESOLUTION=960x540,CODECS="avc1.640028,ec-3",AUDIO="AUDIO-EAC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2212301.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6295776,RESOLUTION=1920x1080,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6295776.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2400301,RESOLUTION=960x540,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2400301.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6045381,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6045381.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2149906,RESOLUTION=960x540,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2149906.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-eac3.m3u8",GROUP-ID="AUDIO-EAC3",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-ac3.m3u8",GROUP-ID="AUDIO-AC3",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-aac.m3u8",GROUP-ID="AUDIO-AAC",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
Exclua um codec
Pedido
http://truman.com/ssai/event/<event_code>/master.m3u8?dai-excl=codec:ec-3
Resposta
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6295776,RESOLUTION=1920x1080,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6295776.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2400301,RESOLUTION=960x540,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2400301.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6045381,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6045381.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2149906,RESOLUTION=960x540,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2149906.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-ac3.m3u8",GROUP-ID="AUDIO-AC3",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-aac.m3u8",GROUP-ID="AUDIO-AAC",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
Exclua vários codecs
Pedido
http://truman.com/ssai/event/<event_code>/master.m3u8?dai-excl=codec:ec-3,codec:ac-3
Resposta
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6045381,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6045381.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2149906,RESOLUTION=960x540,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2149906.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-aac.m3u8",GROUP-ID="AUDIO-AAC",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES