Como baixar vídeos on-line da linha de comando Linux usando o YouTube-DL

Como baixar vídeos on-line da linha de comando Linux usando o YouTube-DL

Atualmente, muitas plataformas de compartilhamento de vídeo existem online. Alguns são realmente populares, como o YouTube, e outros são um pouco mais "obscuros". Diferentes tipos de conteúdo podem ser encontrados nessas plataformas, mas nem sempre é possível baixá -las através da interface da web nativa. Neste tutorial, veremos como usar um pequeno utilitário de linha de comando: YouTube-dl. Este utilitário de linha de comando é capaz de baixar vídeos referidos para nós usando uma sintaxe muito simples. O seguinte tutorial visa demonstrar os recursos do programa, no entanto, ele deve ser usado apenas quando apropriado, a fim de respeitar as leis de direitos autorais.

Neste tutorial, você aprenderá:

  • Como instalar o YouTube-DL
  • Como baixar vídeos usando o youtube-dl
  • Como listar os formatos disponíveis para um vídeo
  • Como baixar um formato específico
  • Como transmitir um vídeo diretamente para um mídia player
  • Como salvar arquivos baixados usando padrões de modelo
  • Como especificar opções no arquivo de configuração do YouTube-DL
Como baixar vídeos on-line da linha de comando usando YouTube-DL

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Distribuição Independente
Programas YouTube-dl
Outro Nenhum
Convenções # - requer que os comandos linux -comidos sejam executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$-exige que o Linux-Commands seja executado como um usuário não privilegiado regular

Instalação

YouTube-DL é um pequeno utilitário de linha de comando escrito em Python. O software suporta muitas plataformas de compartilhamento de vídeo on -line (aqui está a lista completa de sites suportados) e está disponível no repositório das distribuições Linux mais usadas, como Fedora, Debian (e seus derivados) e Archlinux. Instalá -lo é apenas uma questão de invocar o gerente de pacotes de nossa distro favorita. No Fedora, por exemplo, nós executaríamos:

$ sudo dnf install youtube-dl 

Em Debian, em vez disso, executaríamos o seguinte comando:

$ sudo apt-get update && sudo apt-get install youtube-dl 

No Archlinux, o pacote está contido no comunidade repositório. Para instalá -lo via Pacman nós funcionaríamos:

$ sudo pacman -sy youtube -dl 

Ser um software desenvolvido no Python também é possível obtê -lo através do gerenciador de pacote de idiomas de programação, pip. Para instalar o aplicativo apenas para o usuário atual, por exemplo, poderíamos executar o seguinte comando (nenhum privilégio administrativo necessário):

$ pip install youtube-dl --user 

Uso básico

Usar o YouTube-DL é muito simples. Sua sintaxe básica é a seguinte:

URL do YouTube-DL [Opções] 


Diga por exemplo, queremos baixar um vídeo do Air Mozilla plataforma. Tudo o que precisamos fazer é invocar o programa e passar no URL do vídeo como argumento:

$ youtube-dl https: // mozilla.hospedado.Panopto.com/Panopto/Páginas/Visualizador.ASPX?id = ef87c31e-b5b9-45a7-99ad-ACA801514379 [genérico] Visualizador: solicitando aviso de cabeçalho: recorrendo ao extrator de informações genéricas. [genérico] Visualizador: Download da página da web [genérico] Visualizador: Extraindo informações [Download] Destino:/Home/Egdoc/Videos/The Joy of Coding - Episódio 237 - 13 de janeiro de 2021.MP4 [Download] 100% de 1.84GIB em 06:08 

Depois de lançar o comando acima, devemos encontrar o arquivo de vídeo dentro do nosso diretório de trabalho.

Listando os formatos de vídeo disponíveis

Por padrão, YouTube-DL, tenta baixar o melhor formato disponível para o vídeo especificado. Em alguns casos, no entanto, podemos querer obter a lista de todos os disponíveis. Tudo o que precisamos fazer para realizar a referida tarefa é invocar o aplicativo com o -F opção, (abreviação de --Formatos de lista). Vamos ver um exemplo usando um URL do YouTube (o vídeo
é do LinuxConfig.canal org):

$ youtube -dl -f https: // www.YouTube.com/relógio?v=IyOcjK3pa4w [youtube] IyOcjK3pa4w: Downloading webpage [youtube] IyOcjK3pa4w: Downloading MPD manifest [info] Available formats for IyOcjK3pa4w: format code extension resolution note 251 webm audio only DASH audio 3k , webm_dash container, opus @160k (48000Hz) 139 m4a Audio apenas DASH AUDIO 49K, M4A_DASH Container, MP4A.40.5@ 48K (22050HZ) 140 M4A Audio apenas DASS AUDIO 130K, M4A_DASH Container, MP4A.40.2@128K (44100HZ) 134 MP4 570X360 DASH VÍDEO 15K, MP4_DASH Container, AVC1.4d401e, 30fps, vídeo apenas 136 mp4 1142x720 DASH VÍDEO 54K, MP4_DASH Container, AVC1.64001f, 30fps, apenas vídeo 278 webm 228x144 Dash Video 95K, WebM_Dash Container, VP9, ​​30fps, Vídeo apenas 160 MP4 228X144 DASH VÍDEO 108K, MP4_DASH Container, AVC1.4D400B, 30FPS, VÍDEO SOMENTE 242 WEBM 380X240 DASH VÍDEO 220K, WEBM_DASH CONTENTIMENTO, VP9, ​​30FPS, VÍDEO APENAS 133 MP4.4D400C, 30FPS, VÍDEO SOMENTE 243 WEBM 570X360 DASH VÍDEO 405K, WEBM_DASH Container, VP9, ​​30fps, Vídeo Somente 244 WebM 760x480 DASH VÍDEO 752K, WEBM_DASH Container, VP9, ​​30FPS, Vídeo apenas 135 MP4 760X480.4d400a, 30fps, apenas vídeo 247 webm 1142x720 traço de vídeo 1505k, webm_dash contêiner, vp9, 30fps, vídeo apenas 18 mp4 570x360 360p 110k, avc1.42001E, 30FPS, MP4A.40.2@ 96K (44100Hz), 280.25kib 22 mp4 1142x720 720p 169k, avc1.64001f, 30fps, mp4a.40.2@192K (44100Hz) (melhor) 

A saída do comando é muito bem formatada. Podemos identificar facilmente a extensão do vídeo, a resolução de vídeo, a codificação usada e também o tamanho do arquivo.

Como podemos especificar o formato que queremos baixar? Tudo o que precisamos fazer é invocar YouTube-dl novamente, mas desta vez nós o -f opção (minúsculas), que é o curta para --formatar, e faça referência ao formato que queremos baixar, fornecendo o Código de formato relatado na primeira coluna da saída acima como seu argumento. Diga, por exemplo, queremos baixar o 570x360 versão do vídeo, com o MP4 extensão; nós funcionaríamos:

$ youtube -dl -f 18 https: // www.YouTube.com/relógio?v = iyocjk3pa4w [youtube] iyocjk3pa4w: download da página da web [youtube] iyocjk3pa4w: baixando o manifesto do mpd [download] Destino: mensagem de impressão na tela usando tubo de nome e shell bash - exemplo 01 -iyocjk3pa4w.MP4 [Download] 100% de 280.25kib em 00:00 

Também é possível baixar todos os formatos disponíveis, invocando o YouTube-DL com o --todos os formatos opções ou instrua o aplicativo para preferir formatos livres usando --Prefere-Free-Formats.

Obtendo apenas a faixa de áudio

Às vezes, podemos querer obter apenas a faixa de áudio para a fonte de vídeo especificada. Nesses casos, podemos fazer duas coisas: a primeira é baixar o formato apenas de áudio, se disponível. Mantendo a saída do exemplo anterior, para baixar o Opus Faixa de áudio, nós funcionaríamos:

$ youtube -dl -f 251 https: // www.YouTube.com/relógio?v = iyocjk3pa4w 

A segunda solução mais geral é extrair o áudio da faixa de vídeo. Para realizar a referida operação, temos que invocar o YouTube-DL com o -x opção (--Extrato-Audio). Para que a extração funcione corretamente, devemos ter ffmpeg e ffProbe (ou AvConv e Avprobe) instalado em nosso sistema. Para extrair o áudio para o URL que estamos usando como exemplo que executaríamos:

$ youtube -dl -x https: // www.YouTube.com/relógio?v = iyocjk3pa4w 


E se quisermos especificar o formato de áudio para a faixa extraída? Tudo o que precisamos fazer é usar o --Formato de áudio opção. Esta opção tem sentido apenas se usado com -x. Podemos escolher o formato de áudio entre: "Melhor" (o padrão), "AAC", "FLAC", "MP3", "M4A", "Opus", "Vorbis", "WAV". Para obter um arquivo "FLAC", por exemplo, nós executaríamos:

$ youtube-dl -x --audio-format flac https: // www.YouTube.com/relógio?v = iyocjk3pa4w 

Quando usamos o -x opção, o arquivo de vídeo é baixado e a conversão é executada para obter a faixa de áudio. Depois que a conversão é feita, o arquivo de vídeo é removido automaticamente. Caso queremos mantê -lo, podemos usar o -k opção (abreviação de --Keep-video).

Transmita um vídeo diretamente para um mídia player

Outro recurso muito bom do YouTube-DL é a capacidade de transmitir um vídeo diretamente para um media player especificado. Tudo o que precisamos fazer para alcançar a funcionalidade é instruir o YouTube-DL a transmitir mídia para stdout (saída padrão) e de invocar um media player capaz de ler stdin (entrada padrão). Podemos usar um tubo de casca para executar a operação. Supondo que estamos usando Vlc, nós funcionaríamos:

$ youtube -dl -o -https: // www.YouTube.com/relógio?v = iyocjk3pa4w | Vlc - 

Se tudo correr como o esperado, o player de vídeo será lançado e o vídeo especificado será transmitido após um pequeno tempo de buffer.

Salvando vídeos em um diretório específico

Quando baixamos um arquivo, podemos precisar especificar um diretório onde ele deve ser baixado, que não é o nosso diretório de trabalho atual. Para executar essa operação, podemos usar o -o opção. Por exemplo, para baixar o arquivo no ~/Vídeos Diretório que poderíamos executar:

$ youtube -dl -o '~/videos/%(título) s.%(ext) s 'https: // mozilla.hospedado.Panopto.com/Panopto/Páginas/Visualizador.ASPX?ID = ef87C31E-B5B9-45A7-99Ad-ACA801514379 

Vamos ver o que fizemos no exemplo acima. O -o Opção Vamos especificar uma espécie de sistema "modelo" para especificar como salvar um arquivo baixado. Em nosso exemplo, especificamos que o arquivo deve ser baixado dentro do ~/Vídeo Diretório e o arquivo devem receber o nome do título do vídeo seguido de um ponto e pela extensão do vídeo. Cada elemento do modelo deve ser especificado por um símbolo percentual (%) seguido pelo elemento entre parênteses e por operações de formatação: neste caso, usamos um s Então, instruímos a formatar os elementos como uma string. Nesse caso, o arquivo será salvo como:

'/Home/Egdoc/Videos/The Joy of Coding - Episódio 237 - 13 de janeiro de 2021.mp4 ' 

Existem vários elementos que podem ser usados ​​para construir um nome de arquivo. Alguns exemplos:

Nomes Significado
eu ia Identificador do vídeo
título O título do vídeo
ext A extensão do nome do arquivo de vídeo
uploader O nome do upload de vídeo
canal O nome do canal que hospeda o vídeo


Usando o arquivo de configuração

Em vez de especificar as opções desejadas cada vez que invocamos o YouTube-DL, podemos defini-las uma vez dentro de seu arquivo de configuração, para que sejam usadas automaticamente. YouTube-DL procura um arquivo de configuração em todo o sistema em /etc/youtube-dl.conf, e para um arquivo por usuário em ~/.Config/YouTube-DL.conf. Os arquivos podem não existir por padrão, então podemos precisar criá -los.

Dentro do arquivo, as linhas começando com um # Símbolo são considerados comentários, e as opções desejadas devem ser especificadas uma por linha. Por exemplo, para sempre adotar o padrão de download que usamos no exemplo anterior, dentro do arquivo de configuração, poderíamos simplesmente escrever:

# Download usando o padrão especificado -o '~/videos/%(title) s.%(ext) s ' 

Conclusões

Neste tutorial, aprendemos o uso básico do utilitário de linha de comando do YouTube-DL. O programa pode ser usado para baixar vídeos de várias plataformas de compartilhamento de vídeo. Vimos como instalá -lo usando os gerentes de pacotes das distribuições Linux mais usadas e via pip. Vimos como baixar um vídeo, como listar todos os formatos disponíveis e como instruir o aplicativo para baixar um específico. Também vimos como transmitir um vídeo diretamente para um media player e como baixá -lo e salvá -lo usando uma série de elementos de modelo. Novamente, uma coisa muito importante a lembrar é que o aplicativo deve ser usado apenas para baixar vídeos onde permitidos, para não infringir nenhuma lei de direitos autorais.

Tutoriais do Linux relacionados:

  • Melhor software de edição de vídeo no Linux
  • Como obter e alterar os metadados de vídeo no Linux
  • Coisas para instalar no Ubuntu 20.04
  • yt-dlp vs youtube-dl
  • Melhor player de vídeo para Linux
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Comandos básicos do Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • VIM Editor básico no Linux