Sistema completo para upload, armazenamento e exibição de vídeos com múltiplos servidores.
index.html- Página principalstyle.css- Estilos da aplicaçãoscript.js- Lógica do cliente
upload.php- API para upload de vídeosvideos.php- API para listar vídeosvideos/- Diretório onde os vídeos são armazenados (criado automaticamente)videos.json- Banco de dados JSON com metadados dos vídeos
- Servidor web com PHP 7.0 ou superior
- Apache/Nginx configurado
- Permissões de escrita no diretório
- Copie os arquivos PHP para seu servidor:
- upload.php
- videos.php- Configure as permissões:
chmod 755 upload.php videos.php
chmod 777 videos/ (este diretório será criado automaticamente)- Configure o PHP.ini (opcional, para vídeos maiores):
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300-
Abra o arquivo
index.htmlem um navegador -
Adicione o endereço do seu servidor:
- Clique em "Adicionar Servidor"
- Digite o endereço completo:
http://seudominio.com/api - Clique em "Adicionar Servidor"
- Na seção "Gerenciar Servidores"
- Digite o endereço completo do servidor (ex:
http://exemplo.com) - Clique em "Adicionar Servidor"
- O servidor aparecerá na lista abaixo
- Na lista de servidores
- Clique no botão "Remover" ao lado do servidor desejado
- Confirme a remoção
- Na seção "Upload de Vídeo"
- Clique em "Escolher arquivo" e selecione um vídeo
- Digite um título para o vídeo
- Clique em "Enviar Vídeo"
- Aguarde a confirmação do upload
- Os vídeos aparecem automaticamente no feed
- Clique no player para reproduzir
- Os vídeos são carregados de todos os servidores configurados
✅ Upload de vídeos com título
✅ Gerenciamento de múltiplos servidores
✅ Feed de vídeos com player integrado
✅ Armazenamento local da lista de servidores
✅ Interface responsiva
✅ Feedback visual de operações
✅ Recebe e armazena vídeos
✅ Validação de tipo de arquivo
✅ Limite de tamanho (100MB padrão)
✅ Metadados em JSON
✅ API RESTful
✅ CORS habilitado
- MP4 (video/mp4)
- MPEG (video/mpeg)
- QuickTime (video/quicktime)
- AVI (video/x-msvideo)
- WebM (video/webm)
- Verificação de tipo MIME
- Limite de tamanho de arquivo
- Validação de título
- Nomes únicos de arquivo
- Proteção contra path traversal
- Use HTTPS em produção
- Implemente autenticação
- Configure rate limiting
- Faça backup regular dos vídeos
- Monitore o espaço em disco
Faz upload de um vídeo
Parâmetros:
video(file) - Arquivo de vídeotitle(string) - Título do vídeo
Resposta de sucesso (201):
{
"success": true,
"message": "Vídeo enviado com sucesso",
"video": {
"id": "unique_id",
"title": "Título do vídeo",
"filename": "video_xyz.mp4",
"path": "videos/video_xyz.mp4",
"size": 1024000,
"mime_type": "video/mp4",
"uploaded_at": "2026-01-28 10:30:00",
"original_name": "meu_video.mp4"
}
}Lista todos os vídeos
Resposta de sucesso (200):
[
{
"id": "unique_id",
"title": "Título do vídeo",
"filename": "video_xyz.mp4",
"path": "videos/video_xyz.mp4",
"size": 1024000,
"mime_type": "video/mp4",
"uploaded_at": "2026-01-28 10:30:00",
"original_name": "meu_video.mp4"
}
]- Adicione pelo menos um servidor na seção "Gerenciar Servidores"
- Verifique o limite no PHP.ini
- Redimensione o vídeo antes do upload
- Verifique se o servidor está acessível
- Confirme que o CORS está habilitado
- Verifique o console do navegador para erros
- Verifique as permissões do diretório
- Confirme que o PHP tem permissão de escrita
- Verifique os logs do servidor
Projeto livre para uso educacional e comercial.
Desenvolvido com:
- HTML5
- CSS3
- JavaScript (ES6+)
- PHP 7+
- LocalStorage API
- Fetch API