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.)