2016-04-08 4 views
2

Ich versuche, meinen Desktop von einem PC zu einem anderen mit UDP zu streamen. . Leider ist die Latenz ziemlich hoch ist (ich es bereits von etwa 15 Sekunden bis 2 Sekunden verringern könnte, in Tests, bei denen ich Client und Host auf demselben PC laufen Mein Hostcommand sieht wie folgt aus:Low Latency Desktopstreaming mit ffmpeg (p2p)

ffmpeg -f dshow -framerate 24 -i video=screen-capture-recorder -vf scale=1280:720 -vcodec libx264 -force_key_frames "expr:gte(t,n_forced*2)" -pix_fmt yuv420p -tune zerolatency -preset ultrafast -f mpegts udp://239.255.1.2:1234 

Mein Clientcommand Aussehen dies wie:

ffplay -fflags nobuffer -infbuf -fast -framedrop -vf "setpts=(PTS*0.95)" udp://239.255.1.2:1234 

Irgendwelche Ideen, wie dies noch schneller zu bekommen

+0

Sie würden Leute auf SO finden, die bereitwilliger sind, Ihnen zu helfen, wenn Sie sie für vorherige Antworten zuerst belohnen. Es ist ein einziger Klick mit der Maus als Gegenleistung für ihre Zeit und Mühe. –

+0

Ehrm ja, tut mir leid:/ – Gring

Antwort

1

ich den folgenden Link denken können Sie weitere Ideen, wie Puffer Nutzung zu erforschen helfen, Strategie Skalierung, Kompilieren ffmpeg OS in Kompilation beschrieben nach? Guid e usw.

https://trac.ffmpeg.org/wiki/EncodingForStreamingSites

Auf der anderen Seite, kann man kleine Videos (jeweils ein Teil des Streaming) zu erzeugen, in Erwägung ziehen könnte.

Die Idee ist, dass Client-Anwendung beginnt, das erste Video zu reproduzieren, bis es vollständig heruntergeladen wurde, während gleichzeitig in einem anderen Prozess das folgende kleine Video beginnt, gleichzeitig zu downloaden. Das zweite Video wird abgespielt, bis es vollständig heruntergeladen wurde, und so weiter.

Natürlich denke ich, es ist wichtig Display-Nachrichten, wenn der Netzwerk-Service die Funktionalität Ihrer Anwendung Video-Streaming beeinflussen.

Vor einigen Jahren habe ich so etwas mit Netzwerk Kamera Achse, swf Videos und ffmpeg getan. Der "Live-Streaming-Video" -Rekorder war in .net, während das Player-Video in PHP (Server) und Javascript (Client) war.

+1

Ich habe sie schon gefunden, aber ich konnte meinen Stream nicht verbessern. Trotzdem Danke :) – Gring