Transforma um video em um tutoorial
Go to file
2026-02-10 12:26:43 -03:00
.claude feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
VideoStudy.API feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
VideoStudy.Desktop feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
VideoStudy.Native feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
VideoStudy.Shared feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
VideoStudy.UI feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
.gitignore first commit 2026-02-09 18:31:08 -03:00
COMO_RODAR.md first commit 2026-02-09 18:31:08 -03:00
confuser.xml first commit 2026-02-09 18:31:08 -03:00
CORRECOES_REALIZADAS.md first commit 2026-02-09 18:31:08 -03:00
DEPLOYMENT.md first commit 2026-02-09 18:31:08 -03:00
ESTRUCTURA.txt first commit 2026-02-09 18:31:08 -03:00
FASE1_RESPOSTAS.md first commit 2026-02-09 18:31:08 -03:00
GEMINI.md first commit 2026-02-09 18:31:08 -03:00
README.md first commit 2026-02-09 18:30:52 -03:00
REFERENCES.md first commit 2026-02-09 18:31:08 -03:00
SETUP.md first commit 2026-02-09 18:31:08 -03:00
SUMMARY.txt first commit 2026-02-09 18:31:08 -03:00
TROUBLESHOOT.md first commit 2026-02-09 18:31:08 -03:00
VideoStudy.sln feat: MAUI nativo. Aplicativo rodando local no windows. 2026-02-10 12:26:43 -03:00
yt-dlp.exe first commit 2026-02-09 18:31:08 -03:00

VideoStudy.app - FASE 1

Plataforma de análise de vídeos do YouTube usando Inteligência Artificial com Semantic Kernel.

📋 Estrutura do Projeto

VideoStudy.app/
├── VideoStudy.API/              # ASP.NET Core Web API (Semantic Kernel)
├── VideoStudy.Desktop/          # Blazor Hybrid Desktop Application
│   ├── VideoStudy.Desktop/      # Server project
│   └── VideoStudy.Desktop.Client/ # Client project
├── VideoStudy.Shared/           # Shared models and interfaces
├── Tests/                       # Test projects
├── REFERENCES.md                # Análise de referências
└── README.md                    # Este arquivo

🚀 Quick Start

Pré-requisitos

  • .NET 8.0 SDK ou superior
  • Visual Studio 2022 / VS Code (opcional)

1. Clonar/Abrir Projeto

cd /mnt/c/vscode/VideoStudy.app

2. Restaurar Dependências

dotnet restore

3. Executar a API

Opção A: Com Ollama (Local, Grátis)

Certifique-se que Ollama está rodando em http://localhost:11434

cd VideoStudy.API
dotnet run

A API estará disponível em: http://localhost:5000

Opção B: Com Groq (Cloud, Grátis)

  1. Crie conta em https://console.groq.com
  2. Gere API Key
  3. Configure em VideoStudy.API/appsettings.json:
"LlmSettings": {
  "Provider": "Groq",
  "ModelId": "llama-3.1-8b-instant",
  "Endpoint": "https://api.groq.com/openai/v1",
  "ApiKey": "your-groq-api-key"
}
cd VideoStudy.API
dotnet run

4. Executar Desktop App (em outro terminal)

cd VideoStudy.Desktop/VideoStudy.Desktop
dotnet run

A aplicação estará disponível em: http://localhost:5001

📡 Endpoints da API

Health Check

GET /health

Resposta:

{
  "status": "ok",
  "timestamp": "2026-02-06T10:00:00Z"
}

Analisar Vídeo

POST /api/analyze
Content-Type: application/json

{
  "videoUrl": "https://www.youtube.com/watch?v=...",
  "language": "en",
  "mode": "fast"
}

Resposta:

{
  "videoTitle": "Video Title",
  "transcript": "Topics covered...",
  "analysis": "Detailed analysis...",
  "keyMoments": [
    {
      "timestamp": "00:00:30",
      "description": "Key moment description",
      "startSeconds": 30
    }
  ],
  "status": "success",
  "errorMessage": null
}

🏗️ Arquitetura

VideoStudy.Shared

Modelos compartilhados entre API e Desktop:

  • AnalysisRequest - Entrada do usuário
  • AnalysisResponse - Resposta da análise
  • KeyMoment - Momento importante no vídeo
  • ProgressUpdate - Atualização de progresso

VideoStudy.API

  • Framework: ASP.NET Core 8.0
  • AI Integration: Semantic Kernel 1.70.0
  • LLM Providers:
    • Groq (padrão)
    • Ollama (local)
    • OpenAI (opcional)
  • CORS: Habilitado para todas as origens (desenvolvimento)

VideoStudy.Desktop

  • Framework: Blazor Hybrid
  • UI: Bootstrap 5 + Razor Components
  • Comunicação: HttpClient para chamadas à API
  • Recursos:
    • URL input para vídeos do YouTube
    • Seleção de idioma
    • Modo Fast/Advanced
    • Barra de progresso
    • Debug logs
    • Tratamento de erros

🔧 Configuração Avançada

Mudar LLM Provider

Edite VideoStudy.API/Program.cs (linhas 21-37):

Para Ollama:

builder.Services.AddOllamaChatCompletion(
    "llama2",
    new Uri("http://localhost:11434")
);

Para OpenAI GPT-4:

builder.Services.AddOpenAIChatCompletion(
    "gpt-4o-mini",
    "sk-proj-your-key"
);

Para Google Gemini:

builder.Services.AddGoogleAIGeminiChatCompletion(
    "gemini-1.5-flash-latest",
    "your-google-api-key"
);

Build para Produção

dotnet build -c Release
dotnet publish -c Release -o ./publish

📊 FASE 2 - Status

Concluído:

  • Download de vídeos do YouTube (YoutubeExplode)
  • Extração de legendas (Modo Rápido)
  • Transcrição com Whisper.NET (Modo Avançado)
  • Extração de screenshots (FFmpeg)
  • Fluxo completo: URL → Transcrição → Análise IA → Screenshots
  • Progress reporting em tempo real

Não incluído (FASE 3):

  • Geração de PDF
  • UI refinada (Design System)
  • Persistência (MongoDB)
  • Autenticação

🔧 Requisitos Externos (Fase 2)

FFmpeg

Para que o "Modo Avançado" (Whisper e Screenshots) funcione, o FFmpeg deve estar instalado e acessível no PATH do sistema.

Linux (Ubuntu/Debian):

sudo apt update && sudo apt install ffmpeg

Windows: Baixe em ffmpeg.org e adicione a pasta bin às Variáveis de Ambiente.

Whisper Model

O modelo de IA (base) será baixado automaticamente na primeira execução para a pasta VideoStudy.Desktop/bin/Debug/net8.0/models/.

🔄 FASE 3 - Próximos Passos

Será implementado:

  • YouTubeService (YoutubeExplode)
  • TranscriptionService (Whisper.NET)
  • ScreenshotService (FFmpeg)
  • Modos: Fast (legendas) e Advanced (Whisper)
  • Progress reporting em tempo real
  • Tratamento robusto de erros

📝 Notas

  • A API tem CORS habilitado para todos os domínios (alterar para produção!)
  • Sem autenticação no momento (adicionar em FASE 3)
  • LLM provider deve estar ativo antes de iniciar (Ollama ou Groq)
  • Desktop aguarda API em http://localhost:5000 (configurável)

🐛 Troubleshooting

Erro: "Unable to connect to API"

  • Verifique se a API está rodando: dotnet run em VideoStudy.API
  • Confirme que porta 5000 está livre
  • Verifique appsettings.json no Desktop: BaseUrl deve ser http://localhost:5000

Erro: "LLM Provider not available"

  • Se usar Groq: Verifique API key em VideoStudy.API/appsettings.json
  • Se usar Ollama: Certifique-se que Ollama está rodando (ollama serve)

Erro: "ModelId not found"

  • Verifique o nome do modelo em appsettings.json
  • Ollama: modelos podem ser listados com ollama list
  • Groq: llama-3.1-8b-instant é o padrão

📞 Versões de Dependências

Package Versão Propósito
Microsoft.SemanticKernel 1.70.0 IA Integration
Microsoft.SemanticKernel.Connectors.OpenAI 1.70.0 OpenAI-compatible
Microsoft.SemanticKernel.Connectors.Ollama 1.70.0-alpha Local LLM
Bootstrap 5.3.2 CSS Framework (Desktop)

📄 Licença

Projeto em desenvolvimento - Todos os direitos reservados


Última atualização: 2026-02-06 Fase: 1 (Estrutura Base) Status: Pronto para FASE 2