web-dev-qa-db-fra.com

Y at-il un moyen de diffuser l'écran à localhost?

Je souhaite diffuser mon ordinateur sur Sony Bravia Tv sur un réseau local.

Il n’existe pas de méthode Linux pour diffuser le contenu du bureau sur une télévision intelligente sur un réseau local.

Cependant, j'ai trouvé une solution de contournement: s'il y a un flux sur localhost comme http://localhost:9000, je peux le lire à la télévision via l'extension vGet Cast chrome en y copiant le lien, mais il ne prend en charge que http pas rtmp ou udp

J'ai trouvé la commande ci-dessous, elle fonctionne bien mais c'est tcp://0.0.0.0:9000 donc je ne peux pas l'envoyer à 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

J'ai essayé ça

 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"

mais cette fois je reçois l'erreur suivante:

 Connection to tcp://localhost:8090 failed: Connection refused
 http://localhost:8090/live: Connection refused
1
kenn

J'ai trouvé un moyen de diffuser du contenu vers localhost via l'outil VLC cvlc.

Je viens de le concocter, peut-être que quelqu'un l'améliore ou affiche une approche différente.

 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: Je suis désolé, bien que cela réponde à ma question, je l’ai testé sur gmediarender, cela a fonctionné, mais je l’ai juste testé sur la télévision, cela ne fonctionnera pas sur Sony Bravia Tv. Peut-être que c'est un problème de format vidéo ou qu'il manque seek table dans le format vidéo indiqué ici

1
kenn