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 17:18:58 -0200

Só pra exemplificar melhor a forma que (acho que) vais usar:

---------- 8< ----------

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

for carne in maminha picanha alcatre frango; do
   trazqueeuasso $carne
done

---------- 8< ----------

Vlw

Valtoir

Em 24 de dezembro de 2011 14:21, Julio C. Neves <address@hidden>escreveu:

> Fala Rodolpho,
> qq material produzido pelo Verde é de excelente qualidade.
>
> Para aprender sobre o geopts, aqui tem tudo mastigado e
> exemplificado<
> http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo010#Comando_getopts>.
> Na mesma publicação e estilo, aqui tem tudo sobre
> funções<http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo008#Fun_es>
> .
>
> Abcs,
> Julio
> *Já foi lançado "Bombando o
> Shell<
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> >
> ". *
> *Show **de interfaces gráficas sob Shell!*
> *
> *
>
>
>
> 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]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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]