VideoStudy/VideoStudy.sln
Ricardo Carneiro c49ec3d5a5 refactor: limpeza geral e troca de Puppeteer por FFmpeg
- Remove projetos mortos: VideoStudy.Native (MAUI), Controllers/LicenseController
- Remove serviços não usados: FFmpegService, HardwareIdService, LicenseManager,
  PdfGeneratorService, ScreenshotService, TranscriptionService do UI
- Remove dependências pesadas do UI: Whisper.net, YoutubeExplode, QuestPDF
- Remove PuppeteerSharp e SkiaSharp do API (150MB Chromium não é mais necessário)
- Screenshots agora usam FFmpeg diretamente (mais simples, mais confiável)
- YouTubeService reescrito para chamar /api/video-info em vez de YoutubeExplode
- Adiciona campo UserContext em AnalysisRequest (contexto livre do usuário)
- UI traduzida para português; aba de arquivo local removida (nunca funcionou)
- YouTubeProcessor simplificado: sem modo Advanced/Whisper
- GetYtDlpPath busca yt-dlp.exe subindo até 7 níveis de diretório
- Cookies do yt-dlp configuráveis via YtDlp:CookiesBrowser no appsettings
- Chave Groq agora lida de env var GROQ_API_KEY (appsettings.json sem segredos)
- VideoStudy.Linux (Photino) adicionado à solução como host multiplataforma
- yt-dlp atualizado de 2025.01.26 para 2026.03.17 (fix do nsig extraction)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 14:08:05 -03:00

80 lines
5.0 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.2.11415.280
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoStudy.Shared", "VideoStudy.Shared\VideoStudy.Shared.csproj", "{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoStudy.API", "VideoStudy.API\VideoStudy.API.csproj", "{022CD193-2FB4-4507-BAA2-56DB7A40841E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoStudy.UI", "VideoStudy.UI\VideoStudy.UI.csproj", "{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoStudy.Linux", "VideoStudy.Linux\VideoStudy.Linux.csproj", "{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Debug|x64.ActiveCfg = Debug|x64
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Debug|x64.Build.0 = Debug|x64
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Debug|x86.ActiveCfg = Debug|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Debug|x86.Build.0 = Debug|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Release|Any CPU.Build.0 = Release|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Release|x64.ActiveCfg = Release|x64
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Release|x64.Build.0 = Release|x64
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Release|x86.ActiveCfg = Release|Any CPU
{C2F5E2F7-0872-422B-B246-A9EC585AF3CC}.Release|x86.Build.0 = Release|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Debug|x64.ActiveCfg = Debug|x64
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Debug|x64.Build.0 = Debug|x64
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Debug|x86.ActiveCfg = Debug|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Debug|x86.Build.0 = Debug|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Release|Any CPU.Build.0 = Release|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Release|x64.ActiveCfg = Release|x64
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Release|x64.Build.0 = Release|x64
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Release|x86.ActiveCfg = Release|Any CPU
{022CD193-2FB4-4507-BAA2-56DB7A40841E}.Release|x86.Build.0 = Release|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Debug|x64.ActiveCfg = Debug|x64
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Debug|x64.Build.0 = Debug|x64
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Debug|x86.ActiveCfg = Debug|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Debug|x86.Build.0 = Debug|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Release|Any CPU.Build.0 = Release|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Release|x64.ActiveCfg = Release|x64
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Release|x64.Build.0 = Release|x64
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Release|x86.ActiveCfg = Release|Any CPU
{CE82389C-E484-4EAC-8F78-0FB5C6EB63A4}.Release|x86.Build.0 = Release|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Debug|x64.ActiveCfg = Debug|x64
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Debug|x64.Build.0 = Debug|x64
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Debug|x86.ActiveCfg = Debug|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Debug|x86.Build.0 = Debug|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Release|Any CPU.Build.0 = Release|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Release|x64.ActiveCfg = Release|x64
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Release|x64.Build.0 = Release|x64
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Release|x86.ActiveCfg = Release|Any CPU
{D6ABA32E-D5C0-4E94-8E1C-2E6B2C83519E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {68B75065-924C-42D1-8B6C-A4B5678C2A85}
EndGlobalSection
EndGlobal