VOD¶
media.play.vod
Transporte¶
HTTP ou HTTPS; playlists e fragmentos usam requisições separadas por TCP.
Codecs compatíveis¶
Dependem do protocolo de entrega: HLS e DASH. O Sapsan empacota as faixas existentes; verifique a compatibilidade de decodificação no reprodutor de destino.
O Sapsan armazena arquivos como assets VOD, mantém o catálogo no central e os entrega sob demanda. Assets não precisam de fonte ao vivo. Gerencie uploads, armazenamentos, modelos e tarefas na console do central.
Armazenamento e upload¶
Pelo central, defina uma raiz VOD com nome na config do streamer, correspondente a um diretório no disco:
vod:
roots:
- name: movies
path: /srv/vod
Os nomes contêm letras latinas minúsculas, dígitos, _ e - e devem ser únicos na config. O processo precisa de acesso de leitura e escrita ao diretório. O central recebe disponibilidade e espaço livre nos relatórios do streamer.
Em VOD, abra Uploads, selecione os arquivos e uma chave do asset. O central escolhe um armazenamento disponível com espaço livre e emite uma permissão de upload; os bytes vão diretamente ao streamer. Armazenamentos mostra disponibilidade e capacidade. Tokens de upload dá acesso restrito de upload a uma aplicação externa; a revogação impede novos usos.
Catálogo e arquivos¶
- Chave: nome alterável como
movies/2026/film.mp4; os prefixos formam a árvore do catálogo. - Asset id: identificador permanente preservado quando a chave é renomeada.
- Revisão: versão da composição dos arquivos; muda ao adicionar ou excluir arquivos.
- Arquivos: vídeo e outros arquivos do asset, com tamanho, hash e informações de mídia.
Arquivos do asset¶
Abra um asset no Catálogo para inspecionar arquivos e locais. Um asset disponível tem um local pronto em um armazenamento disponível. Um arquivo que não pode ser analisado como mídia permite apenas download RAW. Renomear chave altera os metadados, preservando arquivos e links por Asset id; uma chave ocupada é rejeitada.
Reprodução¶
No cartão do arquivo, Play abre um reprodutor; HLS, DASH e RAW copiam um link. Use links do central para reprodução pelo cluster:
| Formato | URL do central |
|---|---|
| HLS | /playback/vod/<asset-id>/<file>/index.m3u8 |
| DASH | /playback/vod/<asset-id>/<file>/Manifest.mpd |
| Arquivo | /playback/vod/<asset-id>/<file> |
O central seleciona um local pronto e redireciona o cliente ao streamer. A URL nativa do streamer é /streaming/vod/<root>/<asset-id>/<file>/index.m3u8 (para DASH, Manifest.mpd; para download, sem sufixo). Não substitua Asset id pela chave do catálogo. A reprodução protegida exige um token que permita acesso ao asset; acesso negado retorna 403 e um asset ou arquivo inexistente, 404. Sem locais disponíveis, o central retorna 503 com Retry-After.
Cópias e balanceamento¶
Configure Cópias em outros servidores no modelo de asset. O valor 1 significa o original e uma cópia em outro streamer. Um modelo sem qualidades copia arquivos prontos sem transcodificar. Execute uma tarefa pelo cartão do asset ou atribua um modelo durante o upload.
O central seleciona streamers online com raiz VOD disponível, diário de arquivos legível, papel Cópia ativado e espaço suficiente. Só é permitido um local do asset por streamer. É necessário o tamanho dos arquivos mais a reserva vod_min_free_bytes (1 GiB por padrão); vence o armazenamento elegível com mais espaço livre. Sem candidatos, a tarefa aguarda na fila.
A cópia é uma tarefa separada no streamer de destino: ele baixa os arquivos pelo endereço interno, verifica tamanho e hash e publica a cópia. As cópias não ocupam slots de transcodificação. Desativar o papel impede novas tarefas; as que já estão em execução continuam. Arquivos adicionados depois chegam às cópias existentes na próxima tarefa.
A tabela de locais mostra original e cópias com revisão e espectadores. O central direciona novas reproduções ao local pronto com menos sessões; exclui um streamer desconectado após expirar seu liveness. O link por Asset id permanece igual. Um redirecionamento não transfere uma conexão aberta: o reprodutor deve reconectar após uma falha.
Exclusão¶
- Arquivo: exclui um arquivo e incrementa a revisão; excluir o último também exclui o asset.
- Asset: exclui o asset e seus arquivos do catálogo.
- Pasta: exclui assets sob o prefixo de chave selecionado.
O catálogo muda imediatamente. Se o armazenamento estiver indisponível, a exclusão física aguarda o retorno da conexão. Verifique o estado das tarefas e dos locais no central; uma entrada no catálogo não garante uma cópia pronta.