Do upload
ao play.

O Lhama

O motor de mídia do Deez.

Todo vídeo e imagem publicado no Deez passa por aqui: o Lhama recebe o arquivo, verifica a integridade, analisa o conteúdo com machine learning, comprime para streaming e devolve pronto para assistir — em cards, chats e posts.

Nada disso acontece dentro do app. O Deez continua leve e rápido porque existe um serviço dedicado fazendo o trabalho pesado — e é esse caminho que esta página explica.

Arquitetura

Por que um serviço
separado?

Processar vídeo é pesado, lento e imprevisível. Se isso rodasse dentro do app, um pico de uploads derrubaria o feed inteiro. Então o Deez delega — e segue leve.

O app nunca trava

O Deez só recebe o arquivo e devolve uma resposta na hora. A conversão para HLS, que leva segundos ou minutos, acontece longe do caminho do usuário.

Fila que absorve pico

Dez ou dez mil uploads: tudo entra na mesma fila e é processado no ritmo da máquina. Nada se perde, nada estoura.

Porta de segurança

Nenhum byte chega ao storage sem passar pela moderação. O Lhama é o único caminho entre o upload e o público.

O caminho de um vídeo

Cinco paradas
até a tela.

Da câmera do usuário ao player. Cada etapa tem um motivo — e um plano para quando algo dá errado.

1

O Deez recebe e classifica

Na hora do envio, o app identifica o contexto: card, chat ou post. Isso define onde o arquivo vai morar — por exemplo …/media/chat_42/ — e para onde volta a resposta. A mensagem já aparece como “processando”.

2

Entra na fila

O arquivo viaja para o Lhama e aguarda sua vez. O app não espera: libera o usuário na hora e acompanha o progresso por webhook e polling.

3

Machine learning olha antes

Frames são extraídos e analisados por um modelo de visão. Se houver conteúdo impróprio, o processo para aqui — nada é publicado, e o autor é avisado.

4

Vira streaming de verdade

Aprovado, o vídeo é convertido para HLS em pedaços de 5 segundos, com thumbnail gerada no mesmo passo. O player adapta a qualidade sozinho, do 4G fraco ao Wi-Fi.

5

Volta para casa via webhook

Com tudo pronto no storage, o Lhama chama o Deez de volta: a mensagem “processando” vira o player final, com thumbnail e link permanente.

lhama — ao vivo
$ recebido · type=chat · chats/chat_42
→ frames extraídos · machine learning Safe 99.2%
→ HLS 5s chunks + thumb −68%
→ upload …/media/chat_42/index.m3u8 [OK]
✓ webhook → player liberado
$

Moderação por IA

Nada passa
sem ser visto.

Um modelo de machine learning avalia cada frame e devolve um score por categoria. Acima do limiar, o conteúdo é barrado antes de existir publicamente — nunca depois.

Safe
97%
Nudez
1.8%
Violência
0.9%
✓ Conteúdo aprovado

Resiliência

E quando
dá errado?

Toda falha tem nome, mensagem clara para o usuário e limpeza automática. Arquivo morto no storage, nunca.

DURATION_EXCEEDED

Vídeo longo demais

Acima de ~2 minutos o processamento nem começa. O usuário recebe o limite na hora, em vez de esperar à toa.

NSFW

Conteúdo barrado

Detectado pela moderação, o vídeo é descartado com tudo que já tinha subido — e o autor entende o motivo.

SEND_FAILED

Falha no caminho

Erro de rede ou conversão: a mensagem marca a falha, os temporários são removidos e dá para tentar de novo.

0s

Tamanho de cada pedaço do streaming HLS

0

Contextos atendidos: cards, chats e posts

0%

Dos vídeos passam pela moderação antes do público

É assim que cada vídeo
chega até você.

Invisible por design: upload, moderação, compressão e play — sem que ninguém precise pensar nisso.

Rever o caminho