Transmitir desktop ao vivo para o Justin.TV no Linux

Essa dica eu agradeço ao pessoal do forum do Heroes Of Newerth, nunca pensei que fosse achar esse tipo de coisa num forum de jogos, mas enfim. Graças ao moderador Naib eu consegui fazer streaming do desktop linux com áudio, oque não é permitido mesmo usando as ferramentas recomendadas pelo Justin.TV.

Você pode ler o tópico do forum aqui: http://goo.gl/KtQBC

Infelizmente o tutorial de Naib não estava funcionando comigo e nem com outros usuários do forum, mas a galera postou um pequeno detalhe que resolveu o problema, então eu fiz as minhas modificações.

Modo de Naib
No método usado por Naib, você adiciona uma função ao seu arquivo ".bashrc", que fica localizado na sua home e é um arquivo oculto. Este arquivo, para quem não sabe, é essencial para definir algumas configurações na sua sessão, adicionando uma função a este arquivo você irá permitir a chamada dessa função como se fosse um shell script localizado no seu $PATH, ou seja, um novo comando de terminal pode ser invocado pelo mesmo nome da função.

Entendido isso copie a função abaixo para o fim do seu arquivo ".bashrc".
streaming() {
INRES="1920x1080" # resolução de entrada
OUTRES="1024x576" # resolução de saída
FPS="20" # FPS alvo
QUAL="fast" # um dos muitos presets do FFMPEG
STREAM_KEY="$1" # você pode trocar esse valor pela sua streamkey

ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 \
-f alsa -ac 2 -i pulse -vcodec libx264 -vpre "$QUAL" -s "$OUTRES" \
-acodec libmp3lame -ab 128k -threads 0 \
-f flv "rtmp://live.justin.tv/app/$STREAM_KEY"
}

Assim basta digitar em um terminal o seguinte comando:
streaming SEU_STREAMKEY_NO_JUSTINTV

Se você trocou o valor da variável STREAM_KEY basta digiar o comando:
streaming

E pronto o seu streaming irá iniciar, para encerrar basta apertar a tecla Q na tela de terminal que está executando o streaming.

Meu método...
... é basicamente uma cópia do script de naib fora da função para um arquivo shell script que executa sem a necessidade da minha streamkey (pois eu já informei no script). O script segue abaixo para ser copiado:
#!/bin/bash
INRES="1280x720"
OUTRES="640x480"
FPS="60"
QUAL="fast"
STREAM_KEY="suastreamkeyaqui"

ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 \
-f alsa -ac 2 -i pulse -vcodec libx264 -vpre "$QUAL" -s "$OUTRES" \
-acodec libmp3lame -ab 128k -threads 0 \
-f flv "rtmp://live.justin.tv/app/$STREAM_KEY"

Para executar o script, dê permissões de execução e execute por um terminal.
Agora é só aproveitar o seu streaming, reunir os amigos e se divertir. =D Vou trocar o streaming daqui para o Justin.TV, o Ustream me decepcionou.

Comentários

blog comments powered by Disqus