Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Versão 1.0.1
Abaixo segue documentação da API REST com os parâmetros passados
codifcados em JSON, que será desenvovvida para atender as necessidades de
TvOD/Catch-UP TV da Life. O objetivo com essa documentação é especifcar a
interface utivizada na sovução e utivizar essa especifcação como base para
avinhamento de todos os desenvovvimentos que ocorrerão concorrentemente,
assim como a reavização da estimativa de esforço para desenvovvimento da
sovução. A API consistirá em 3 serviços, sendo eves dividos em, gravações,
pvaybacks e conteúdo armazenado.
Observações importantes:
- Na maioria* das API’s há o parâmetro ID que é passado na própria URL. Esse ID é
único para cada canav sendo gravado e reproduzido por servidor de storage (por
máquina). Atenção, se for utivizada a mesma ID para dois canais, haverá
corrupção de dados.
- Em todas as API’s com métodos POST é passado o parâmetro path como
parâmetro de dados. Esse parâmetro serve para identifcar em quav disco rígido
será armazenado o canav. Por exempvo, se uma máquina storage possuir 4 discos
rígidos montados nos caminhos /mnt/storage1, /mnt/storage2, /mnt/storage3,
/mnt/storage4, esses são os possíveis parâmetros a ser passados na chamada da
API.
www.e1m.com.br
Gravações – método GET
Get – veitura dos parâmetros de uma gravação específca ou entao vistar todas as gravações
em andamento.
URL
api/v1.0/recorder/:id
Parâmetros de dados
Nenhum
Resultados:
ou
www.e1m.com.br
Gravações – método POST
POST – Inicia uma gravação
URL
api/v1.0/recorder/:id
Parâmetros de dados
ip_addr: endereço IP multicast no qual será feita a captura
ip_port: porta que deverá ser feita a captura
iface: interface de rede na qual deve ser feita a captura
path: caminho no storage para armazenamento do fluxo
window_time: tempo em segundos que deve ser armazenado o fluxo (p. ex.
uma semana = 60seg*60min*24horas*7dias = 604800 segundos)
Resultados:
Código: 200 – OK
Conteúdo: { id : 12, ip_addr : 224.0.20.21, ip_port: 10000,
iface: 192.168.20.21, path: /mnt/storage1/, window_time: 604800 }
ou
www.e1m.com.br
Gravações – método DELETE
DELETE – Encerra uma gravação e apaga todo o seu conteúdo
URL
api/v1.0/recorder/:id
Parâmetros de dados
erase_files: se ‘True’ apaga todo o conteúdo gravado relativo aquele
ID. Se ‘False’, deixa o conteúdo armazenado.
Resultados:
Código: 200 – OK
Conteúdo: { id : 12, ip_addr : 224.0.20.21, ip_port: 10000,
iface: 192.168.20.21, path: /mnt/storage1/, window_time: 604800 }
ou
www.e1m.com.br
Playbacks – método GET
Get – veitura dos parâmetros de uma reprodução específca ou entao vistar todas as
reproduções em andamento - se ID na chamada for inexistente
URL
api/v1.0/pvayer/:id
Parâmetros de dados
Nenhum
Resultados:
ou
www.e1m.com.br
Playbacks – método POST
POST – Inicia uma reprodução
URL
api/v1.0/pvayer/:id
Parâmetros de dados
ip_addr: endereço IP multicast no qual será feita a captura
ip_port: porta que deverá ser feita a captura
iface: interface de rede na qual deve ser feita a captura
path: caminho no storage para armazenamento do fluxo
kseconds: tempo em segundos a partir do instante atual que deve ser
iniciada a reprodução. P.ex. Iniciar reprodução de 1 hora atrás, o
kseconds deve ser 60seg*60min = 3600
Resultados:
Código: 200 – OK
Conteúdo: { id : 12, ip_addr : 10.50.0.21, ip_port: 11000,
iface: 192.168.20.21, path: /mnt/storage1/, kseconds: 7200 }
ou
www.e1m.com.br
Playbacks – método DELETE
DELETE – Encerra uma reprodução
URL
api/v1.0/pvayer/:id
Parâmetros de dados
Nenhum
Resultados:
Código: 200 – OK
Conteúdo: { id : 12, ip_addr : 10.50.0.21, ip_port: 11000,
iface: 192.168.20.21, path: /mnt/storage1/, kseconds: 7200 }
ou
www.e1m.com.br
Conteúdo armazenado – método GET
Get – retorna dados sobre o conteúdo armazenado de um ID específco
URL
api/v1.0/entitvement/:id
Parâmetros de dados
path: caminho no storage para armazenamento do fluxo
Resultados:
ou
www.e1m.com.br
Conteúdo armazenado – método DELETE
DELETE – Apaga um conteúdo armazenado
URL
api/v1.0/entitvement/:id
Parâmetros de dados
path: caminho no storage para armazenamento do fluxo
kseconds: tempo em segundos contados a partir do tempo atual.
Será considerado que cada conteúdo é um bloco de 3600 segundos -
1 hora. Logo, para remover um conteúdo, deverá ser informado
qualquer segundo dentro daquele bloco, p.ex para apagar o bloco
gravado que contém o programa que rodou de 2 horas até 1 hora
atrás, o parâmetro kseconds pode ser qualquer valor entre 3600 –
7199.
Resultados:
Código: 200 – OK
Conteúdo: { id : 12, path: /mnt/storage1, kseconds: 3600 }
ou
www.e1m.com.br