Discourse Video Stream adiciona integração perfeita com o Cloudflare Stream para upload e incorporação de conteúdo de vídeo longo de alta qualidade e transmissão ao vivo no seu site Discourse.
Visão Geral
Este plugin fornece um fluxo de trabalho completo para lidar com arquivos de vídeo grandes com streaming de taxa de bits adaptável, permitindo que seus usuários enviem vídeos diretamente do compositor e os reproduzam com ajuste automático de qualidade com base nas condições de sua rede. Ele também suporta a criação de transmissões ao vivo com transmissão RTMPS.
Principais Recursos
Integração com o Compositor: Botão de barra de ferramentas opcional para uploads diretos de vídeo a partir do compositor
Interceptação Automática de Upload: Vídeos que excedem um limite de tamanho configurável são automaticamente enviados para o Cloudflare Stream em vez do armazenamento local
Uploads Retomáveis: Baseado no tus-js-clientpara uploads confiáveis de arquivos bem acima de 200 MB com retomada automática em caso de problemas de conexão
Proxy Seguro: O endpoint do lado do servidor gera URLs de upload do Cloudflare Stream de curta duração, mantendo suas credenciais de API seguras
Transmissão ao Vivo: Crie transmissões ao vivo com transmissão RTMPS diretamente do compositor
BBCode Personalizado: Sintaxe simples [video-stream id=\"...\"]para incorporar vídeos
Streaming Adaptativo: Integração com Shaka Player com manifestos DASH para reprodução suave em velocidades de rede variáveis
Controles de Reprodução: Interface de usuário integrada para seleção de resolução e controle de velocidade de reprodução
Instalação
Adicione o plugin ao seu app.yml:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/xfalcox/discourse-video-stream.git
Em seguida, reconstrua seu contêiner:
./launcher rebuild app
Configuração
Navegue até Admin → Configurações → Video streaming e configure:
| Configuração | Descrição | Padrão |
|---|---|---|
| video_stream_enabled | Habilitar o plugin de streaming de vídeo | false |
| video_stream_account_id | Seu identificador de conta Cloudflare | - |
| video_stream_api_token | Token de API com permissões Stream:Edit | - |
| video_stream_customer_subdomain | Seu domínio Cloudflare Stream (ex: customer-xxxxx.cloudflarestream.com) | - |
| video_stream_allowed_extensions | Lista separada por vírgulas de formatos de vídeo permitidos | mp4,webm,mov |
| video_stream_max_file_size | Tamanho máximo do arquivo em MB (1-2000) | 500 |
| video_stream_intercept_native_uploads | Interceptar automaticamente uploads de vídeo grandes | true |
| video_stream_intercept_threshold_mb | Limite de tamanho em MB para interceptação automática (1-2000) | 10 |
| video_stream_enable_live_streams | Habilitar o recurso de transmissão ao vivo | false |
Obtendo Credenciais do Cloudflare Stream
- Faça login no seu painel Cloudflare
- Navegue até Stream sob sua conta
- Copie seu ID de Conta na visão geral do Stream
- Crie um token de API com permissões Stream:Edit
- Anote seu subdomínio de cliente nas configurações do Stream
Uso
Uma vez configurado, os usuários têm duas maneiras de enviar vídeos:
Interceptação Automática
Quando um usuário arrasta e solta ou seleciona um arquivo de vídeo que excede a configuração video_stream_intercept_threshold_mb, o plugin o gerencia automaticamente via Cloudflare Stream em vez do armazenamento local. Você precisa permitir extensões de arquivo de vídeo nas configurações de extensão permitidas para que isso funcione.
Upload Manual
Os usuários podem clicar no menu pop-up da barra de ferramentas do compositor (
) e selecionar a opção de upload de vídeo para enviar explicitamente para o Cloudflare Stream.
Ambos os métodos inserem uma tag BBCode [video-stream id=\"video_id\"] que é renderizada como um player de streaming adaptativo com controles de resolução e velocidade.
Transmissão ao Vivo
Quando video_stream_enable_live_streams está habilitado, os usuários podem criar transmissões ao vivo:
- Clique no menu pop-up da barra de ferramentas do compositor (
) e selecione “Criar transmissão ao vivo” - Um modal gera credenciais RTMPS via API do Cloudflare Stream
- Copie a URL RTMPS e a chave de transmissão usando os botões de cópia convenientes
- Use as credenciais com OBS, Streamlabs ou qualquer software de transmissão compatível com RTMPS
- Clique em “Inserir incorporação” para adicionar o BBCode
[video-stream id=\"...\"]à sua postagem - Comece a transmitir imediatamente
Recursos de Transmissão ao Vivo:
- Gravação automática ativada por padrão (as transmissões são salvas para reprodução posterior)
- O mesmo player adaptativo funciona para conteúdo ao vivo e gravado
- Os usuários veem o conteúdo ao vivo durante a transmissão e podem assistir à gravação depois
- Manuseio seguro de credenciais com mensagens de aviso
Por que Cloudflare Stream?
Temos suporte para fazer o mesmo usando AWS no código, e com Mux em GitHub - discourse/discourse-video, então uma alternativa mais barata pareceu uma boa ideia.
Requisitos
- Conta Cloudflare ativa com Stream habilitado
Fonte e Suporte
- Repositório: GitHub - xfalcox/discourse-video-stream
Capturas de Tela
Demonstração
Visite meu site de teste e envie alguns vídeos
https://discourse-on-a-pi5.falco.dev/t/test-video-upload-plugin/20?u=falco
Nota: Este não é um plugin #oficial.


