Αναπαραγωγή βίντεο σε όλα τα τερματικά ταυτόχρονα

Ξεκίνησε από alkisg, 05 Φεβ 2009, 10:19:37 ΠΜ

« προηγούμενο - επόμενο »

alkisg

(Σημειώσεις, θα καθαρογραφούν αργότερα - βέβαια αν κάποιος έχει κάποια καλύτερη ιδέα ας φωνάξει!  ;))

Άνοιγμα του αρχείου /opt/ltsp/i386/usr/share/ltsp/xinitrc.d/I00-xauth και προσθήκη της γραμμής xhost +server στο τέλος του. Εκτέλεση sudo ltsp-update-image.
Έτσι ο καθηγητής μπορεί να τρέχει οποιοδήποτε πρόγραμμα και να το εμφανίζει στους μαθητές, π.χ.
DISPLAY=10.160.31.105:7.0 xterm
Επομένως με την παρακάτω εντολή μπορούμε να παίξουμε ένα βίντεο και να εμφανιστεί σε όλους τους υπολογιστές, χωρίς να σπαταλάμε επεξεργαστική ισχύ (αποκωδικοποιείται μόνο μία φορά):
gst-launch-0.10 uridecodebin uri=file:///home/teacher/Βίντεο/my_video.avi ! tee name=t ! queue ! ffmpegcolorspace ! xvimagesink t. ! queue ! ffmpegcolorspace ! ximagesink display=10.160.31.105:7.0 t.
Βέβαια θα χρειαστεί να επαναλάβουμε τα ! queue ! ffmpegcolorspace ! ximagesink τόσες φορές όσους clients έχουμε.
Προτιμούμε xvimagesink αντί για ximagesink για να έχουμε hardware acceleration, εκτός κι αν δεν το υποστηρίζουν οι κάρτες γραφικών των clients μας.

Το αποθηκεύουμε σε ένα nautilus shell script και πλέον θα μπορούμε να προβάλλουμε οποιοδήποτε βίντεο με ένα απλό «δεξί κλικ => Προβολή βίντεο σε όλους τους μαθητές».

alkisg

#1
Με gstreamer-properties ανοίγει ένας διάλογος από τον οποίο μπορούμε να προσαρμόσουμε την προεπιλεγμένη έξοδο βίντεο. Βάζοντας σ' αυτόν το διάλογο μία γραμμή αντίστοιχη με αυτή που αναφέρθηκε παραπάνω, μπορούμε *οτιδήποτε* παίζουμε στο totem να εμφανίζεται αυτόματα σε όλα τα τερματικά.

Δηλαδή με αυτόν τον τρόπο το video broadcasting γίνεται πανεύκολα, με παύση/ένταση κτλ που ελέγχονται αποκλειστικά από τον καθηγητή, ενώ οι μαθητές μπορούν να προσαρμόσουν μόνο το μέγεθος του παραθύρου στην οθόνη τους.

(κάποια στιγμή μέχρι το Σεπτέμβρη θα το καθαρογράψω σαν how-to και μάλλον θα μπει και σε sch-script ώστε να ανιχνεύονται αυτόματα και οι clients, για την περίπτωση που δεν έχουν στατική IP).

edit: έκανα μια αρχή, επισυνάπτω μια πρώτη έκδοση του script. Με gst-broadcast start ο υπολογιστής μπαίνει σε broadcasting mode και όποιο βίντεο και να παίζουμε εμφανίζεται σε όλα τα τερματικά. Με gst-broadcast stop επανέρχεται στο κανονικό.

vaslat

Μήπως γράφτηκαν τίποτα ολοκληρωμένες σημειώσεις για το θέμα, ή μήπως υπάρχει κάτι καλύτερο σαν ιδέα ?
Δεν έχω βιντεοπροβολέα και κάνω προβολή από επόπτη με πολλές διακοπές στο βίντεο. Θα με βοηθούσε πολύ μια ολοκληρωμένη λύση , αν υπάρχει ?

alkisg

Βασίλη το βάζω στα υπ' όψη, αν δούμε ότι αργεί η σχετική υλοποίηση της προβολής βίντεο από τον Επόπτη ίσως το ξαναδώ στο μέλλον.

demetriox

Παράθεση από: alkisg στις 05 Φεβ 2009, 10:19:37 ΠΜ
Άνοιγμα του αρχείου /opt/ltsp/i386/usr/share/ltsp/xinitrc.d/I00-xauth και προσθήκη της γραμμής xhost +server στο τέλος του. Εκτέλεση sudo ltsp-update-image.

Λοιπόν ψάχνω να βρω το αρχείο αλλά sτον φάκελο /opt/ltsp έχει ΜΟΝΟ έναν φάκελο IMAGES και τίποτα άλλο...
Μήπως το μονοπάτι είναι λάθος?

Ευχαριστώ

alkisg

Τα παραπάνω είναι πρόχειρες σημειώσεις για Ubuntu 8.04, δεν είναι κατάλληλα για τωρινές εγκαταστάσεις.

vaslat

#6
Ένα άλλο πρόβλημα που μου παρουσιάστηκε με τον epopti είναι, ότι  ενώ έδειχνα ένα βίντεο (με vlc) από τον server, στα τερματικά έπαιζε μια χαρά, ενώ στον server κράσαρε η κάρτα γραφικών.... (έπαιζε το βίντεο στα τερματικά) και προρσπαθούσα από την οθόνη των τερματικών να κάνω κάποιες επιλογές στο server..

Καμία ιδέα τι μπορεί να φταίει?