Forum: PC Hard- und Software ffmpeg - von einem Bildschirm zum anderen. (Linux)


von FFmpeg (Gast)


Lesenswert?

Hallo!

Ich suche nach einer vernünftigen Lösung meinen Laptopbildschirm auf den 
Beamer zu spiegeln.

Mein Betriebssystem ist Fedora 36 mit GNOME.

Ich weiß, dass das ohne Probleme per Tastenkombination eingestellt 
werden kann, das dauert aber immer ein paar Sekunden und mein 
Anwendungsfall ist, dass ich in der regel mit Impress präsentiere 
(Präsentationsmodus -> Bildschirm erweitern) und ab und zu etwas am 
Bildschirm zeichne, was man dann derweil sehen soll, dann aber gleich 
wieder zurück zur Präsentation.

Der Befehl
1
ffplay -video_size 3840x2160 -framerate 10 -f x11grab -i :0.0+0,0 -fs
 macht genau das, was ich will, aber am falschen Bildschirm (nämlich dem 
Eingebauten).
Ohne "-fs" kommt ein Fenster, das man mühsam hinüberschieben muss, auch 
nicht angenehm.


Der Befehl
1
ffmpeg -video_size 3840x2160 -framerate 10 -f x11grab -i :0.0+0,0 -f avi - | mplayer -fs -screen 2 -demuxer avi -
 macht auch genau das, was ich will, sogar am richtigen Bildschirm, aber 
mit Performanceverlusten gegenüber dem ersten Befehl. (Und das sogar auf 
meinem Standrechner merkbar - was wird dazu mein 12 Jahre alter Laptop 
sagen!?)

Leider konnte ich keine Lösung finden, wie ich es am richtigen 
Bildschirm mit der Performance von ffplay hinbekomme. Könnt ihr mir da 
vielleicht helfen? Wäre euch dankbar!

von Εrnst B. (ernst)


Lesenswert?

Einfaches ein- und ausschalten der Bildschirmspiegelung (durch 
Verschieben des "sichtbaren Bereichs") auf den Beamer per "xrandr" passt 
nicht?

von Andreas M. (amesser)


Lesenswert?

ffplay kennt "-left" und "-top". Damit müsstest Du das fenster Dahin 
schieben können wo du es gerne hättests. Dazu dann evtl noch "-x", "-y" 
und "-noborder"

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Früher, zu X11 zeiten, konnte man das in den meisten window managern 
einstellen, wenn die Anwendung das nicht zulässt.

Wobei, aus man ffplay:
1
       -left title
2
           Set the x position for the left of the window (default is a
3
           centered window).
4
5
       -top title
6
           Set the y position for the top of the window (default is a centered
7
           window).

Eventuell einfach so plazieren, das es auf dem richtigen Bildschirm 
landet? Die haben (zumindest auf X11), ja ein gemeinsames 
Koordinatensystem.

Das mit dem -screen in mplayer ist auch interessant benannt, in X11 
wären das eigentlich outputs, wenn man mehrere X11 Screens definiert, 
sind das voneinander getrente Bereiche, wo man die Fenster nicht einfach 
hin und her schieben kann. () das ist das Y in DISPLAY=X.Y . Das nutzt 
aber eh keiner mehr.

von FFmpeg (Gast)


Lesenswert?

Danke für die Tipps und die schnelle Rückmeldung!
1
ffplay -video_size 3840x2160 -framerate 10 -f x11grab -i :0.0+0,0 -fs -left 3840
 funktioniert schon mal ganz gut, es kommt tatsächlich am zweiten 
Bildschirm und beim Laptop somit am Beamer dann.

Manchmal wird der Bildschirm plötzlich schwarz (beide), bis auf das 
Terminal, aber auch ohne Rand. Wenn man Obkekte mit der Maus anfährt 
(z.B. den Dock) erscheint dieses Objekt dann wieder - so kommt alles 
retour, was man mit der Maus anfährt. Was könnte soetwas verursachen?

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Es muss nicht immer der ganze Bildschirm neu gerendert werden. Wenn da 
irgend was schief geht, und der alte Bildschirmpuffer ungültig wird, 
aber der Compositor davon nichts merkt, hat man erstmal ein schwarzes 
Bild, und wenn ein Bildschirmteil upgedated werden muss, sieht man da 
halt wieder was.

von FFmpeg (Gast)


Lesenswert?

Danke für die Erklärung, aber wie schafft man da Abhilfe?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.