shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Script para youtube-dl e ffmpeg


From: Valtoir
Subject: Re: [shell-script] Script para youtube-dl e ffmpeg
Date: Sat, 24 Dec 2011 13:13:16 -0200

A função recebe os parâmetros da mesma forma que scripts, por exemplo:

--------------
trazqueeuasso(){
   echo "saindo um espeto de $1"
}

trazqueeuasso maminha
----------


Não comprei nenhum livro de shell até hoje, mas garanto que os livros do
Aurélio e do Júlio são excelentes.

Um abraço, e feliz natal a todos.

Valtoir

Em 24 de dezembro de 2011 12:40, Rodolpho Costa Stach
<address@hidden>escreveu:

> **
>
>
> Valtoir obrigado eu não conhecia o getopts, estou olhando como usá-lo e
> depois posto como ficou, sobre criar só uma função eu não sei ainda como
> passo argumentos para a função, tentei pesquisar mas não entendi ainda
> como funciona só testando em um código que eu conheça para entender.
>
> Pergunta: Estou interessado em comprar o livro do Aurélio Marinho sobre
> Shell é um bom investimento?
>
> Em 23-12-2011 10:17, Valtoir escreveu:
>
> > Retificando o e-mail anterior: que tal criar uma função só pra parte
> > "baixar, converter, etc", e passar a essa função a url, seja a partir de
> um
> > parâmetro ou da leitura do arquivo?
> >
> > Quanto à validação de erros, coloque no início do script, uma vez só ;-)
> >
> > T+
> >
> > Valtoir
> >
> > Em 23 de dezembro de 2011 10:07, Valtoir<address@hidden>
> escreveu:
> >
> >> Aqui o script funcionou, mas tenho algumas dicas:
> >>
> >> - ao invés de esperar que a opção --file seja $1, use getopts. Com isso
> >> podes eliminar também as variáveis ENT e FILE
> >> - antes de enviar as mensagens de erro, rode um "setterm -store", e
> após a
> >> exibição, "setterm -default". Não é educado deixar sujeira na tela do
> >> usuário.
> >> - utilize a opção "-e" do youtube-dl para salvar o arquivo final com o
> >> mesmo nome do título do vídeo
> >>
> >> Olhando agora, rapidamente, acho que a primeira dica (getopts) serve
> >> inclusive pra evitar o uso de funções. Dá pra diminuir bastante o
> tamanho
> >> do script.
> >>
> >> T+
> >>
> >> Valtoir
> >>
> >> Em 23 de dezembro de 2011 08:29, Rodolpho Costa Stach<address@hidden
> >escreveu:
> >>
> >> **
>
> >>>
> >>> Bom dia à todos, estou tentando escrever um script para usar o
> >>> youtube-dl (que baixa vídeos do youtube para o PC) e o ffmpeg (que uso
> >>> para extrair uma mp3 do vídeo) mas ao tentar usar o while para ler um
> >>> arquivo linha a linha ele le apenas uma linha e sai... rsrsr provável
> >>> ser uma coisa bem simples que deixei passar mas já cheguei num ponto
> que
> >>> leio leio leio e não vejo...
> >>>
> >>> ## Script para baixar MP3 do youtube!
> >>> # Autor: Rodolpho
> >>> ## Variáveis
> >>> # YOU é o caminho para o executável do youtube-dl
> >>> # FF é o caminho para o executável do ffmpeg
> >>> # ENT é a primeira entrada do usuário
> >>> # FILE é a segunda entrada do usuário (soh funciona quando tem a opcao
> >>> --file
> >>> ## Funções
> >>> # baixalinha() é para quando o usuário informa a URL junto ao programa
> >>> # baixafile() é para ler um arquivo de texto simples com os links
> >>> ##
> >>>
> >>> #!/bin/bash
> >>> YOU=/usr/bin/youtube-dl
> >>> FF="/usr/bin/ffmpeg -i"
> >>> ENT=$1
> >>> FILE=$2
> >>>
> >>> baixalinha(){
> >>> #Testa se não foi informado algum parâmetro para download
> >>> if [ -z "$ENT" ]; then
> >>> #exibe mensagem de erro
> >>> echo -e "\e[41;37;1m Erro:"
> >>> echo -e "\e[40;37;1mPreciso da URL do vídeo para a baixar"
> >>> echo -e "\e[40;37mUse $0 URL"
> >>> echo "Ex:"
> >>> echo -e "\e[40;37m $0 http://www.youtube.com/watch?v=J3WZ2b7V_7c";
> >>> echo -e "\e[40;37m ou"
> >>> echo -e "\e[40;37m $0 --file lista.txt"
> >>> echo " "
> >>> #exibe mensagem de erro e sai
> >>> exit
> >>> else
> >>> echo Baixando o vídeo
> >>> $YOU $ENT> /tmp/logYOU.log
> >>> VIDEO=`cat /tmp/logYOU.log|grep Destination|cut -d: -f2`
> >>> echo convertendo para MP3 com o nome $VIDEO.mp3
> >>> $FF $VIDEO $VIDEO.mp3
> >>> echo "Apagando o arquivo de vídeo"
> >>> rm $VIDEO
> >>> fi
> >>> }
> >>>
> >>> baixafile(){
> >>>
> >>> if [ -z "$FILE" ]; then
> >>> #exibe mensagem de erro
> >>> echo -e "\e[41;37;1m Erro:"
> >>> echo -e "\e[40;37;1mPreciso da URL do vídeo para a baixar"
> >>> echo -e "\e[40;37mUse $0 URL"
> >>> echo "Ex:"
> >>> echo -e "\e[40;37m $0 --file lista.txt"
> >>> echo " "
> >>> #exibe mensagem de erro e sai
> >>> exit
> >>> else
> >>> while read link
> >>> do
> >>> echo Baixando o vídeo de $link da lista $FILE
> >>> $YOU $link> /tmp/logYOU.log
> >>> VIDEO=`cat /tmp/logYOU.log|grep Destination|cut -d: -f2`
> >>> echo convertendo para MP3 com o nome $VIDEO.mp3 o video $link
> >>> $FF $VIDEO $VIDEO.mp3 2> .erroFF
> >>>
> >>> echo "Apagando o arquivo de vídeo $VIDEO de $link"
> >>> rm $VIDEO
> >>>
> >>> done< $FILE
> >>> fi
> >>> }
> >>>
> >>> case $1 in
> >>> --file) baixafile;;
> >>> *) baixalinha
> >>> esac
> >>>
> >>>
> >>>
> >>
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
>
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]