
Η καθυστέρηση στην κοινή χρήση οθόνης είναι ένα από εκείνα τα προβλήματα που τα προσέχετε μόνο όταν είναι έντονα. Ο ομιλητής πατά για την επόμενη διαφάνεια και η αίθουσα που παρακολουθεί την κοινόχρηστη οθόνη τη βλέπει με μιάμιση ανάσα καθυστέρηση. Δεν είναι ακριβώς χαλασμένο, απλώς δεν είναι σωστό. Μέσα σε λίγες εκδόσεις εξετάσαμε προσεκτικά από πού προερχόταν αυτή η καθυστέρηση στην κοινή χρήση οθόνης του Cliqer και μειώσαμε τη μόνιμη καθυστέρηση από πάνω από δύο δευτερόλεπτα σε περίπου μισό δευτερόλεπτο, μια βελτίωση περίπου τέσσερις φορές. Αυτή είναι η εξήγηση σε απλή γλώσσα για το πώς το πετύχαμε.
Δεν θα κρυφτούμε πίσω από κωδικά ονόματα ούτε θα προσποιηθούμε ότι υπήρξε μία μαγική λύση. Υπήρξαν τρεις ξεχωριστές διορθώσεις, καθεμία στοχευμένη σε διαφορετικό σημείο όπου κρυβόταν η καθυστέρηση, και τα αποτελέσματά τους αθροίστηκαν.
- Τρεις διορθώσεις αθροίστηκαν: τέλος στη διπλή κωδικοποίηση, πιο σφιχτό buffer και αποθηκευμένο keyframe για τους νέους θεατές.
- Η μόνιμη καθυστέρηση έπεσε από πάνω από δύο δευτερόλεπτα σε περίπου μισό δευτερόλεπτο, μια βελτίωση περίπου τέσσερις φορές.
- Τίποτα από αυτά δεν απαιτεί αλλαγή ρύθμισης. Περιλαμβάνεται αυτόματα στη ροή κοινής χρήσης οθόνης της εφαρμογής υπολογιστή.
Γιατί η κοινή χρήση οθόνης καθυστερεί εξαρχής
Όταν μοιράζεστε μια οθόνη, πρέπει να συμβούν τρία πράγματα πριν ο θεατής δει ένα καρέ: ο υπολογιστής σας πρέπει να το καταγράψει, να το κωδικοποιήσει σε βίντεο και να το στείλει. Οποιοδήποτε από αυτά τα βήματα μπορεί να προσθέσει αθόρυβα καθυστέρηση, και το αποτέλεσμα συσσωρεύεται. Ένας αργός κωδικοποιητής, συν ένα συντηρητικό buffer, συν η αναμονή για την επόμενη πλήρη ενημέρωση καρέ μπορούν εύκολα να φτάσουν τα δύο ή τρία δευτερόλεπτα, ακόμη και σε γρήγορη σύνδεση.
Το δύσκολο είναι ότι κανένα από αυτά δεν φαίνεται χαλασμένο από μόνο του. Η καταγραφή λειτουργεί. Η κωδικοποίηση λειτουργεί. Η ροή φτάνει. Απλώς φτάνει αργά, και το «απλώς αργά» είναι δύσκολο να διαγνωστεί χωρίς να μετρήσετε κάθε στάδιο ξεχωριστά.
Διόρθωση πρώτη: τέλος στη διπλή κωδικοποίηση της ίδιας εικόνας
Η πρώτη πηγή καθυστέρησης ήταν η σπατάλη εργασίας. Οι κοινές χρήσεις οθόνης και NDI κωδικοποιούνταν δύο φορές στο παρασκήνιο, μία για κάθε διαδρομή εξόδου, και μια στατική διαφάνεια κωδικοποιούνταν ξανά συνεχώς, παρότι τίποτα στην οθόνη δεν είχε αλλάξει. Αυτό διπλασίαζε το φορτίο του κωδικοποιητή χωρίς κανένα οπτικό όφελος και σήμαινε ότι η ροή ήταν πάντα πιο φορτωμένη από όσο χρειαζόταν, κάτι που σπρώχνει κάθε καρέ πιο πίσω στην ουρά.
Η κατάργηση του διπλού περάσματος κωδικοποίησης και η παράλειψη της επανακωδικοποίησης όταν η εικόνα δεν έχει αλλάξει απελευθέρωσαν αμέσως σημαντικό περιθώριο CPU. Λιγότερος ανταγωνισμός στον κωδικοποιητή σημαίνει ότι κάθε καρέ που πράγματι χρειάζεται κωδικοποίηση επεξεργάζεται νωρίτερα.

Διόρθωση δεύτερη: πιο σφιχτό buffer χωρίς απώλεια ανθεκτικότητας
Η δεύτερη πηγή ήταν το buffer ανάμεσα στον κωδικοποιητή και το δίκτυο, το τμήμα που υπάρχει για να απορροφά σύντομες διακοπές του δικτύου, ώστε ένα κόλλημα στη γραμμή να μη γίνεται κόλλημα στην οθόνη. Τέτοια buffer είναι εκ φύσεως ένας συμβιβασμός: αν είναι πολύ μικρά, μια ασήμαντη διακοπή προκαλεί ορατά σφάλματα εικόνας· αν είναι πολύ γενναιόδωρα, προσθέτετε καθυστέρηση σε κάθε καρέ για την περίπτωση που κάτι πάει στραβά αργότερα.
Το buffer είχε διαστασιολογηθεί γενναιόδωρα, άρα πρόσθετε καθυστέρηση σε κάθε καρέ στη συνηθισμένη περίπτωση για να προστατεύσει από μια σπάνια. Με τη σύσφιξή του, η χειρότερη καθυστέρηση έπεσε από μερικά δευτερόλεπτα σε πολύ κάτω από ένα, ενώ εξακολουθεί να αντέχει σύντομες διακοπές του δικτύου χωρίς ορατά σφάλματα. Είναι το είδος της διόρθωσης που μοιάζει με μια μικρή αλλαγή αριθμού σε ένα diff, αλλά στην πραγματικότητα είναι μια απόφαση για το ποιον τρόπο αποτυχίας προτιμάτε.
Διόρθωση τρίτη: οι νέοι θεατές δεν περιμένουν πια το επόμενο keyframe
Η τρίτη διόρθωση στόχευε μια συγκεκριμένη, επώδυνη στιγμή: τι συμβαίνει όταν κάποιος συνδέεται σε μια κοινή χρήση που ήδη εκτελείται. Η συμπίεση βίντεο λειτουργεί στέλνοντας πλήρη καρέ, τα λεγόμενα keyframes, μόνο περιστασιακά, με φθηνότερα καρέ τύπου «τι άλλαξε από την προηγούμενη φορά» ενδιάμεσα. Ένας θεατής που συνδέεται στη μέση της ροής δεν μπορεί να αξιοποιήσει αυτά τα ενδιάμεσα καρέ μέχρι να λάβει ένα keyframe ως σημείο αναφοράς, και παλαιότερα αυτό σήμαινε αναμονή για το επόμενο προγραμματισμένο, έως και τρία δευτερόλεπτα αργότερα.
Η λύση ήταν να διατηρείται στην cache το πιο πρόσφατο keyframe και να παραδίδεται σε έναν νέο συνδρομητή τη στιγμή που συνδέεται, αντί να τον αναγκάζουμε να περιμένει το επόμενο προγραμματισμένο. Σε συνδυασμό με τον χρονισμό καρέ βάσει διαστήματος που περιγράφεται στην τεκμηρίωση κοινής χρήσης οθόνης, οι νέοι θεατές βλέπουν πλέον βίντεο μέσα σε χιλιοστά του δευτερολέπτου από τη σύνδεσή τους σε μια κοινή χρήση, αντί να περιμένουν έως και τρία δευτερόλεπτα για το επόμενο keyframe.
Αθροίστε και τις τρεις διορθώσεις και η μόνιμη καθυστέρηση άνω των δύο δευτερολέπτων, που οι περισσότεροι δεν εμπιστεύονταν ποτέ πραγματικά, έγινε περίπου μισό δευτερόλεπτο, μια βελτίωση περίπου τέσσερις φορές, με λιγότερη CPU και λιγότερο εύρος ζώνης από πριν. Ο πλήρης ρυθμός καρέ μετρά κι εδώ: το βίντεο Program ήταν αθόρυβα περιορισμένο γύρω στα 31 καρέ ανά δευτερόλεπτο ανεξάρτητα από την πηγή, οπότε μια κοινή χρήση στα 60fps φαίνεται πλέον εξίσου ομαλή στην πλευρά του παραλήπτη όσο και στην οθόνη του ίδιου του ομιλητή.
Τι σημαίνει αυτό αν κάνετε παρουσίαση αυτή τη στιγμή
Τίποτα από αυτά δεν απαιτεί να αλλάξετε κάποια ρύθμιση. Περιλαμβάνεται στη ροή κοινής χρήσης οθόνης της εφαρμογής υπολογιστή και ισχύει είτε μοιράζεστε μία οθόνη σε μια μικρή αίθουσα είτε τρέχετε μια πλήρη παραγωγή Studio με πολλές πηγές, συμπεριλαμβανομένων ροών εργασίας vMix που βασίζονται σε γρήγορο, προβλέψιμο σήμα. Στο Cliqer 3, το βίντεο του Studio στο Mac λειτουργεί με μηδενική αντιγραφή (zero copy): τα καρέ της κάμερας, οι πηγές και το Program παραμένουν στη μνήμη της GPU, και ο κωδικοποιητής υλικού διαβάζει το Program απευθείας από την επιφάνεια της GPU. Το Cliqer 3 εμφανίζει επίσης συνεχώς τον ρυθμό καρέ του Program και το φορτίο GPU και CPU στη γραμμή κατάστασης του Studio, ώστε να ελέγχετε μόνοι σας τον ρυθμό καρέ στη μέση της εκδήλωσης. Αν θέλετε να ρυθμίσετε την ισορροπία ποιότητας και εύρους ζώνης πέρα από τη δουλειά στην καθυστέρηση, οι ρυθμίσεις κοινής χρήσης οθόνης καλύπτουν την επιλογή codec, την ανάλυση και το bitrate, ενώ η έκδοση υπολογιστή 2.2.0 πρόσθεσε τη δυνατότητα να συμπεριλαμβάνεται ήχος συστήματος ή μικροφώνου απευθείας σε μια κοινή χρήση.
Για υβριδικές διατάξεις όπου η καθυστέρηση ήταν πιο εμφανής, ιδίως όταν ένας απομακρυσμένος ομιλητής παρακολουθεί μια κοινόχρηστη οθόνη και αντιδρά ζωντανά, αυτό συνδυάζεται με τον οδηγό μας για τη διόρθωση της καθυστέρησης κοινής χρήσης οθόνης σε υβριδικές συσκέψεις και την επεξήγησή μας για το γιατί η καθυστέρηση του τηλεχειριστηρίου παρουσιάσεων σε χιλιοστά του δευτερολέπτου μετρά εξίσου στην πλευρά του ελέγχου όσο και στην πλευρά του βίντεο.

Πού οφείλεται η υπόλοιπη καθυστέρηση
Η κοινή χρήση οθόνης είναι το ένα σκέλος της διαδρομής. Το άλλο είναι η ίδια η διαδρομή του δικτύου: αν η σύνδεση μεταξύ ομιλητή και θεατή είναι άμεση ή μέσω αναμετάδοσης, και τι συμβαίνει σε δίκτυα που μπλοκάρουν την άμεση κίνηση peer-to-peer. Καλύπτουμε αυτή την πλευρά, καθώς και το γιατί δεν μπορεί ποτέ να εξαλειφθεί πλήρως σε ορισμένα δίκτυα, στα άρθρα Οι διακομιστές TURN με απλά λόγια και πόσο ασφαλές είναι το WebRTC.
| Στάδιο | Πριν | Μετά |
|---|---|---|
| Κωδικοποίηση | Διπλό πέρασμα κωδικοποίησης, συνεχής επανακωδικοποίηση στατικών καρέ | Ένα πέρασμα, παραλείπει τα αμετάβλητα καρέ |
| Buffering | Γενναιόδωρο buffer, προσθέτει καθυστέρηση σε κάθε καρέ | Πιο σφιχτό buffer, εξακολουθεί να απορροφά σύντομες διακοπές |
| Σύνδεση νέου θεατή | Περιμένει έως και 3 δευτερόλεπτα για το επόμενο keyframe | Το keyframe από την cache παραδίδεται αμέσως |
| Μόνιμη καθυστέρηση | Πάνω από 2 δευτερόλεπτα | Περίπου 0,5 δευτερόλεπτα |
Οι διακομιστές TURN με απλά λόγια
Γιατί μέρος της εναπομείνασας καθυστέρησης προέρχεται από τη διαδρομή του δικτύου και όχι από τον κωδικοποιητή.
Διορθώσεις καθυστέρησης κοινής χρήσης οθόνης
Περισσότερες διορθώσεις για υβριδικές διατάξεις όπου ένας απομακρυσμένος ομιλητής παρακολουθεί την οθόνη.
Συχνές ερωτήσεις
Όχι. Αυτές οι διορθώσεις στοχεύουν την καθυστέρηση και τη σπατάλη εργασίας στην κωδικοποίηση, όχι την ανάλυση ή το bitrate. Εξακολουθείτε να επιλέγετε ανάλυση και bitrate ανεξάρτητα στις ρυθμίσεις κοινής χρήσης οθόνης.
Δεν χρειάζεται καμία χειροκίνητη αλλαγή ρύθμισης. Η εφαρμογή υπολογιστή λαμβάνει αυτόματα τις νέες εκδόσεις και οι βελτιώσεις στη ροή ισχύουν μόλις χρησιμοποιείτε μια τρέχουσα έκδοση.
Οι ροές βίντεο βασίζονται σε περιοδικά πλήρη καρέ, τα λεγόμενα keyframes, ώστε ένας νέος θεατής να μπορεί να ξεκινήσει την αποκωδικοποίηση. Παλαιότερα ένας νέος θεατής έπρεπε να περιμένει το επόμενο προγραμματισμένο keyframe, το οποίο η διόρθωση πλέον παραδίδει αμέσως από την cache.
Ναι. Η διόρθωση της διπλής κωδικοποίησης κάλυψε ρητά τόσο τις κοινές χρήσεις οθόνης όσο και την έξοδο NDI, και η έξοδος Program του Studio επωφελείται από τις ίδιες βελτιώσεις στον πλήρη ρυθμό καρέ και στο buffer.
Δοκιμάστε το μόνοι σας
Ο πιο γρήγορος τρόπος να νιώσετε τη διαφορά είναι να μοιραστείτε μια οθόνη και να κοιτάξετε το πρόσωπο κάποιου άλλου τη στιγμή που τη βλέπει. Κατεβάστε το Cliqer δωρεάν και δοκιμάστε μια κοινή χρήση οθόνης στη δική σας διάταξη, ή δείτε όλες τις δυνατότητες της κοινής χρήσης οθόνης και συγκρίνετε τα πακέτα στις τιμές.
Οθόνες ομιλητή με απλά λόγια: τι βλέπουν οι ομιλητές και γιατί
Τι δείχνει μια οθόνη ομιλητή στον ομιλητή, γιατί έχει σημασία και πώς να στήσετε μία με μια εφεδρική οθόνη και μια αντίστροφη μέτρηση.
Single Sign-On για ομάδες AV και εκδηλώσεων
Πώς το single sign-on βοηθά τις ομάδες AV και εκδηλώσεων: λιγότεροι διάσπαρτοι κωδικοί, ταχύτερη ένταξη freelancers, άμεσος αποκλεισμός όσων αποχωρούν.
Οργανώστε την επόμενη εκδήλωσή σας με το Cliqer
Συνεχίστε την ανάγνωση
Περισσότεροι νέα προϊόντος για την επόμενη εκδήλωσή σας


Cliqer vs Ecamm Live: ποιο στούντιο ζωντανής μετάδοσης ταιριάζει στην παραγωγή σας;

Cliqer vs vMix: Δίκαιη σύγκριση του Studio, και τι κάνει καλύτερα το vMix
Λάβετε τον επόμενο οδηγό πριν από την επόμενη εκδήλωσή σας
Πρακτικοί οδηγοί για ομιλητές, τεχνικά συνεργεία AV και ομάδες εκδηλώσεων, μαζί με τις εκδόσεις του Cliqer που έχουν σημασία. Χωρίς spam, διαγραφή με ένα κλικ.
