PipeWire: Βελτιωμένη διαχείριση βίντεο και ήχου στο Linux


Το PipeWire είναι ένα έργο που στοχεύει να βελτιώσει σημαντικά το χειρισμό του ήχου και του βίντεο στο Linux. Στόχος του είναι να αναλάβει, ως υπηρεσία συστήματος, την διαχείριση των διεργασιών που χειρίζονται σήμερα τόσο το PulseAudio όσο και το Jack ενώ ταυτόχρονα να παρέχει βελτιωμένη διαχείριση εισόδου/εξόδου βίντεο.

Οι περισσότεροι θα θυμούνται τις εποχές προ-PulseAudio, όπου για να μπορέσει το σύστημα να αναγνωρίσει αλλά και να διαχειρίζεται ξεχωριστές πηγές εισόδου/εξόδου ήχου, θα έπρεπε ο χρήστης να «πειράξει» περίεργες ρυθμίσεις του συστήματος. Φυσικά η κατάσταση πλέον έχει βελτιωθεί σημαντικά με το PulseAudio το οποίο έχει αναλάβει ρόλο διαμεσολαβητή μεταξύ χρήστη – συσκευών ήχου -πυρήνα. Αυτό ακριβώς προσπαθεί να πετύχει και το PipeWire με ό,τι έχει να κάνει με το Βίντεο.

Πέραν των διαφόρων παραπόνων που ακούμε για tearing όταν παίζουμε κάποιο βίντεο, η κάποια καθυστέρηση ήχου, το PipeWire στοχεύει να παρέχει και ασφάλεια σε ότι αφορά τα remote desktop sessions, την βιντεοσκόπηση και streaming της επιφάνειας εργασίας και πολλά άλλα.

Για παράδειγμα, πόσες φορές σας έχει δουλέψει σωστά το Screen-capturing (βιντεοσκόπηση επιφάνειας εργασίας); Πείτε την αλήθεια… Σας το λέω, μιας και είχα την «φαεινή» ιδέα να φτιάξω δικιά μου εφαρμογή (έχει και ωραίο όνομα CaptureMe) μόνο και μόνο επειδή ό,τι έβρισκα δεν δούλευε. Το όλο θέμα Βίντεο/Ήχος έχει γίνει θέμα ουκ ολίγες φορές στα διάφορα φόρουμ των κοινοτήτων αλλά και σε εκδηλώσεις όπως το «Why Linux Sucks»

PipeWire: Ολίγη ιστορία για τον νέο διαχειριστή Multimedia δεδομένων

pipewire-upiresia-video-hxos-linux1

Το Pipewire είναι η τελευταία δημιουργία του συν-δημιουργού του GStreamer, Wim Taymans. Ο αρχικός λόγος που δημιουργήθηκε ήταν λόγο της τάσης που υπάρχει, οι εφαρμογές σταδιακά να πακετάρονται σε Flatpaks, οπότε σύντομα θα χρειαζόταν κάτι για βίντεο παρόμοιο με αυτό που έκανε το PulseAudio για τον ήχο.

Αν και αρχικά το όνομα που χρησιμοποίησε ο Wim Taymans ήταν PulseVideo στην πορεία συνειδητοποίησε ότι για να εξασφαλίσει τον τέλειο συγχρονισμό ήχου και βίντεο  θα ήταν ένα λάθος να διαχειρίζεται μόνο εισόδους/εξόδους βίντεο. Εάν ο ήχος και το βίντεο μπορούσαν να δρομολογηθούν μέσω της ίδιας υπηρεσίας Multimedia, τότε θα διασφαλιζόταν ότι ο ήχος και το βίντεο θα δούλευαν απρόσκοπτα. Έτσι από PulseVideo άλλαξε σε PipeWire για να μην σχετίζεται μόνο με το Video.

Τα χαρακτηριστικά που υποστηρίζει το PipeWire

Το PipeWire εισάγει ένα μοντέλο ασφαλείας που διευκολύνει την αλληλεπίδραση με συσκευές ήχου και βίντεο από εφαρμογές Flatpak. Παράλληλα με το Wayland αναμένεται ότι το PipeWire θα αποτελέσει ένα βασικό δομικό στοιχείο για το μέλλον της ανάπτυξης εφαρμογών Linux. Τα χαρακτηριστικά γνωρίσματα περιλαμβάνουν:

  • Καταγραφή και αναπαραγωγή ήχου και βίντεο με minimal latency.
  • Επεξεργασία πολυμέσων σε πραγματικό χρόνο για ήχο και βίντεο.
  • Αρχιτεκτονική πολλαπλών επεξεργασιών για να επιτρέπουν στα προγράμματα να μοιράζονται περιεχόμενο πολυμέσων.
  • GStreamer Plugins για εύκολη χρήση και ενσωμάτωση στις τρέχουσες εφαρμογές.
  • Υποστήριξη Sandboxed εφαρμογών όπως τα Flatpak

Πότε θα είναι διαθέσιμο το PipeWire

Αυτή την στιγμή, το έργο PipeWire είναι υπό ανάπτυξη και η πρώτη έκδοση που διαχειρίζεται μόνο βίντεο όχι ήχο μιας και είναι πιο επείγουσα η κατάσταση για αυτό, λόγο του Wayland και των Flatpak οπότε και θα είναι διαθέσιμο στο Fedora Workstation 27.

Φαντάζομαι ότι σταδιακά και οι υπόλοιπες διανομές θα αρχίσουν να το ενσωματώνουν από το 2018 και έπειτα.


πηγές:

Advertisements

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s