Existe uma maneira de transmitir a tela para localhost?

1

Eu quero transmitir minha área de trabalho para Sony Bravia Tv na rede local.

Não existe uma maneira do Linux de transmitir o desktop para a smart TV na LAN.

No entanto, encontrei uma solução alternativa, se houver um fluxo no localhost como http://localhost:9000 Posso reproduzi-lo na tv via vGet Cast chrome extension copiando link para ele, mas ele suporta apenas http não rtmp ou udp

Eu encontrei o comando abaixo, ele funciona bem, mas é tcp://0.0.0.0:9000 , então não posso enviá-lo para o Tv.

ffmpeg -f x11grab -s 1280x720 -framerate 30 -i :0.0 -c:v mpeg2video -q:v 20 -pix_fmt yuv420p -g 1 -threads  -f mpegts - | nc -l -p 8090

Eu tentei isso

 ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -framerate 30 -video_size 600x400 -i :0.0+0,0 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 3000k -vf "scale=1280:-1,format=yuv420p" -g 60 -c:a aac -b:a 128k -ar 44100 -f flv "http://localhost:8090/live"

mas desta vez recebo o seguinte erro:

 Connection to tcp://localhost:8090 failed: Connection refused
 http://localhost:8090/live: Connection refused
    
por kenn 01.12.2017 / 11:50

1 resposta

1

Eu encontrei uma maneira de transmitir para localhost através da ferramenta VLC cvlc .

Eu apenas criei, talvez alguém melhore ou poste uma abordagem diferente.

 cvlc screen:// :screen-fps=10 :scre-caching=100 --sout '#transcode{vcodec=mp4v,vb=4096,acodec=mpga,ab=256,scale=1,width=1280,height=800}:http{dst=0.0.0.0:1234,access=http,mux=ts}'

EDIT: Me desculpe, embora responda a minha pergunta, eu testei em gmediarender , funcionou, mas eu só testei no Tv, não vai funcionar em Sony Bravia Tv . Talvez seja um problema de formato de vídeo ou esteja faltando seek table no formato de vídeo, que é aqui

    
por kenn 01.12.2017 / 13:45