Ich habe auch das gleiche mit VLC versucht und konnte nie Latenz unter 3 Sekunden bekommen. FFmpeg hat Wunder vollbracht und schließlich eine Latenzzeit von 1 Sekunde geliefert.
mpeg2video und UPD lieferte die besten Ergebnisse, RTP Latenz fühlte sich ein bisschen schlechter aber sehr nahe. Der Wechsel zu x264 verbessert die Qualität im Gegenzug für ein bisschen mehr Latenz, aber das hängt wirklich davon ab, wie viel dynamischer Inhalt vorhanden ist und wie schnell die CPU ist. Ich habe nur x264 mit UDP arbeiten, aber es muss einen Weg geben, es mit RTP zu tun.
Ich bin mir nicht sicher, ob es zum Spielen machbar ist. Der Server wird stark ausgelastet sein und die Latenz wird spürbar sein - zumindest unter Linux, weiß nichts über Windows.
Unter Linux eine der folgenden Befehle versuchen:
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec mpeg2video -b:v 8000 -f rtp rtp://192.168.0.10:1234
oder
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec libx264 -preset ultrafast -tune zerolatency -crf 18 -f mpegts udp://192.168.0.10:1234
für Bildschirmauflösung anpassen (-s <your resolution>
), Bildwiederholrate (-r <fps>
), Bandbreite (-b:v <bits/s>
), Qualität (-crf 18
oder -qp 18
, je niedriger desto besser) und Ziel-IP: Port.
Bei laufendem Windows dshow
anstelle von x11grab
verwenden.
Beobachten Sie es mit ffplay udp://192.168.0.10:1234
oder ffplay sdp://192.168.0.10:1234
.
Beachten Sie, dass keine dieser Optionen Sound streamen wird. Beim Streaming von Audio konnte ich keine so niedrigen Latenzen erzielen. Es könnte machbar sein, ich habe einfach nicht herausgefunden, wie.
Die meisten reagieren Client war ffplay
, VLC
zu viel Latenz eingeführt sogar mit seinem Netzwerk-Cache auf Null gesetzt - mit einer solchen Cache wurde es eigentlich noch schlimmer, da es sich um den Strom zu ‚Resync‘ zu oft versucht.
Wenn Sie weitere Details benötigen, habe ich einen post über meine Ergebnisse gemacht. Ich hoffe es hilft. Ich freue mich über jede Rückmeldung.^_^^
FFmpeg hat auch einige x264 Encoding-Einstellungen wie "-tune ZeroLatency", die hier nützlich sein könnten: http://trac.ffmpeg.org/wiki/StreamingGuide#Latency – rogerdpack
Ich kam zu Ihrer Website, bevor Sie darüber laufen Artikel. Meiner Meinung nach hatten vlc und ffplay fast die gleiche Latenz. – user1767754
Ich hatte versucht, Auflösung Parameter wie unten URL zu übergeben, aber es scheint nicht zu funktionieren, ich meine, rtsp aufgezeichnet mp4 Video bleibt hochauflösend, auch wenn ich 320x240 passiert habe :( "-t 30 -i \" rtsp : //xxx.xxxxxx.com/2 \ "-s 320x240 -codec kopieren -vcodec kopieren -zu" –