Especificando as opções do protocolo icecast no ffmpeg / avconv no Raspbian Lite

0

Sou muito novo nessa coisa do Raspberry Pi 3, mas não tenho medo de me aprofundar em documentos e exemplos. Eu combinei comandos e correções para gravar áudio do dispositivo USB - no final, tentando transmitir diretamente do cartão para o meu servidor Icecast.

Por enquanto, estou apenas tentando descobrir se posso me conectar ao meu servidor Icecast com o programa avconv atual - apenas reproduzindo um pequeno arquivo mp3 local. Neste ponto, estou tentando usar a versão Lite do Raspbian - sem ter que recriar o ffmpeg.

Estou tentando usar as opções do protocolo icecast com a versão instalada do avconv no Raspbian (4.9.2-10)

avconv version is listed as 11.7.6:11.7-1

libavutil 54. 3. 0

Basicamente, preciso enviar as opções ice_name e ice_description , bem como transmitir password via opções do protocolo icecast. Usando avconv , parece que posso enviar um arquivo mp3 para o stream icecast sem erros, mas nada aparece do outro lado.

Um problema pode ser ter que enviar uma senha sem nome de usuário - para que isso não funcione com um nome de usuário nulo na URL. Dito isso, não vi nenhum erro sendo enviado como icecast://:[email protected]

Eu também preciso enviar o nome do stream

Não parece que a minha versão avconv suporta o Icecast protocol options . Em teoria, você pode especificar ice_name password ice_description ice_public

Isso é o que eu tentei sem erro (mas sem transmissão):

avconv -re -i test.mp3 -b:a 128k -legacy_icecast 1 -f mp3 icecast://:[email protected]:443/my-mount-point/url-here

Se eu tentar adicionar a opção de protocolo ice_name,

avconv -re -i test.mp3 -b:a 128k -legacy_icecast 1 -ice_name "My Raspi Stream" -f mp3 icecast://:[email protected]:443/my-mount-point/url-here

cria um novo nome de arquivo chamado

ice_name "My Raspi Stream"

Qualquer ajuda, sugestões ou referências muito apreciadas. Eu posso iniciar a compilação manual do ffmpeg enquanto isso

    
por dbmitch 26.06.2016 / 20:49

1 resposta

0

Eu consegui fazer isso funcionar usando o avconv, então agora sei que é possível usar o avconv como está. É necessário usar o parâmetro -legacy_icecast 1 , mesmo que o seu servidor seja o Icecast 2

Mínimo que eu precisava para que funcionasse:

avconv -re -i test.mp3 -c:a libmp3lame -content_type audio/mpeg -b:a 128k -legacy_icecast 1 -ice_name "Raspi Test Stream of MP3" -password mypwd -f mp3 icecast://icecast.servername.com/my/mount/point/url

Em seguida - streaming ao vivo ... pelo jeito que eu estou usando o site Spreaker.com, se alguém estiver interessado - mas deve funcionar com qualquer servidor icecast

    
por 26.06.2016 / 21:50