Aplicativo baseado em linha de comando/terminal escrito em Vá para baixar Shorts e Vídeos usando URLs/IDs do YouTube.
Observação : se você estiver procurando uma ferramenta pronta para uso, verifique os problemas fixados neste repositório.
Download de curtas e vídeos do YouTube.
Capacidade de selecionar entre diferentes qualidades de conteúdo.
Atualmente o projeto conta com 2 dependências,
tview – Biblioteca de Terminal UI com widgets ricos e interativos – escrita em Golang.
FFmpeg – A estrutura multimídia multiplataforma líder. Ele deve ser instalado no sistema ou pelo menos ter o binário estático mais recente no diretório raiz do projeto. É mais uma dependência de tempo de execução externa .
Quando colado o ID ou URL do YouTube Shorts/Video, o aplicativo busca os metadados das APIs internas do YouTube.
Então, dependendo das seleções de qualidade de vídeo e áudio, o aplicativo baixa o conteúdo do Shorts/Vídeo fazendo pequenas solicitações de dados para os URLs de conteúdo buscados.
No final, se o FFmpeg existir, os arquivos separados de fluxo de vídeo e áudio serão mesclados em um único arquivo de saída.
Depois de instalar o Go, digite o comando abaixo na raiz do projeto,
No Linux/UNIX,
go build -o go_youtube_downloader ./cmd/go_youtube_downloader.go
No Windows,
go build -o go_youtube_downloader.exe ./cmd/go_youtube_downloader.go
Depois de instalar o Go, clone/baixe este projeto e digite o comando abaixo na raiz do projeto,
go run ./cmd/go_youtube_downloader.go
Os sistemas devem ter o FFmpeg instalado ou ter o binário estático mais recente no diretório raiz do projeto para mesclar fluxos de vídeo e áudio separados baixados em um único arquivo.
Vídeos com restrição de idade não podem ser baixados devido à criptografia de assinatura do YouTube.
O YouTube tem limitações de largura de banda para cada solicitação recebida, cerca de 10 MB por solicitação. Se alguma solicitação obtiver mais dados do que esse limite de tamanho, outras solicitações limitarão o download ou a conexão poderá ser encerrada. Portanto, para obter melhor desempenho ao baixar dados e gravá-los no arquivo de saída, eles são divididos em partes menores para maior consistência. Com base na qualidade e tamanho selecionados, o tempo de download seria maior ou menor.
Engenharia reversa do YouTube: revisitado - Blog explicando as APIs internas do YouTube.
YouTube-Internal-Clients - Um script python que descobre clientes ocultos da API do YouTube. Apenas um projeto de pesquisa.
YT-DLP – Um fork do youtube-dl com recursos e correções adicionais
Youtubei - Obtenha dados do YouTube, como vídeos, listas de reprodução, canais, informações e comentários de vídeos, vídeos relacionados, próximo vídeo e muito mais!
Download eficiente de arquivos em Golang: um guia abrangente
Exemplo de download de arquivos Golang
Equipe NewPipe
Execução avançada de comandos em Go com os/exec