Conteúdo com proteção de direitos digitais não é baixado
Widevine, FairPlay e PlayReady são proteções que o detentor dos direitos coloca no vídeo. Quando encontra um vídeo desse tipo, o VGrab reconhece, diz com todas as letras na tela que "este vídeo tem proteção DRM e não pode ser baixado" e para por ali.
Isso não é falta de capacidade, é uma coisa que a gente não faz. Abrir essa proteção é contornar uma medida de proteção, e não resolver um problema técnico, então não existe uma linha sequer de código sobre isso na extensão, e não vai passar a existir.
YouTube: não fazemos
A gente realmente foi olhar, em vez de falar por impressão: capturamos as requisições que uma página de reprodução de verdade envia enquanto o vídeo toca e lemos tudo. A conclusão são três obstáculos, e eles são de naturezas diferentes:
- O formato é diferente. A forma como o YouTube transmite vídeo não é a dos sites comuns: imagem e som vão por vias separadas e na página não existe nenhum m3u8. Esse ponto é só volume de trabalho, não tem nada de enfrentamento.
- Controle de acesso. O endereço do vídeo tem prazo de validade, fica atrelado ao endereço de quem pediu e carrega duas assinaturas. Isso serve principalmente contra hotlink e contra abuso, e de quebra torna o download difícil.
- Proteção feita especificamente contra download. Existe no endereço um parâmetro de limite de velocidade e, se o cálculo sair errado, o servidor entrega tudo bem devagar; o trecho de código que faz essa conta fica escondido dentro de scripts do player que mudam o tempo todo, então conseguir um endereço utilizável exigiria fazer engenharia reversa daquele código.
O terceiro ponto é onde a gente para. Este projeto nasceu com dois limites rígidos escritos: quando aparece uma verificação de que você é humano, parar e informar o erro, sem se disfarçar de pessoa; e não mexer com proteção DRM. Fazer engenharia reversa de algo construído justamente para impedir download é da mesma categoria. Por isso não fazemos.
Há ainda um motivo prático em cima do princípio: as políticas para desenvolvedores das lojas de aplicativos já não permitem que uma extensão baixe conteúdo do YouTube. As páginas de loja de extensões parecidas dizem exatamente a mesma coisa.
Diante de uma verificação de que você é humano, também paramos
Alguns sites mostram aquelas telas de "verificação de segurança em andamento". O VGrab não falsifica a impressão digital do navegador, não contrata serviço de resolução de captcha e não usa nenhum método para burlar a verificação.
O caminho correto é só um: você mesmo abre aquela página normalmente no seu navegador e passa pela verificação normalmente, e o que a extensão lê é exatamente a página que você navegou de verdade. Uma extensão funciona naturalmente assim: o VGrab não acessa o site no seu lugar, apenas organiza o que já está dentro da página que você abriu.
Então o que sobra
Sobra a imensa maioria: o streaming dos sites comuns (m3u8, DASH), os arquivos completos em MP4 / WEBM / FLV, os sites que transmitem imagem e som em duas faixas separadas e, com a gravação, os players que não entregam o endereço e as transmissões ao vivo.
Em outras palavras, o que o VGrab faz é guardar aquilo que você já consegue ver, e não arrancar aquilo que você não consegue ver. Esse limite não vai mudar daqui para a frente.