youtube-dl está sendo executado em segundo plano, mas ainda está enviando saída para seu terminal e produzindo bastante para informar sobre seu progresso. Existem várias maneiras de mudar isso, mas você provavelmente quer fazer youtube-dl produzir menos saída, ou fazer com que sua saída seja enviada para um arquivo (ou descartada por completo) em vez de aparecendo no seu terminal.
Caminho 1: execute youtube-dl -q para suprimir mensagens de status.
Se você não quiser ver as mensagens de progresso, pode passar o -q flag (ou --quiet , que faz a mesma coisa) para o comando youtube-dl :
youtube-dl -q https://www.youtube.com/watch?v=NZ-ElsvYKyo &
Você teria que substituir esse URL com o que estiver tentando baixar, é claro. Algumas mensagens ainda podem ser impressas, incluindo erros e avisos. Mas é provável que você queira ver isso.
Se você não quiser que youtube-dl produza nenhum aviso, poderá executar youtube-dl com o sinalizador --no-warnings . Eu não sugiro fazer isso, a menos que você tenha certeza de que é o que você quer.
youtube-dl -q --no-warnings https://www.youtube.com/watch?v=NZ-ElsvYKyo &
Para saber mais sobre as opções de linha de comando aceitas por youtube-dl , você pode executar man youtube-dl ou leia a página de manual on-line .
Caminho 2: redireciona a saída padrão de youtube-dl para um arquivo.
Para anexar a saída a dl.log no diretório atual (você pode nomear o que quiser e ela será criada se ela ainda não existir), execute:
youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo >> dl.log &
Se você quiser substituir dl.log em vez de anexar texto ao final, use > em vez de >> :
youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo > dl.log &
A saída normal será então redirecionada para dl.log (ou qualquer outro arquivo que você disser para usar). A saída de erro, no entanto, ainda será mostrada no seu terminal. Por exemplo, quando eu executei esse comando, recebi um aviso impresso no meu terminal:
ek@Io:~$ youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo >> dl.log &
[1] 14456
ek@Io:~$ WARNING: Requested formats are incompatible for merge and will be merged into mkv
Tudo o mais entrou no arquivo de log:
ek@Io:~$ cat dl.log
[youtube] NZ-ElsvYKyo: Downloading webpage
[youtube] NZ-ElsvYKyo: Downloading video info webpage
[youtube] NZ-ElsvYKyo: Extracting video information
[youtube] NZ-ElsvYKyo: Downloading MPD manifest
[download] Destination: Lecture 1 _ Topics in String Theory-NZ-ElsvYKyo.f244.webm
[download] 23.2% of 359.52MiB at 204.49KiB/s ETA 23:02ek@Io:~$
Você pode ver a saída com cat (como eu fiz acima) a qualquer momento, para verificar o progresso.
Quando você executa youtube-dl sem -q , ele produz a saída destinada principalmente a um terminal. Esta saída inclui caracteres de controle que informam ao terminal para apagar a mensagem de progresso anterior, para que possa ser visualmente substituída pela nova mensagem de progresso. Algumas formas de visualizar o arquivo, como cat dl.log , não mostrarão as mensagens "apagadas" ou os caracteres de controle. Eles ainda são parte do arquivo, e você pode visualizá-los com alguns outros utilitários; por exemplo, view dl.log funciona.
Caminho 2a: redireciona a saída para /dev/null para se livrar dela.
Se você deseja que a saída seja descartada em vez de ser salva em um arquivo real, é possível redirecioná-la para /dev/null :
youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo > /dev/null &
Com /dev/null , não importa se você "sobrescreve" ( > ) ou "anexa" ( >> ).
Esta é uma técnica útil em geral, embora provavelmente desnecessária com youtube-dl . Se você quiser suprimir o progresso, basta executar youtube-dl -q .
Caminho 3: Redirecione o erro padrão também.
Produção regular e saída de erros é separada. É comum que youtube-dl produza ambos. O método acima redirecionou apenas a saída padrão. Você também pode redirecionar o erro padrão. Há muito o que fazer com o redirecionamento, incluindo o redirecionamento dos dois fluxos de saída para arquivos separados. Para nossos propósitos aqui, mostrarei como enviar a saída padrão e o erro padrão para o mesmo arquivo:
youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo &>> dl.log &
Quando eu corri isso, meu shell mostrou apenas
[2] 15009
... e a saída regular e a saída de erro apareceram em dl.log :
ek@Io:~$ cat dl.log
[youtube] NZ-ElsvYKyo: Downloading webpage
[youtube] NZ-ElsvYKyo: Downloading video info webpage
[youtube] NZ-ElsvYKyo: Extracting video information
[youtube] NZ-ElsvYKyo: Downloading MPD manifest
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: Lecture 1 _ Topics in String Theory-NZ-ElsvYKyo.f244.webm
[download] 0.0% of 359.52MiB at 107.65KiB/s ETA 56:59ek@Io:~$
O exemplo acima usou &>> , que é anexado a dl.log . Para sobrescrever o arquivo, use &> (ou >& , que também funciona) em vez de &>> :
youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo &> dl.log &
Caminho 3a: redireciona a saída normal e de erro para /dev/null .
Se você realmente quiser, pode redirecionar a saída padrão e o erro padrão para /dev/null , de modo que tudo seja descartado:
youtube-dl https://www.youtube.com/watch?v=NZ-ElsvYKyo &> /dev/null &
Você provavelmente quer ver mensagens de erro reais, no entanto. Se forem apenas mensagens de status e avisos que você não deseja, não será necessário redirecionamento. Nesse caso, você pode usar youtube-dl -q --no-warnings conforme descrito acima. (Veja o caminho 1.)