Autor Tópico: SoundConvert não funciona: GStreamer error when creating pipeline  (Lida 3525 vezes)

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
SoundConvert não funciona: GStreamer error when creating pipeline
« Online: 20 de Dezembro de 2011, 08:30 »
Amigos, bom dia!

Instalei um programa ontem chamado Mobile Media Converter.

Não sei se é isso, mas fui usar hoje cedo outro programa, o Conversor de Som (SoundConverter) pra converter de .wma para .mp3 e apareceu o seguinte:
Citar
GStreamer error when creating pipeline | não foi possível ligar audioconvert 5 a lame2

Que será isso? :o

Abraços!
« Última modificação: 20 de Dezembro de 2011, 22:23 por eaxgrande »
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #1 Online: 20 de Dezembro de 2011, 10:05 »
Pessoal,

Fiz uma pesquisa na internet e descobri que esse problema com o SoundConverter já aconteceu antes...

Mas não parece lá muito fácil de se resolver...

Normalmente eu ficaria interessado em resolver esse tipo de problema, mas estou sem tempo.

Assim, desinstalei o SoundConverter e passei a usar uma solução muuuuito mais simples:
Citar
$ ffmpeg -i infile.wma outfile.mp3

De um jeito diferente, é verdade...

Mas, problema resolvido, por ora.

Abraços!
« Última modificação: 20 de Dezembro de 2011, 22:23 por eaxgrande »
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline niquelnausea

  • Usuário Ubuntu
  • *
  • Mensagens: 967
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #2 Online: 20 de Dezembro de 2011, 12:56 »
testou o lame? em alguns testes que fiz a qualidade do lamen foi superiro ao do ffmpeg.

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #3 Online: 20 de Dezembro de 2011, 16:57 »
Olá, niquelnausea

Ainda não sei o que é lame. Vou pesquisar sobre o assunto pra entender o que ele tem a ver com o sounconverter.

O que você recomenda? Devo reinstalar o soundconverter?

Abraço!
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #4 Online: 20 de Dezembro de 2011, 16:59 »
Ah, não! Desculpa! Putz...

O lame é uma alternativa ao ffmpeg em terminal também?

Pesquisando ;D
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #5 Online: 20 de Dezembro de 2011, 17:24 »
Boiei...

Pelo pouco que lí, o lame não parece um concorrente do ffmpeg.

Esta mais pra uma biblioteca pra decodificar .mp3 (algo a ser usado no funcionamento do SoundConverter?)

E agora?
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline niquelnausea

  • Usuário Ubuntu
  • *
  • Mensagens: 967
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #6 Online: 20 de Dezembro de 2011, 20:29 »
Boiei...

Pelo pouco que lí, o lame não parece um concorrente do ffmpeg.

Esta mais pra uma biblioteca pra decodificar .mp3 (algo a ser usado no funcionamento do SoundConverter?)

E agora?
o lame é um codificador (LAME Ain't an MP3 Encoder), de uma olhada aqui e aqui. não sei se ele reconhece arquivos em wma, mas vale fazer o teste. algum tempo atraz copiei um script para me ajudar com meu acervo de musicas, veja se pode aproveitar
Código: [Selecionar]
#!/bin/bash
#codificacao=$(zenity --entry --text "Digite o tipo de codificação:\ndigite -b para cbr (taxa de bits constante)\ndigite --abr para abr (taxa de bits media)\ndigite -V para vbr (taxa de bits variavel)\n"); echo $codificacao
#bitrate=$(zenity --entry --text "Digite o valor do bitratre:\ndigite 32, 64, 128, 160, 192, 224 ou 320 para cbr ou abr\ne de 0 a 9 para vbr, 0 melhor e 9 pior\n"); echo $bitrate
#freq=$(zenity --entry --text "Digite o valor da frequencia:\n32, 44.1 ou 48\npadrão 44.1\n"); echo $freq
for musica in *.{mp3,MP3}
do lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO "$musica" "nova-$musica"
done
link para download http://db.tt/QotcXiKu

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #7 Online: 20 de Dezembro de 2011, 21:53 »
he, he,

Citando a wikipédia
Citar
(...)é um codificador (codec) de MPEG Audio Layer III (MP3) que pode ser usado com a maioria dos programas que convertem arquivos WAV em arquivos MP3 ou a partir de outros formatos ou suportes.

Quanto ao script:
Citar
#!/bin/bash
#codificacao=$(zenity --entry --text "Digite o tipo de codificação:\ndigite -b para cbr (taxa de bits constante)\ndigite --abr para abr (taxa de bits media)\ndigite -V para vbr (taxa de bits variavel)\n"); echo $codificacao
#bitrate=$(zenity --entry --text "Digite o valor do bitratre:\ndigite 32, 64, 128, 160, 192, 224 ou 320 para cbr ou abr\ne de 0 a 9 para vbr, 0 melhor e 9 pior\n"); echo $bitrate
#freq=$(zenity --entry --text "Digite o valor da frequencia:\n32, 44.1 ou 48\npadrão 44.1\n"); echo $freq
for musica in *.{mp3,MP3}
do lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO "$musica" "nova-$musica"
done

Fiz uma idéia aproximada de pra quê ele serve. Mas como se usa isso? Abre no terminal, preenche as variáveis e aponta a entrada-saida "$musica" "nova-$musica"? É assim mesmo?



Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #8 Online: 20 de Dezembro de 2011, 22:15 »
Estou tentando "deduzir" como se completa aqui:
Citar
#!/bin/bash

$(zenity --entry --text "taxa de bits constante\n -b\n");echo $codificação

$(zenity --entry --text "192\n"); echo $bitrate

$(zenity --entry --text "48\n"); echo $freq

for musica in /home/eaxgrande/desktop/"música.mp3"

do lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO

"$musica.wma" "$musica.mp3"

done

Essa é a idéia? Estou no caminho certo?
« Última modificação: 20 de Dezembro de 2011, 22:21 por eaxgrande »
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline niquelnausea

  • Usuário Ubuntu
  • *
  • Mensagens: 967
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #9 Online: 20 de Dezembro de 2011, 22:59 »
o script foi só um exemplo, a única parte que interessa é essa: digite no terminal "for musica in *.{mp3,MP3} ; do lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO "$musica" "nova-$musica" ; done" o resto é firula (para ser usado os menus deve ser retirado os # e criado um arquivo com o conteúdo e com a extensão .sh além de dar permissão de execução), mas vamos ao que interessa
http://www.vivaolinux.com.br/dica/Convertendo-wma-para-mp3
http://ocaoimh.ie/2005/08/16/how-to-convert-from-wma-to-mp3/

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #10 Online: 21 de Dezembro de 2011, 00:41 »
Ah, entendi!

Nunca fiz nada que precisasse linkar um dos "paths" do sistema. Boa oportunidade!

Também vou testar esse Music Converter.

Posto os resultados aqui. Se der tudo certo, já posto como "solucionado"

Obrigado, niquelnausea. Valeu!

Grande abraço!
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline eaxgrande

  • Usuário Ubuntu
  • *
  • Mensagens: 514
  • "Todo homem, por natureza, quer saber"
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #11 Online: 22 de Dezembro de 2011, 23:51 »
Olá, niquelnausea

Estou tentando aprender aqui...

Usei o seu script (renomeado em /usr/bin como"mp3convert") e o script disponibilizado aqui:http://www.vivaolinux.com.br/dica/Convertendo-wma-para-mp3 (renomeado em /usr/bin como "mp3convert2)

Gostei do que vi e agora entendi completamente o propósito deles.

No entanto ainda apresentam mensagens de erro que não compreendo.

O seu script não funcionou:
Citar
eaxgrande@Lucid64Bits:~/Área de Trabalho$ mp3convert
-b
128
44.1
Could not find "*.mp3".
Could not find "*.MP3".
eaxgrande@Lucid64Bits:~/Área de Trabalho$ mp3convert musica.teste.wma
-b
128
44.1
Could not find "*.mp3".
Could not find "*.MP3".
eaxgrande@Lucid64Bits:~/Área de Trabalho$

O script do site VivaoLinux funciona, só que não mantem o arquivo original - converte pra mp3 mesmo e apresenta as mensagens abaixo:

Citar
eaxgrande@Lucid64Bits:~/Área de Trabalho$ mp3convert2
mv: "musica.teste.wma" e "musica.teste.wma" são o mesmo arquivo
mv: "musica.teste.wma" e "musica.teste.wma" são o mesmo arquivo
-waveheader has been removed. Use -ao pcm:waveheader instead.
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
rm: não foi possível remover "audiodump.wav": Arquivo ou diretório não encontrado

eaxgrande@Lucid64Bits:~/Área de Trabalho$ mp3convert2 musica.teste.wma
mv: "musica.teste.wma" e "musica.teste.wma" são o mesmo arquivo
mv: "musica.teste.wma" e "musica.teste.wma" são o mesmo arquivo
-waveheader has been removed. Use -ao pcm:waveheader instead.
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
rm: não foi possível remover "audiodump.wav": Arquivo ou diretório não encontrado
eaxgrande@Lucid64Bits:~/Área de Trabalho$

Você sabe me explicar o porquê do não funcionamento de um e funcionamento "radical" do outro?

O que significam as mensagens de erro?

No seu script, seria alguma falha aqui?
Citar
#!/bin/bash
#codificacao=$(zenity --entry --text "Digite o tipo de codificação:\ndigite -b para cbr (taxa de bits constante)\ndigite --abr para abr (taxa de bits media)\ndigite -V para vbr (taxa de bits variavel)\n"); echo $codificacao
#bitrate=$(zenity --entry --text "Digite o valor do bitratre:\ndigite 32, 64, 128, 160, 192, 224 ou 320 para cbr ou abr\ne de 0 a 9 para vbr, 0 melhor e 9 pior\n"); echo $bitrate
#freq=$(zenity --entry --text "Digite o valor da frequencia:\n32, 44.1 ou 48\npadrão 44.1\n"); echo $freq
for musica in *.{mp3,MP3}
do lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO "$musica" "nova-$musica"
done

Por que as opções em janelas, para codificação, bitrate e freq , se no fim, os parâmetros estão engessados nisso?
Citar
--abr 128 -q 0 -c -p -m a --resample 44.1

No outro script, seria algo aqui?
Citar
#!/bin/bash

current_directory=$( pwd )
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
for i in *.[Ww][Mm][a]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader $i && lame -m s audiodump.wav -o $i; done
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
rm audiodump.wav

Existem referências inválidas?


Obrigado!
« Última modificação: 23 de Dezembro de 2011, 00:17 por eaxgrande »
Ubuntu-Mate 16.04 Xenial
Lubuntu-LXQt 20.04 Focal

Offline niquelnausea

  • Usuário Ubuntu
  • *
  • Mensagens: 967
    • Ver perfil
Re: SoundConvert não funciona: GStreamer error when creating pipeline
« Resposta #12 Online: 24 de Dezembro de 2011, 01:24 »
vamos por partes:
o script que passei para você não funcionou porque ele busca por arquivos com a extensão .mp3 ou .MP3, repare que a sua esta em .wma (esse script foi somente para você ter uma ideia, não para usá-lo realmente)
Código: [Selecionar]
for musica in *.{mp3,MP3}para variável que chamei de musica nos formatos mp3 e MP3

eu defini as configurações para abr com 128k 44.1KHz, essas são as opções que uso como padrão, porem você poderia fixar as seguintes opções:
- -b para constante, -abr para médio e -V para fixo;
- um dos seguintes valores de bitrate para cbr ou abr 32, 64, 128, 160, 192, 224, 320 ou entre 0 e 9 para vbr;
- 32KHz, 44.1KHz ou 48KHz.

o resultado é esse: lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO arquivo_em_mp3 arquivo_em_mp3_novo
explicando a sintaxe: lame é o conversor, --abr 128 a qualidade que desejo. -q 0 -c -p -m a opções diversas, --resample 44.1 para deixa-las com 44.1Khz. voce poderia usar simplesmente um lame -b 192 arquivo_antigo arquivo_novo mas teria que fazer musica por musica.
caso deseje usar uma janela para escolher as opções, basta usar este
Código: [Selecionar]
#!/bin/bash
codificacao=$(zenity --entry --text "Digite o tipo de codificação:\ndigite -b para cbr (taxa de bits constante)\ndigite --abr para abr (taxa de bits media)\ndigite -V para vbr (taxa de bits variavel)\n"); echo $codificacao
bitrate=$(zenity --entry --text "Digite o valor do bitratre:\ndigite 32, 64, 128, 160, 192, 224 ou 320 para cbr ou abr\ne de 0 a 9 para vbr, 0 melhor e 9 pior\n"); echo $bitrate
freq=$(zenity --entry --text "Digite o valor da frequencia:\n32, 44.1 ou 48\npadrão 44.1\n"); echo $freq
for musica in *.{mp3,MP3}
do lame $codificacao $bitrate -q 0 -c -p -m a --resample $freq --strictly-enforce-ISO "$musica" "nova-$musica"
done


quanto ao script do vivaolinux, repare que primeiramente ele converte as letras da extensão para minuscula (.wma)
Código: [Selecionar]
current_directory=$( pwd )
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
for i in *.[Ww][Mm][a]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

depois converte para wav e depois para mp3
Código: [Selecionar]
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader $i && lame -m s audiodump.wav -o $i; done

essa parte não entendi muito bem
Código: [Selecionar]
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done

e essa manda remover o arquivo audiodump.wav
Código: [Selecionar]
rm audiodump.wav

____________________________________________________________________

nos dois scripts não é necessário digitar no terminal "script nome da musica", apenas o script, já que os próprios scripts vão buscar pelos arquivos recursivamente. a parte que realmente importa em ambos são essas
Código: [Selecionar]
lame --abr 128 -q 0 -c -p -m a --resample 44.1 --strictly-enforce-ISO musica_antiga musica_nova
Código: [Selecionar]
mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader musica

acho que me prolonguei um pouco, leia e diga se ficou com alguma duvida.