configure o destino do youtube-dl para ~ / Downloads

6

Como faço youtube-dlpara configurar o download padrão para ~ / Downloads em vez da pasta inicial?

Sebastian Semmler
fonte
Esta questão não é específica para o OS X. O youtube-dl é praticamente uma aplicação multi-plataforma. Eu acho que deve ser movido para Superusuário.
Sarge Borsch

Respostas:

12

youtube-dl Arquivo de configuração

Para definir um local de download padrão, crie um youtube-dl arquivo de configuração em:

~/.config/youtube-dl/config

Dentro desse arquivo, digite a linha:

-o ~/Downloads/%(title)s-%(id)s.%(ext)s

Você pode criar este arquivo usando os dois comandos a seguir:

mkdir -p ~/.config/youtube-dl/
echo "-o ~/Downloads/%(title)s-%(id)s.%(ext)s" > ~/.config/youtube-dl/config

O primeiro comando mkdircria as pastas que levam ao arquivo de configuração. O segundo comando echograva a opção de saída no arquivo.

As opções definidas no seu arquivo de configuração são aplicadas a todas as chamadas youtube-dl. Use a --ignore-configopção para desativar a leitura do arquivo de configuração.

Graham Miln
fonte
1
Eu gosto de solução de grahams melhor do que a minha para uso com o youtube-dl. Minha versão funciona para todos os aplicativos, no entanto.
Max Ried
1
Obrigado! Essa é a solução. Mas agora estou recebendo o mkv ao invés de arquivos mp4.
Sebastian Semmler
1
Adicione a seguinte linha ao seu arquivo de configuração para solicitar arquivos mp4 ou ter o youtube-dl convert após baixar para mp4:--format mp4
Graham Miln
2

Não há como configurar uma pasta padrão. Em vez disso, você deve anexar a opção -otodas as vezes.

 -o ~/Downloads/%(title)s-%(id)s.%(ext)s
  • %(title)s-%(id)s.%(ext)s é o formato de nome de arquivo padrão para cada download.
jherran
fonte
2

Não faz o download para sua casa, mas para o diretório de trabalho atual. Altere-o antes de baixar. Se você estiver usando bash, você pode querer criar uma função em sua .bashrcassim:

function youtube-dl ()
{
    cd ~/Downloads/ && {
        `which youtube-dl` "$@"
        cd - > /dev/null
    }
}

Isso altera o diretório de trabalho para a pasta Downloads em sua casa, executa o original youtube-dlcom os argumentos de linha de comando que você passou para a função e, em seguida, altera o diretório de volta.

Você também pode querer dar uma olhada nisso: Como eu executo um programa com um diretório de trabalho diferente do atual, do shell do Linux? como isso também se aplica ao OS X.

Max Ried
fonte
Você testou se a which youtube-dlpeça funciona? Isso não se expande para a função uma vez que a função é definida?
nohillside
1
Não. As funções não estão no escopo de which. Que procura no PATH. Eu também testei o script algumas vezes;)
Max Ried
2
Para expandir as funções por nome, use typedef -Fou-f
Max Ried
Hmm, whiché aliased para type -paqui que não retorna nada se type -tnão retornasse file(o que é não como é uma função agora). Ótimo se funciona no seu caso, estranho mesmo assim.
nohillside
whichs manpage afirma o seguinte: "localizar um arquivo de programa no caminho do usuário". which whichtambém retorna um executável em PATH. alias whichnão retorna nada para mim, nem na velha versão do OS X lançada nem em uma versão atual. Além disso, como youtube-dlpode levar mais de um argumento, eu intencionalmente não adicionei aspas ao redor $@.
Max Ried