Video και Audio

Video playback σε Windows

11/10/10 12:03 PM | parsifal από parsifal


Video playback σε Windows

 

 

__TOC__

 

 

==Ενότητα 1==

===Εισαγωγή===

Από τους πιο κοινούς ρόλους που καλείται να παίξει ένας σύγχρονος ηλεκτρονικός υπολογιστής είναι η αναπαραγωγή κάθε είδους ψηφιακό video που καταλήγει με τον έναν ή με τον άλλον τρόπο σε αυτόν. Μία από τις πιο δημοφιλείς πλατφόρμες που χρησιμοποιούνται γι' αυτόν το σκοπό είναι το λειτουργικό σύστημα Windows της Microsoft, καθώς εκεί προσφέρεται πληθώρα ποιοτικών σχετικών εφαρμογών, πολλές μάλιστα από τις οποίες διατίθενται δωρεάν. Η συνεχής εξέλιξη στον τομέα του ψηφιακού video όμως έχει δημιουργήσει μία κατάσταση χαοτική όσον αφορά τον αριθμό των διαφορετικών πιθανών formats που θα κληθεί να αναπαράγει το PC μας. Αυτός είναι και ο λόγος που βρήκε πρόσφορο έδαφος και αναπτύχθηκε μία συγκεκριμένη κατηγορία λογισμικού, τα Codec Packs.

 

 

===Codec Packs===

Τα Codec Packs είναι προσπάθειες να πακεταριστούν πολλοί αποκωδικοποιητές video/ήχου σε ένα μοναδικό εγκαταστάσιμο πακέτο λογισμικού. Συνήθως ο installer τους εγκαθιστά και έναν σχετικό player με ή χωρίς ειδικές ρυθμίσεις αναπαραγωγής. Δεν πρόκειται δηλαδή για κάτι το εξαιρετικά ριζοσπαστικό ως concept, αφού κάλλιστα ένας χρήστης θα μπορούσε να κατεβάσει από το Διαδίκτυο ξεχωριστά το κάθε συστατικό στοιχείο του Codec Pack και να το εγκαταστήσει μόνος του. Χάριν της ευκολίας που προσφέρουν όμως και της δυνατότητας να αναπαράγουν out-of-the-box τα περισσότερο διαδεδομένα media formats, πολλοί χρήστες τα χρησιμοποιούν, χωρίς να καταλαβαίνουν τί πραγματικά εγκαθίσταται στο σύστημά τους, πώς αυτό τους βοηθάει να αναπαράγουν τα αγαπημένα τους αρχεία, πώς μπορούν να μεταβάλλουν τις παραμέτρους της αναπαραγωγής και πώς μπορούν να διορθώσουν κάτι που πιθανόν να πάει στραβά.

 

Ορισμένα επιπλέον μειονεκτήματα των Codec Packs είναι :

  • Συχνά φορτώνουν το σύστημα με απαρχαιωμένους codecs που δεν είναι πλέον απαραίτητοι (κλασσικό παράδειγμα μέχρι πρότινος το DivXG400)
  • Εγκαθιστούν codecs που εμφανίζουν μεγάλη επικάλυψη σε αυτά που κάνουν
  • Δε μας επιτρέπουν να έχουμε καλό έλεγχο των codecs που βρίσκονται στο σύστημα ή να τους αναβαθμίζουμε σε νεότερες εκδόσεις αμέσως μόλις αυτές είναι διαθέσιμες. Π.χ. το Klite Codec Pack δεν εγκαθιστά συντόμευση για τη ρύθμιση του ffdshow codec, τον οποίον περιλαμβάνει

 

Ως μοναδική εξαίρεση σε κάποια από τα παραπάνω μειονεκτήματα, έχει εμφανιστεί σχετικά τελευταία στον χώρο των Codec Packs μία πολύ αξιόλογη προσπάθεια, το CCCP (Combined Community Codec Pack). Αν αξίζει κάποιο από όλα όσα κυκλοφορούν στο Διαδίκτυο εγκατάσταση στο σύστημά μας, μάλλον είναι αυτό. Κάνοντας κλικ εδώ, μπορείτε να δείτε το «μανιφέστο» του team που αναπτύσσει το CCCP, αλλά και να λύσετε τυχόν σχετικές απορίες.

 

Το παρόν άρθρο γράφτηκε για τους χρήστες που θα ενδιαφέρονταν να ακολουθήσουν μία διαφορετική προσέγγιση από αυτήν των Codec Packs. Δεν πρόκειται να μας μετατρέψει σε multimedia gurus ούτε εγγυάται πως θα μας δοθούν όλες οι πιθανές πληροφορίες για να διορθώνουμε τα πάντα μόνοι μας. Διαβάζοντάς το όμως, θα αποκτήσουμε μία καλύτερη κατανόηση του πώς λειτουργεί σε γενικές γραμμές η αναπαραγωγή video στα Windows και σε περίπτωση που ζητούμε βοήθεια για ενδεχόμενο πρόβλημα από άλλους χρήστες, θα μας διευκολύνει να περιγράφουμε πιο αναλυτικά το πρόβλημά μας, αναφέροντας τις πραγματικά κρίσιμες λεπτομέρειες και απορρίπτοντας τις επουσιώδεις.

 

Έγινε προσπάθεια να καλυφθούν και οι πιο αρχάριοι χρήστες, γι' αυτό το άρθρο ξεκινά με την παραδοχή ότι δεν υπάρχει κανένα σχετικό προγράμμα ήδη εγκατεστημένο. Παρουσιάζεται λοιπόν συνοπτικά η εγκατάσταση και παραμετροποίησή ορισμένων προγραμμάτων, όχι συγκεντρωτικά στην αρχή, αλλά με τη χρονική σειρά που πρωτοχρησιμοποιούνται. Οι συγκεκριμένες εφαρμογές που επιλέχθηκαν ως βάση για το άρθρο είναι από τις πιο καταξιωμένες και δοκιμασμένες στο χώρο του ανοικτού/δωρεάν λογισμικού και προτείνονται ανεπιφύλακτα από τον γράφοντα. Αυτό σε καμμία περίπτωση δε σημαίνει πως δε μπορούμε να έχουμε σωστή αναπαραγωγή video χρησιμοποιώντας άλλες. Προτείνεται όμως, αν δεν υπάρχει ιδιαίτερο πρόβλημα από τη μεριά του αναγνώστη και για λόγους συνέπειας με τα όσα διαδραματίζονται στο άρθρο, να προηγηθεί απεγκατάσταση τυχόν παλαιότερων εκδόσεων των αναφερόμενων εφαρμογών, άλλων video players αλλά και κάθε audio και video codec, μεμονωμένο ή σε μορφή Codec Pack. Προς το τέλος του άρθρου, θα έχει αποκατασταθεί η δυνατότητα αναπαραγωγής των περισσότερο διαδεδομένων media files στον κόσμο των PC. Επιπλέον, ορισμένα «δύστροπα» formats θα καλυφθούν διεξοδικά και στο παράρτημα Α.

 

 

===Απαιτούμενο λογισμικό===

Θα χρειαστούμε:

 

Η εγκατάσταση των παραπάνω και οι δοκιμές έγιναν, χωρίς κανένα πρόβλημα ασυμβατοτήτων ή λαθών, σε έναν Intel Core 2 Duo E6600 με πλατφόρμα Αγγλικών Windows XP Professional SP2, πλήρως ενημερωμένων με τα τελευταία patches από Windows Update. Εκτός από τα Windows patches, είναι πάντα καλή πρακτική να έχουμε το σύστημά μας ενημερωμένο με τους πιο πρόσφατους chipset, video και sound card drivers, όπως και το DirectX.

 

[TEMPLATE]Insomnia Wiki templates - Greek paths warning[/TEMPLATE]

 

 

 

==Ενότητα 2==

Μεταφέρθηκε. Δείτε το άρθρο [[DirectShow και βασικές έννοιες video]].

 

Από τα όσα αναφέρονται εκεί, γίνεται φανερό ότι αν επιδιώκουμε υποστήριξη αναπαραγωγής για όσο το δυνατόν περισσότερα formats με τη λιγότερη δυνατή πολυπλοκότητα, πρέπει να έχουμε εγκατεστημένα τα απολύτως απαραίτητα DirectShow φίλτρα, αλλιώς η διαδικασία κατασκευής του γραφήματος θα καθυστερεί ή ακόμη και θα αποτυγχάνει. Σε αυτό θα μας βοηθήσει πολύ ο Media Player Classic που έχει ενσωματώσει στον κώδικά του διάφορα αξιόλογα φίλτρα splitter ανοιχτού κώδικα, αλλά και ο ffdshow codec που μπορεί να αναλάβει το decoding πολλών διαφορετικών video και audio streams.

 

 

 

==Ενότητα 3==

===Media Player Classic===

Η εγκατάσταση του MPC είναι απλούστατη, καθώς είναι ένα μοναδικό εκτελέσιμο αρχείο exe. Αρκεί να αποσυμπιέσουμε το συμπιεσμένο αρχείο σε έναν κατάλογο του σκληρού δίσκου και να δημιουργήσουμε συντομεύσεις προς το εκτελέσιμο στο Desktop ή/και στο Start Menu των Windows. Στη συνέχεια, εκτελούμε τον MPC:

 

020.png

 

Είναι αρκετά λιτός, χωρίς πολλά φαντεζί χαρακτηριστικά εμφάνισης. Είναι όμως πλήρως resizable, ελαφρύς και εξαιρετικά παραμετροποιήσιμος. Αρχίζουμε την παραμετροποίησή του, πατώντας το πλήκτρο συντόμευσης O ή από το μενού View --> Options.... Στα επόμενα screenshots, παρουσιάζονται μερικές προτεινόμενες ρυθμίσεις:

 

030.png

 

040.png

 

050.png

 

060.png

 

070.png

 

080.png

 

090.png

 

Αφού τελειώσουμε με τις ρυθμίσεις, ήρθε η ώρα να εγκαταστήσουμε τα...

 

 

===ffdshow-tryouts και Haali Media Splitter===

O ffdshow codec είναι ένα εξαιρετικά ευέλικτο, ισχυρό και εύχρηστο εργαλείο για την αναπαραγωγή multimedia. Ευέλικτο, γιατί συνδυάζει με αρμονικό τρόπο στον κώδικά του τμήματα από διάφορα καταξιωμένα projects ανοιχτού κώδικα, κάτι που του επιτρέπει να υποστηρίζει την κωδικοποίηση σε, και αποκωδικοποίηση από, πολλούς διαφορετικούς τύπους video και ήχου. Ισχυρό, γιατί προσφέρει επιπλέον πολλών ειδών εφφέ που μπορούν να εφαρμοστούν σε πραγματικό χρόνο στο αποκωδικοποιημένο video/audio και να μας επιτρέψουν να παράγουμε αποτελέσματα ισάξια top-of-the-line πανάκριβων εμπορικών προγραμμάτων. Εύχρηστο, γιατί οι ρυθμίσεις όλων των παραπάνω αν και πολλές στον αριθμό, είναι εύκολα προσπελάσιμες και ομαδοποιημένες κατά σωστό και αποδοτικό τρόπο.

 

Επίσης, ένα ακόμη πλεονέκτημά του είναι ότι πέραν της DirectShow συμβατότητας, προσφέρει και διασύνδεση με το παλαιότερο υποσύστημα VfW (Video for Windows) της Microsoft που εξακολουθεί να χρησιμοποιείται ακόμη από αρκετές εφαρμογές. Σχηματικά, η δομή του ffdshow είναι σε γενικές γραμμές όπως στην εικόνα [FOOTNOTE]Ιδιαίτερες ευχαριστίες στον LoRd_MuldeR από το Doom9 forum, γιατί παρείχε τη vector, non-watermarked έκδοση της πρώτης εικόνας της παραγράφου 3-2, μαζί με άδεια αναδημοσίευσης[/FOOTNOTE] :

 

100.png

 

Ας ξεκινήσουμε όμως την εγκατάστασή του ffdshow, εκτελώντας τον installer που κατεβάσαμε. Δεχόμαστε τα default components, ορίζουμε διαφορετικό κατάλογο εγκατάστασης αν επιθυμούμε και στο παράθυρο όπου καλούμαστε να επιλέξουμε τα Additional Tasks...

 

110.png

 

...προσθέτουμε τικ και στα ακόλουθα: MPEG-2 (libmpeg2), WMV1 και 2, WVC1, DV, ASV1/2, CamStudio, RAW Video, FLAC, ADPCM, RAW Audio, Volume Normalization, Subtitles. Στην τελευταία οθόνη, επιλέγουμε το Run video decoder configuration και κλικ στο Finish. Θα ανοίξει ένα παράθυρο με τις ρυθμίσεις του ffdshow :

 

120.png

 

Στην παραπάνω οθόνη βρίσκεται η πιο σημαντική κατηγορία ρυθμίσεων του ffdshow και αφορά την υποστήριξη διαφόρων τύπων video. Καλό είναι να εξοικειωθούμε με την τελευταία στήλη Supported FOURCCs, αφού όταν λαμβάνουμε μήνυμα λάθους από τον Media Player Classic σχετικά με την κατασκευή του γραφήματος αναπαραγωγής, εκεί θα αναφέρεται και ο κωδικός FOURCC του video stream για το οποίο δε βρέθηκε κατάλληλος decoder. Τότε θα ανατρέχουμε σε αυτό το παράθυρο του ffdshow και θα αλλάζουμε την αντίστοιχη γραμμή στη στήλη Decoder από disabled σε μία βιβλιοθήκη που παρέχει το ffdshow για την αποκωδικοποίηση του αντίστοιχου format (libavcodec, libmpeg2 κλπ).

 

Στην ίδια οθόνη αριστερά έχουμε και μια πληθώρα άλλων ρυθμίσεων του ffdshow, που δείχνει τις δυνατότητές του. Μπορούμε να κάνουμε διάφορες ρυθμίσεις στην εικόνα, όπως π.χ. custom crop, on-the-fly απομάκρυνση ενοχλητικών λογοτύπων (σήμα τηλεοπτικού σταθμού από TV capture για παράδειγμα), αλλαγή φωτεινότητας/contrast/gamma, περιστροφή της εικόνας κατά τον κάθετο (mirror) ή τον οριζόντιο άξονα (flip), αποθορυβοποίηση, φίλτρα αύξησης οξύτητας, resize, αλλαγή font/μεγέθους/θέσης των υποτίτλων, να κάνουμε capture ένα ή μία σειρά από screenshots κ.ά. Θέλει μόνο λίγη αυτοσυγκράτηση στο πλήθος των φίλτρων που θα έχουμε συγχρόνως ενεργοποιημένα, αφού κοστίζουν σε επεξεργαστική ισχύ και σε παλιά μηχανήματα πιθανόν να έχουμε «σπασίματα» του playback αν το παρακάνουμε.

 

Στη συνέχεια, πρέπει να εγκαταστήσουμε τον Haali Media Splitter, ώστε να έχουμε σωστή υποστήριξη πολλαπλών audio/subtitle streams και chapters στα containers που υποστηρίζονται. Κατά την εγκατάσταση, όταν ερωτηθούμε για τις επιλογές (Haali Media Splitter Setup: Options) επιλέγουμε τα πάντα και κλικ στο Install.

 

Τώρα, είμαστε απόλυτα έτοιμοι να παίξουμε τα πιο διαδεδομένα αρχεία video που θα συναντήσουμε!

 

 

 

==Παραρτήματα==

===Αναπαραγωγή επιπλέον formats===

1. Αρχεία rm/rmvb/ram: Αν θέλουμε να βλέπουμε τέτοια αρχεία στον Media Player Classic, αρκεί από Start --> Programs --> ffdshow --> Video decoder configuration να κάνουμε την παρακάτω ρύθμιση:

 

130.png

 

Αν υπάρχουν και πάλι προβλήματα, προτείνεται η εγκατάσταση του codec Real Alternative Lite

 

 

2. Αρχεία flv (YouTube κ.ά.), divx (Stage6), 3gp (π.χ. τραβηγμένα με κινητό τηλέφωνο): Αν ακολουθήσαμε τον οδηγό επακριβώς στις ρυθμίσεις Media Player Classic και ffdshow, τώρα ο MPC θα πρέπει ήδη να μπορεί να παίξει απροβλημάτιστα τέτοια αρχεία.

 

 

3. Αρχεία mov (QuickTime): Ομοίως με το 2. Αν υπάρχει πρόβλημα, προτείνεται η εγκατάσταση του codec QuickTime Alternative Lite

 

 

===Μερικά χρήσιμα links===

 

 

===Ιστορικό αλλαγών===

  • 20090314 - Μεταφορά της ενότητας 2 σε ξεχωριστό άρθρο: DirectShow και βασικές έννοιες video (parsifal)
  • 20081025 - Αφαίρεση "Acknowledgements", hosting εικόνων στον Insomnia server, μικροδιορθώσεις (parsifal)
  • 20080920 - Αλλαγή host των screenshots, αντικατάσταση GraphEdit screenshot από GraphStudio (parsifal)
  • 20080523 - Μικροδιορθώσεις (parsifal)
  • 20080413 - Μικροδιορθώσεις (parsifal)
  • 20080124 - Αναφορά στο CCCP, αποφυγή ελληνικών χαρακτήρων στα install paths (parsifal)
  • 20080113 - Πρώτη έκδοση (parsifal)