Ο διακομιστής πολυμέσων PipeWire 1.0.0 κυκλοφόρησε, σηματοδοτώντας την πρώτη σταθερή έκδοση του έργου. Η έκδοση 1.0 είναι συμβατή με τον κλάδο 0.3 σε επίπεδα API και ABI. Το PipeWire τοποθετείται ως διάδοχος του διακομιστή ήχου PulseAudio και διαθέτει δυνατότητες ροής βίντεο, επεξεργασία ήχου χαμηλής καθυστέρησης και ένα νέο μοντέλο ασφαλείας για έλεγχο πρόσβασης σε επίπεδο συσκευής και ροής. Το έργο υποστηρίζεται στο GNOME και είναι ήδη η προεπιλεγμένη έκδοση στο Fedora. Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE και πολλές άλλες διανομές LinuxΟ κώδικας του έργου είναι γραμμένος σε C και διανέμεται με την άδεια LGPLv2.1.
Το PipeWire παρέχει τη δυνατότητα χειρισμού οποιωνδήποτε ροών πολυμέσων, μπορεί να αναμειγνύει και να ανακατευθύνει ροές με βίντεο και μπορεί να χρησιμοποιηθεί για τον έλεγχο πηγών βίντεο όπως συσκευές λήψης βίντεο, κάμερες web ή έξοδος περιεχομένου οθόνης από εφαρμογές. Για παράδειγμα, το PipeWire επιτρέπει σε πολλαπλές εφαρμογές να συνεργάζονται με μια κάμερα web και επιλύει τα προβλήματα της ασφαλούς λήψης οθόνης και της απομακρυσμένης πρόσβασης στην οθόνη σε περιβάλλον Wayland.
Το PipeWire μπορεί επίσης να λειτουργήσει ως ήχος υπηρέτης, το οποίο εξασφαλίζει ελάχιστη καθυστέρηση και παρέχει λειτουργικότητα που συνδυάζει τις δυνατότητες των PulseAudio και JACK, συμπεριλαμβανομένης της αντιμετώπισης των αναγκών των επαγγελματικών συστημάτων επεξεργασίας ήχου, τις οποίες το PulseAudio δεν μπορούσε να επιτύχει. Επιπλέον, το PipeWire προσφέρει ένα προηγμένο μοντέλο ασφαλείας που επιτρέπει τον έλεγχο πρόσβασης σε επίπεδο συσκευής και ροής, απλοποιώντας τη δρομολόγηση ήχου και βίντεο από και προς απομονωμένα κοντέινερ. Ένας από τους κύριους στόχους είναι η υποστήριξη αυτόνομων εφαρμογών σε μορφή Flatpak και η εκτέλεση σε μια στοίβα γραφικών που βασίζεται στο Wayland.
Βασικά χαρακτηριστικά:
- Λήψη και αναπαραγωγή ήχου και βίντεο με ελάχιστες καθυστερήσεις.
- Εργαλεία για την επεξεργασία βίντεο και ήχου σε πραγματικό χρόνο.
- Αρχιτεκτονική πολλαπλών διεργασιών που σας επιτρέπει να οργανώσετε την κοινή πρόσβαση στο περιεχόμενο πολλών εφαρμογών.
- Ένα μοντέλο επεξεργασίας που βασίζεται σε ένα γράφημα κόμβων πολυμέσων με υποστήριξη για βρόχους ανάδρασης και ενημερώσεις ατομικών γραφημάτων. Είναι δυνατή η σύνδεση χειριστών τόσο εντός του διακομιστή όσο και εξωτερικών προσθηκών.
- Αποτελεσματική διεπαφή για πρόσβαση σε ροές βίντεο μέσω της μεταφοράς περιγραφών αρχείων και πρόσβασης στον ήχο μέσω κοινόχρηστων buffer κουδουνίσματος.
- Δυνατότητα επεξεργασίας δεδομένων πολυμέσων από οποιεσδήποτε διαδικασίες.
- Διαθεσιμότητα μιας προσθήκης για το GStreamer για την απλοποίηση της ενσωμάτωσης με υπάρχουσες εφαρμογές.
- Υποστήριξη για απομονωμένα περιβάλλοντα και Flatpak.
- Υποστήριξη για πρόσθετα σε μορφή SPA (Simple Plugin API) και δυνατότητα δημιουργίας πρόσθετων που λειτουργούν σε σκληρό πραγματικό χρόνο.
- Ευέλικτο σύστημα συντονισμού χρησιμοποιημένων μορφών πολυμέσων και κατανομής buffer.
- Χρήση μιας διαδικασίας παρασκηνίου για τη δρομολόγηση ήχου και βίντεο. Η δυνατότητα εργασίας με τη μορφή διακομιστή ήχου, κόμβου για την παροχή βίντεο σε εφαρμογές (για παράδειγμα, για το API οθόνης gnome-shell) και διακομιστή για τη διαχείριση της πρόσβασης σε συσκευές λήψης βίντεο υλικού.
Μεταξύ των αλλαγών σε σύγκριση με τον κλάδο 0.3, η υποστήριξη jackdbus είναι πλέον ενεργοποιημένη από προεπιλογή, επιτρέποντας στο PipeWire να χρησιμοποιείται ως πλήρης πελάτης του συστήματος ήχου JACK. Το ALSA χρησιμοποιεί προγραμματισμό βάσει IRQ στο προφίλ Pro-Audio, επιτρέποντας την επίτευξη καθυστερήσεων σε επίπεδο JACK. Προστέθηκε υποστήριξη τόσο για παλιές όσο και για νέες εκδόσεις του webrtc-audio-processing. Προστέθηκε υποστήριξη για αρχεία DFF DSD στο pw-cat. Προστέθηκε υποστήριξη για την πλατφόρμα GNU/Hurd.
Πηγή: opennet.ru
