Κεφάλαιο 3 – Αναπαραγωγή Η.264 Video με Flash και HTML5

3.1 Ιστορική επισκόπηση του video στο internet

 

Από τις πρώτα χρόνια της εμπορικής διάθεσης του internet η υποστηρίξη για video ήταν μηδαμινή εώς περιοσμένη. Ο όρος streaming media, πολυμέσα ροής, αναφέρετε στην διαδικάσία παροχής περιοχμένου απο τον πάροχο στον τελικό χρήστη. Το μοντέλο αυτό παροχής δεδομένων μπορεί να γενικευθεί, περιλαμβάνοντας τα κλασσικά μοντέλα διάθεσης video μέσω video clubs, τηλεόρασης, περιοδικών καθώς και ανταλαγής cd/dvd.

 

Στις αρχές του 1920 ο George O. Squier κατοχύρωσε πατέντες για ένα σύστημα μετάδοσης και διανομής σημάτων μέσω ηλεκτρικών καλωδίων το οποίο αποτέλεσε την βάση για μια τεχνολογία ενονόματι muzak. Η τεχνολογία αυτή έκανε δυνατή την εκπομπή συνεχούς ροής μουσικής σε εμπορικούς πελάτες χωρίς την χρήση ραδιοφώνου. Προσπάθειες για προβολή πολυμέσων σε υπολογιστές είχαν γίνει απο αρκετά νωρίς, οστώσο μόνο μέχρι τα τέλη της δεκαετίας του 1980 και 1990 εμπορικά συστήματα είχαν την απαιτούμενη επεξεργαστική ισχύ ώστε να είναι σε θέση να προβάλουν αποτελεσματικά πολυμεσικό περιεχόμενο. Οι κύριες τεχνικές προϋποθέσεις για αναπαραγωγή ροής video (streaming video) είναι:

  • Αρκετή επεξεργαστική ισχύς και αρκετή εύρος ζώνης διάυλου ώστε να είναι δυνατή η υποστήριξη των ρυθμών μετάδοσης
  • Δυνατότητα του λειτουργικού συστήματος να αντιμετωπίζει τις υπερχιλήσεις στην μνήμη (buffer underrun) μέσω ελέγχων χαμηλής απόκρισης.

 

Οστώσο τα δίκτυα υπολογιστών ήταν ακόμη περιορισμένα, και η μετάδοση του υλικού γινόταν ακόμη διαμέσου καναλιών χωρίς εκπομπή, όπως κατέβασμα αρχείων απο servers και αποθήκευση τους στον σκληρό δίσκο ή εγγραφή τους σε CD-ROMS.

 

Στα τέλη του 1990 και αρχές του 2000 παρατηρήθηκαν τα παρακάτω:

  • Άυξηση του εύρους ζώνης και σε ημιαστικές περιοχές
  • Άυξηση της δυνατότητας πρόσβασης σε δίκτυα, ιδιαίτερα στο internet
  • Χρήση καθιερωμένων προτώκολλων όπως TCP/IP, HTTP και HTML
  • Εμπορική διάθεση του internet

 

3.1.1 – Εμπορικές Υλοποιήσεις

 

Εταιρίες όπως η RealNetworkds προτοστάτησε στην αγορά του streaming media, όταν μετέδωσε πρώτη αγώνα basket μέσω internet. Επιπλέον η Microsoft ανέπτυξε έναν αναπαραγωγό πολυμέσων γνωστό εώς ActiveMovie το 1995 ο οποίος επέτρεπε την μετάδοση video μέσω ένος κλειστού προτύπου. Πάνω σε αυτό βασίστηκε η δυνατότητα του Windows Media Player 6.4 το 1999 να αναπαράγωγει ροές video απο το internet. Τον Ιούνη του 1999 η Apple παρουσίασε το δικό της πρότυπο που συμπεριλαμβανότανε στο QuickTime 4. Αργότερα υοθετήθηκε παράλληλα με τα πρότυπα ροών των RealPlayer και Windows Media Player. Τα ανταγωνιστικά αυτά πρότυπα απαιτούσαν την εγκατάσταση του κάθε επιμέρους προγράμματος ώστε να είναι δυνατή η αναπαραγωγή των video στις ιστοσελίδες. Το 2002 η ανάγκη υοθέτησης ενός ενιαίου προτύπου για streaming video και η ευρεία υοθέτηση του Adove Flash ώθησε στην ανάπτυξη της δυνατότητας αναπαραγωγής video σε ιστοσελίδες μέσω αυτού. Ακόμη και σήμερα το Flash χρησιμοποιείται ευρέως για την αναπαραγωγή video σε δημοφιλής υπηρεσίες διαδικτυακού video όπως YouTube.

 

Σχ.2 – Χρονική εξέλιξη των τεχνολογίων video στο web

 

3.1.2 – Η εμπορική διάθεση των υπηρεσίων ροής video

 

Οι εξελίξεις στα δίκτυα υπολογιστών σε συνδιασμό με την στιαδιακή άυξηση της επεξεργαστικής ισχύς των οικιακών υπολογιστών και λειτουργικών συστημάτων κατέστησε τις υπηρεσίες ροής video πρακτικά διαδέσιμες για τον κάθε χρήστη. Υπηρεσίες διαδικτυακού ραδιοφώνου επέτρεψαν την ακρόαση ακόμη και χωρίς υπλογιστή. Σε γενικές γραμμές, το πολυμεσικό περιεχόμενο όπως video και εικόνα απαιτούν μεγάλο όγκο δεδομένων με αποτέλεσμα να διανέμονται συμπιεσμένα είτε για αποθήκευση ή μετάδοση.

 

Ακόμη η ολοένα ανάγκη μετάδοσης video υψηλής ευκρίνας (HD) οδήγησε την βιομηχανία πληροφορικής να αναπτύξει τεχνολογίες όπως WirelessHD ή ΙΤU-T G.hn τα όποια ειδικεύονται στην μετάδοση περιεχομένου υψηλής ευκρίνιας χωρίς να απαιτείται η εγκατάσταση επιπλεόν καλωδίων. Σήμερα το video δύναται να μεταδοθεί είτε σε πραγματικό χρόνο (live) είτε κατ επιλογή (on demand). Οι μεταδόσεις πραγματικού χρόνου παρέχονται απο μέσα που ονομάζονται “true streaming”. Αυτά στέλνουν την πληροφορία κατευθείαν στον υπολογιστή ή συσκευή χωρίς την αναγκή αποθήκευσης της στον σκληρό δίσκο. Οι υπηρεσίες on demand παρέχονται απο μέσα προοδευτικής ροής “progressive streaming”. Η τεχνική αυτή αποθηκεύει το αρχείο προσωρινά στον σκληρό δίσκο και έπειρα αναπαράγεται απο εκεί.

 

3.1.3 – Έυρος ζώνης & αποθηκευτικές απαιτήσεις ροών video

 

Μια ευρυζωνική σύνδεση της τάξης των 2.5Mbit/s ή παραπάνω συνίσταται για την αναπαραγωγή online video, σε αντίθεση με τις υλοποιήσεις Apple TV, Google TV ή το Sony TV Blue-Ray Disk Player που απαιτείται τουλάχιστον 10Mbit για αναπαραγωγή περιεχομένου υψηλής ευκρίνειας. Το μέγεθος ένος αρχείου online video υπολογίζεται βάση του εύρος ζώνης  ροής και το μέγεθος του με χρήση της παρακάτω φόρμουλας (για ένα μόνο αρχείο ανα χρήστη): Μέγεθος αποθήκευσης (σε ΜΒ) = διάρκεια video (σε seconds) x ρυθμός δεδομένων (bitrate σε bit/s) / ( 8 x 1024 x 1024).

 

Παράδειγμα: Μια ώρα video κωδικοποιημένο σε 300 kbit/s (ένα τυπικό video εν έτη 2005 με ανάλυση 320 x 240) θα είναι: (3,600 s x 300,000 bit/s) / (8 x 1042 x 1024) απαιτεί  περίπου 128 MB για την αποθήκευση του. Εάν το αρχείο αποθηκευθεί σε έναν πάροχο για αναπαραγωγή κατα βούληση και αυτή η ροή προσπελασθεί απο 1000 χρήστες ταυτόχρονα με χρήση προτοκόλου εκπομπής unicast, οι απαιτήσεις είναι οι εξής: 300 kbit/s x 1,000 = 300,000 kbit/s = 300 Mbit/s εύρους ζώνης. Αυτό αντιστοιχεί σε 135 GB ανα ώρα. Με χρήση προτοκόλου multicast ο πάροχος στέλνει προς τα έξω μια μοναδική ροή δεδομένων κοινή σε όλους τους χρήστες. Επομένως στην περίπτωση αυτή θα απαιτείτω μόνο 300 kbit/s εύρος ζώνης απο μεριάς του παρόχου της υπηρεσίας.

 

Σχ.3 –  Οι τεχνικές μονής εκμπομής (Unicast) απαιτόύν πολλαπλές επιμέρους συνδέσεις απο τον ίδιο πάροχο εκπομπής ακόμη και όταν εκπέμπεται το ίδιο περιεχόμενο.

 

3.1.4 –  Codec, ροές δεδομένων, επίπεδο μεταφοράς, τεχνικές ελέγχου

 

Η ροή δεδομένων που αφορά τον ήχο συνήθως συμπιέζεταθ με χρήση αλγορίθμων συμπίεσης όπως Mp3, Vobris ή AAC. Για την ροή του video γίνεται συμπίεση με χρήση codec όπως το VP8 και το H.264 το οποίο θα επικεντρωθούμε στην συνέχεια. Το κωδικοποιημένο video και ήχος συνθέτονται σε μια ενιαία ροή δεδομένων όπως flv, WebM, ASF ή ISMA. Η ροή αυτή διανέμεται απο τον πάροχο στον χρήστη με χρήση προτοκόλων μεταφοράς όπως το MMS ή RTP. Αυτός μπορεί να αλληλεπιδρά με τον πάροχο με χρήση των προτοκόλων ελέγχου όπως το MMS ή RSTP

 

3.2 –  Το πρότυπο H.264, WebM στο internet με χρήση της HTML5

 

Το σύνολο προδιαγραφών που περιγράφονται με την HTML5 εισήγαγαν το στοιχείο του video μέσω το <video> tag με σκοπό την αναπαραγωγή video και ταινιών αντικαθιστώντας το object element. Η ανάπτυξη των προδιαγραφών του HTML5 video έγινε με στόχευση να αποτελέσει ένα νέο πρότυπο για αναπαραγωγή video χωρίς την ανάγκη χρήσης plugins, ή οποία δυστηχώς συναντά εμπόδια λόγω της μη συμφωνίας μεταξύ των formats τα οποία θα πρέπει να υποστηριχθούν απο τους browsers.

 

3.2.1 – Ιστορική ανασκόπηση του <video> tag

 

To html tag <video> αρχικά προτάθηκε απο την Opera Software τον Φεβρουάριο του 2007. Η Opera ακόμη δημοσιευσε μια δοκιμαστική έκδοση του browser της την ίδια μέρα καθώς και μια δήλωση που πρότεινε οτι το video έπρεπε να ενσωματωθεί ριζικά στο web.

 

Παραδείγματα HTML5 <video> tag με χρήση ενός video WebM:

 

<video src=”movie.webm” poster=”movie.jpg” controls>
</video>

 

HTML5 <video> tag με χρήση πολλαπλών πηγών

 

Η χρήση πολλαπλών πηγών video, όπως φαίνεται στον κώδικα παρακάτω, καθιστά ικανό τον broswer να επιλέγει αυτόματα πιο αρχείο να διαβάσει. Εναλλακτικά μέσω JavaScript η συνάρτηση canPlay() μπορεί να χρησιμοποιηθεί για ακριβώς τον ίδιο σκοπό. Η παράμετρος “type” προσδιορίζει το MIME type και το σύνολο των codecs βοηθώντας τον browser να προσδιορίσει εάν είναι σε θέση να αποκωδικοποιήσει το αρχείο. Ακόμη και με μόνο μια επιλογή, οι πληροφορία αυτή είναι σημαντική για έναν browser ώστε να ανατρέξει στην πολυμεσική βιβλιοθήκη ώστε να επιλέξει τον κατάλληλο codec για την αποκωδικοποίηση. Λόγω της μη ύπαρξης ενός κοινού format video, οι προσθήκη πολλαπλών πηγών είναι αναγκαία για την αποφυγή ανάγκης εντοπισμού του browser (sniffing) όπου συνήθως υπόκειται σε λάθη δεδομένου οτι η γνώση ενός προγραμματιστή ιστοσελίδων θα είναι πάντα ελλειπής. Έτσι λοιπόν είναι σκόπιμο να αφήνουμε στον broswer να κάνει μόνος του την επιλογή της πηγής.

 

Παράδειγμα HTML5 <video> tag με χρήση προλλαπλών πηγών:

 

<video poster=”movie.jpg” controls>
       <source src=”movie.webm” type=’video/webm; codecs=”vp8.0, vorbis”‘/>
       <source src=”movie.ogv” type=’video/ogg; codecs=”theora, vorbis”‘/>
       <source src=”movie.mp4″ type=’video/mp4; codecs=”avc1.4D401E, mp4a.40.2″‘/>
       <p>This is fallback content</p>
</video>

 

3.2.2 – Υποστηριζόμενα format video απο το HMTL5 <video> tag

 

Οι προδιαγραφές της HTML5 δεν προσδιορίζει ποια format video θα πρέπει οι browsers να υποστηρίζουν. Κάθε κατασκευαστής έχει την δυνατότητα να επιλέγει οποιδήποτε είδος video τον βολεύει, αλλά δεν πρέπει να υποθέτουν αυτοί που παράγουν υλικό προς δημοσιευση οτι θα μπορεί ο κάθε τελικός χρήστης να αναπαράγει ένα συγκεκριμένο format. Ο κάθε browser δεν υποχρεούνται να υποστηρίζει όλα τα διαθέσιμα είδη συμπιεσης/κωδικοποίησης video.

 

Η διαμάχη μεταξύ των διαφορετικών format video

 

Η ομάδα εργασίας της HTML5 θεωρεί ότι είναι σημαντικό να καθορίσει τουλάχιστον ένα format video το οποία πρέπει οι browsers να υποστηρίζουν. Το ιδανικό αυτό format θα πρέπει:

 

  • Να έχει καλό λόγο συμπίεσης, καλή ποιότητα εικόνας καθως και χαμηλές επεξεργαστικές απαιτήσεις κατα την αποκωδικοποίηση του video
  • Να μην έχει πνευματικά δικαιώματα
  • Πέρα απο τους αποκωδικοποιητές με χρήση λογισμικού θα πρέπει να υπάρχει ένας αποκωδικοποιητής βασισμένος σε υλικό (hardware) καθώς πολύ ενσωμετωμένοι επεξεργαστές δεν έχουν καλή απόδοση κατα την αποκωδικοποίηση ενός video.

 

Αρχικά το Ogg Theora προτάθηκε σαν το ιδανικό πρότυπο καθώς δεν επηρεαζόταν απο καμία γνωστή πατέντα λογισμικού. Το Δεκεμβριο του 2007 όμως, το πρότυπο HTML5 ανανεώθηκε, αντικαθιστώντας την αναφορά στα καθιερωμένα formats: Οι browsers πρέπει να υποστηρίζουν το Theora video και Vobris audio, καθώς και το Ogg.

 

Με χρήση κώδικα συμπεριληψης (placeholder) θα ήταν σκόπιμη η διαλειτουργικότητα μεταξύ των browsers ώστε να υποστηρίζουν τα ίδια codecs. Ωστόσο, δεν υπάρχει codec που να ικανοποιεί όλους τους κατασκευαστές. Υπάρχει ανάγκη χρήση ενός codec που να μην απαιτεί αδειοδότησε ανά χρήστη ή διανομέα, να είναι συμβατός με το μοντέλο ανάπτυξης ανοιχτού κώδικα, να έχει τα ποιοτικά χαρακτηριστικά ώστε να είναι αξιοποιήσημος καθώς και να μην αποτελεί κίνδυνο για μεγάλες εταιρίες η καθυστέρηση έκδοσης πατέντων λογισμικού.

 

Παρόλο που το Ogg Theora δεν επηρεάζεται απο καμία γνωστή πατέντα, εταιρίας όπως η Apple και Nokia απασχολούνται κατα πόσο άγνωστες πατέντες θα μπορούσαν να το επηρεάζουν, κάτοχοι των οποίων θα μπορούσαν να στοχεύουν την λήψη ασφαλιστικών μέτρων κατά μεγάλων εταιρίων με υψηλό αποθεματικό κεφαλαίο που ενδέχετω να κάνου χρήση τους. Πρότυπα όπως το H.264 ενδέχεται να υποκύπτουν σε άνγωστες πατέντες, αλλά εφόσον έχουν χρησιμοποιηθεί ευρέως υποθέτουμε οτι οι κάτοχοι τους έχουν γνωστοποιηθεί ευρέως. Η Apple αντιτάθηκε επίσης στην υοθέτηση του Ogg format στο πρότυπο HTML (ακόμη και σαν “απαραίτητη προϋποθεση”) με την δικαιολογία ότι οι συσκευές της υποστηρίζουν πιο εύκολα άλλα format και ιστορικά η HTML δεν απαιτούσε συγκεκριμένα format για οτιδήποτε.

Ορισμένοι web developers άσκησαν κριτική στην αφαίρεση του Ogg format απο το πρότυπο. Η διαμάχη συνεχίστηκε στο blog ερωτοαπαντήσεων της W3C. Το πρότυπο H.264/MPEG-4 AVC χρησιμοποιείται ευρέως, έχοντας καλή ταχύτητα, συμπίεσης, υποστηριζόμενο από κυκλώματα αποκωδικοποιησης καθώς και ικανοποιητική ποιότητα εικόνας αλλά υπόκεινται σε πατέντες λογισμικού. Εκτός από ορισμένες περιπτώσεις, αυτοί που υλοποιούν κάτι με το H.264 υποχρεώνται να πληρώνουν τέλη για αδειοδότηση στην MPEG-LA, μια ομάδα κατόχων πατεντών συμπεριλαμβανομένου την Microsoft και Apple. Αποτέλεσμα των παραπάνω είναι να μην θεωρείται σαν codec απαιτείται η συμπερίληψη του. Τον Ιούνη του 2009 η WHATWG κατέληξε ότι κανένα τρέχων format δεν είναι κατάλληλο για καθορισμό του εώς απαίτηση.

 

Η αγορά από την Google της On2

 

Η αγορά της On2 απο την Google το 2010 είχε σαν αποτέλεσμα το VP8 format video να αποτελεί ιδιοκτησία της. H Google παρέχει την δυνατότητα χρήσης του VP8 χωρίς δεσμεύσεις λόγω δικαιωμάτων πνευματικής ιδιοκτησίας. Η Google άρχισε επίσης το WebM, που περιλαμβάνει ένα μη προτυπομοιμένο, ανοιχτού λογισμικού, VP8 video codec με ήχο βασισμένο στο Vobris σε έναν Matroska υποδοχέα (container). Η μετάβαση του VP8 καλωσορήσθηκε απο την κοινότητα ανοιχτού λογισμικού.

 

Όταν η Google ανακοίνωσε τον Ιανουάριο του 2011 ότι θα παρείχε ενσωματωμένο υποστήριξη του H.264 στον Chrome, προέκυψε κριτική απο μέρους παραγόντων της Ars Technica και Microsoft, οι οποίοι σύγκριναν την κίνηση αυτή της Google όμοια με την δήλωση της Esperanto σαν επίσημη γλώσσα των Ηνωμένων Πολιτιών. Ωστόσο ο Haavard Moen της Opera Software άσκησε οξεία κριτική στο άρθρο της Ars Technica και η Google απάντησε τονίζοντας την πρόθεση της να προωθήσει το WebM σύμφωνα με την φιλοσοφία που διέπει το ανοιχτό λογισμικό. Μέτα την παρουσίαση του WebM η Mozilla και η Opera Software ζήτησαν την συμπερίληψη του VP8 στην HTML.

 

Σχ.2 – Η επίδραση των codec της on2 technologies σε καθιερωμένα πρότυπα

 

3.3 – Υποστήριξη απο browsers

 

Ο παρακάτω πίνακας μας δείχνει πια video formats είναι πιθανό να υποστηρίζονται απο κάθε επιμέρους browser. Κάθε ένας χρησιμοποιεί μια βιβλιοθήκη πολυμέσων (multimedia framework) για την αποκωδικοποίηση και προβολή ενός video, αντί να ενσωματώνει όλα αυτά τα στοιχεία λογισμικού. Δεν είναι δυνατή η γνώση των formats που υποστηρίζονται απο μια βιβλιοθήκη πολυμέσων χωρίς να ανατρέξουμε σε αυτήν, καθώς κάθε φορά εξαρτάται από το λειτουργικό σύστημα και codec τρίτων κατασκευαστών. Στις περιπτώσεις αυτές, η υποστήριξη ενός video codec είναι χαρακτηριστικό του framework και όχι του browser ή της μηχανής του, υποθέτωντας οτι αυτός ανατρέχει στην βιβλιοθήκη πολυμέσων πριν απορίψει άγνωστα format video. Σε ορισμένες περιπτώσεις η υποστήριξη που φαίνεται στον παρακάτω πίνακα δεν είναι αποτέλεσμα των codec που υπάρχουν ήδη διαθέσιμα απο τις βιβλιοθήκες πολυμέσων του λειτουργικού σύστηματος ή των ενσωματωμένων δυνατοτήτων αποκωδικοποίησης του browser αλλά ενός επιπρόσθετου του browser που δύναται να παρακάμψει την συνηθισμένη ανάγνωση του HTML <video> tag ώστε να εμφανίζει ενός plug-in video player.

 

Το format video μπορεί να καθοριστεί απο το MIME type στην HTML. Τα MIME types χρησιμεύουν ώστε να ανατρέχει ο browser κάθε φορά στην βιβλιοθήκη πολυμέσων για υποστηριζόμενα formats. Απο όλους τους browsers μόνο ο Firefox και ο Opera ενσωματώνουν βιβλιοθήκες για ενσωματωμένη αποκωδικοποίηση. Πρακτικά ο Internet Explorer και ο Safari διασφαλίζουν την υποστήριξη ορισμένων format, καθώς οι κατασκευαστές τους είναι οι ίδιοι που δημιουργούν τις βιβλιοθήκες πολυμέσων. Στην αντίπερα όχθη o Konqueror έχει πανοιμότυπη υποστήριξη με τον Internet Explorer όταν εκτελείται στα Windows ή ο Safari στον Mac, καθώς ο Konqueror συνήθως εκτελείται σε GNU/Linux. Γενικά η διαφοροποίηση της υποστήριξης σε format προσδιορίζεται από τα αντικρουόμενα συμφέροντα των κατασκευαστών, όπως π.χ. η Media Foundation και Quicktime υποστηρίζουν εμπορικά πρότυπα ενώ το Gstreamer και Phonon δεν μπορούν νομικά να υποστηρίξουν κάτι άλλο πέρα απο ανοιχτά formats εξ ορισμού στα ανοιχτά λειτουργικά για τα οποία κατασκευάζονται (Linux/BSD).

 

Σχ.4 Διαθεσιμότητα των format video σε αντιστοιχία με το ποσοστό χρήσης των browsers

 

3.4 –  Αποδοχή του HTML5 <video>

 

Τον απρίλιο του 2010 με την παρουσίαση του iPad, πλήθος δημοφιλών υπηρεσίων του internet άρχισαν να παρέχουν το H.264 HTML5 video αντί του Flash για χρήστες της συγκεκριμένης συσκευής. Τον Μάη του 2010 το HTML5 video δεν ήταν τόσο διαδεδομένο όπως το flash video αλλά παρόλα αυτά πειραματικές εκδόσεις html5 video players άρχισαν να εμφανίζοναι απο την Dailymotion (με χρήση του Ogg Theora Vorbis) Youtube (με χρήση του Η.264 και WebM) και Vimeo (με χρήση του H.264) υποδηλώνουν την ολοένα αυξητική τάση υοθέτησης του HTML5 video.

 

Ορισμένοι βασικοί παρόχοι video ανακοίνωσαν ότι αποφασίζουν να συνεχίζουν να χρησιμοποιούν τεχνολογίες πέρα από το HTML5 video. Σύμφωνα με ανάρτηση στο blog του Youtube τον Ιούνη του 2010, το <video> tag δεν καλύπτει τις ανάγκες μιας τέτοιας κλίμακας υπηρεσίας. Σαν κύριος λόγος προτάθηκε η απουσία ενός καθιερωμένου format, την απουσία ενός αξίοπιστου τρόπου μεταφοράς του video στον browser, η έλειψη δυνατότητας της Javascript να προβάλει σε πλήρης οθόνη καθώς και λόγους προστασίας του περιεχομένου. Το Hulu δεν έχει υοθετήσει το HTML5 video  λόγω της έλλειψης δυνατότητας παροχής περιεχομένου με προσαρμοσμένο έυρος ζώνης (adaptive bandwidth), έλλειψης προστασίας του περιεχομένου των παραγωγών και αδυναμίας παροχής στους διαφημιστές με πληροφορίες. To Netflix δήλωσε πως υπάρχουν αρκετοί λόγοι που τους αποτρέπουν στην υοθέτηση του HTML5 video: μη ύπαρξη A/V container ευρίας αποδοχής, codec video και ήχου, πρωτόκολο ροής, τρόπος για ώστε το πρωτόκολο να προσαρμόζεται σύμφωνα με το διαθέσιμο έυρος ζώνης, τρόπος ώστε να παρέχονται πληροφορίες για τις διαθέσιμες ροές δεδομένων και άλλως παραμέτρων στον αναπαραγωγέα video, τρόπος για την προστασία του περιεχομένου, και απουσία κάποιου ρεαλιστικού τρόπου ενσωμάτωσης των απαιτήσεων αυτών στην HTML5.

 

Το Ιανουάριο του 2011, το Chromium Project της Google ανακοίνωσε στο blog του η υποστήριξη εμπορικών codec θα αφαιρεθεί απο μελοντικές εκδόσεις του Chrome. Η ανακοίνωση του Chromium ανέφερε συγκεκριμένα ότι η κίνηση αυτή ήταν κομμάτι της προσπάθειας αύξησης χρήσης του άνευ-άδειας HTML5 <video> tag, οδηγώντας την προσπάθεια αποδοχής του ανοιχτού VP8 και Theora. Τον Φεβρουάριο του 2011 η Microsoft ανακοίνωσε την δημοσίευση της επέκτασης HTML5 Windows Media Player για τον Chrome σε Windows 7, η οποία παρείχε την δυνατότητα χρήσης του Η.264 που υπόκειται σε άδειες πνευματικής ιδιοκτησίας. Πλήθος εξελιγμένων HMTL5 players έχουν εμφανισθεί στο προσκήνιο. Ο SublimeVideo Player αποτέλεσε τον πρώτη προσπάθεια ανάδειξης ενός προσασμοσμένου player με καλύτερη εμπειρία αναπαραγωγής σε σχέση με τον ενσωματωμένο player του browser. Δυνατότητες όπως ενοποιημένη εμφάνιση του player σε κάθε συσκευή, μετακύληση σε flash player για μη υποστηρίζομενους browsers ή συσκευές και πραγματική αναπαραγωγή πλήρης οθόνης. Άλλες δημοφιλής επιλογές αποτελούν οι JW Player, Video JS και MediaElement.js

 

3.5 – Σύγκριση HTML5 <video> και Flash

 

Προφανώς το flash αποτελεί μια αναλακτική στο Adobe Flash για την αναπαραγωγή video στο web. Και τα δύο περιλαμβάνουν δυνατότητες αναπαραγωγής video και ήχου μέσα σε ιστοσελίδες καθώς και χρήση διανυσματικών γραφικών svg υποστηρίζονται και στο κάθε ένα απο αυτά. Μια κοινή παρανόηση αποτελεί ότι η HTML5 δύναται να παρέχει την δυνατότητα προβολής διαδραστικών animation. Απαιτείται η χρήση Javascript ή CSS 3 για τον παραπάνω σκοπό αυτό.

 

Διαθεσιμότητα του Flash

 

Το Adobe Flash δημιουργήθηκε το 1996 και λόγω αυτού χαίρει ευρείας αποδοχής απο χρήστες και προγραμματιστές διαδικτύου. Σύμφωνα με στατιστικά της Adobe, το Flash έφτασε στο 98% σε υοθέτηση τον Μάρτη του 2010. Η τελευταία έκδοση του flash τρέχει σε Microsoft Windows, Mac OS X, Linux, Android 2.2 εώς 4.0, Google TV, Playstation, PSP, Wii, Symbian, Meamo Linux, Windows Mobile κ.α. Η Apple δεν επιτρέπει τις συσκευές της να τρέχουν Flash στο iOS που συναντάται στο iPad, iPhone, iPod Touch & Apple TV καθώς όπως χαρακτηριστικά είχε δηλώσει υπονομεύουν την απόδοση των συσκευών αυτών.

 

Διαθεσιμότητα της HTML5

 

Η προεργασία για το πρότυπο HMTL5 είχει ήδη αρχίσει απο το 2003 και μόλις στις αρχές του 2011 ήταν σε λειτουργικό στάδιο ανάπτυξης. Η παρούσα έκδοση έχει αρκετά κενά υλοποίησης. Το 2006 υποστήριχθηκε από τον Ian Hickson ότι το πρότυπο αυτό δεν θα ήταν τελική έκδοση μέχρι το 2022. Τον Μάρτη του 2011 οι browsers όπως Internet Explorer, Firefox, Chrome, Safari και Opera ενσωμάτωσαν την HTML5 σε μεγάλο βαθμό. Ωστόσο, αρκετοί χρήστες του Internet συνεχίζουν να χρησιμοποιούν παλιούς browsers όπως Internet Explorer 8 (η τελευταία έκδοση που υποστηρίζεται στα Windows XP). Έτσι λοιπόν ενδέχεται μεγάλο κομμάτι του προτύπου HTML5 να μην υποστηρίζεται απο τους browsers που είναι σε χρήση στο web.

 

Υοθέτηση του flash από ιστοσελίδες σύμφωνα με την Adobe

 

  • 85% των δημοφηλέστερων ιστοσελίδων κάνουν χρήση του Flash
  • 75% του web video αναπαράγεται με χρήση του Flash Player
  • 98% των εταιρίων βασίζονται στον Flash Player
  • 70% των παιχνιδιών στο web φτιάχνονται με χρήση του Flash

 

Πολλές σελίδες όπως προαναφέρθηκε υποστηρίζουν ακόμη πειρματικά το HTML5 video όπως YouTube, Vimeo κ.α. Σύμφωνα με δήλωση του Steve Jobs τόνισε οτι το Flash δεν αποτελεί ανοιχτό πρότυπου άρα υπόκειται στον έλεγχο της Adobe Systems ενώ το πρότυπου HTML5 ελέγχεται νομικά απο την επιτροπή WHATWG που αποτελείται απο τρεις εταιρίες: Opera Software, Mozilla και Apple.

 

Απόδοση

Ορισμένοι χρήστες, ιδιαίτερα αυτού σε πλατφόρμες όπως Mac OS X και Linux έχουν αναφέρει υψηλό ποσοστό χρήσης του επεξεργαστή κατα την διάρκεια αναπαραγωγής video με flash. Αυτό οφείλεται εν μέρη στην έλλειψη υποστηρίξης της κάρτας γραφικών κατά την προβολή του video. Η Adobe απάντησε σε αυτούς τους ισχυρισμούς στις εκδόσεις 10.1 και 10.2 του flash plugin εκφορρώνοντας της αποκωδικοποίηση του H.264 video σε ειξιδικευμένο υλικό παρουσιάζοντας ένα νέο video API γνωστό εώς Stage Video. Επιπλέον η χρήση της νέας έκδοσης ActionScript 3.0 στο flash video σε σχέση με την παλαιότερη ActionScript 2.0 βελτιώνει περίπου 10 φορές την ταχύτητα εκτέλεσης του κώδικα. Ωστόσο παλαιότερες σελίδες γραμμένες σε ActionScript 2.0 δεν επωφλούνται απο τα παραπάνω. Ένας ακόμη λόγος χαμηλής απόδησης του flash και html5 αποτελεί τον γεγονός μη σωστής χρήσης κώδικα απο μεριάς του προηραμματιστή.

 

Δυνατότητες

Το πρότυπο flash έχει την δυνατότητα να κάνει υπολογισμούς σε τμήματα υπο-εικονοστοιχείων (sub-pixel increments). Αυτό το καθιστά ικανό να προβάλει video με μεγαλύτερη ευκρίνεια και γενικά να έχει πιο ευχάριστη εμφάνιση σε ιστοσελίδες βασισμένες σε flash. Σε σύγκριση με υπολογισμούς με CSS και HTML5 σε κλίμακα υπο-εικονοστοιχείων, θα παράγουν μεταβλητό αποτέλεσμα που εξαρτάται κάθε φορά απο τον browser, κάνοντας το τελικό εμφανησιακό αποτέλεσμα μη συνεκτικό στις σελίδς αυτές.

 

Το flash προσφέρει υποστηρίξη σε webcams και DRM, ενώ το HTML5 και αντίστοιχες τεχνολογίες δεν προσφέρουν αυτές τις δυνατότητες προς το παρόν. Υπάρχουν ομάδες ατόμων που αναπτύσουν την υποστήριξη για συσκευές (device API) στο HTML5 πρότυπο, οι οποίες μελλοντικά θα επιτρέψουν την τηλεσυνδιάσκεψη, πρόσφαση σε webcams καθώς και συσκευές USB.

 

Διασυμβατότητα μεταξύ λειτουργικών συστημάτων

Σε μια ομιλία στην ‘Adobe Max’ το 2011, o Itai Asseo υποστήριξε ότι, σε αντίθεση με το HTML5, το flash προσφέρει έναν καλό τρόπο για την ανάπτυξη εφαρμογών που δουλεύουν αποτλεσματικά σε όλες τις πλατφόρμες. To HMTL5 απο την άλλη υλοποιείται διαφορετικά σε κάθε επιμέρους browser. Παρόλο που το iOS δεν υποστηρίζει το flash, οι εφαρμογές μπορούν να εξαχθούν μέσω του Adobe AIR, το οποίο τρέχει στο λειτουργικό αυτό σαν εξορισμού εφαρμογή. Στην ίδια συζήτηση ο Asseo κινδυνολόγησε για έναν νέο πόλεμο μεταξύ των browsers όμοιο με αυτόν στα τέλη του 1990. Εάν το flash πάψει να είναι αρεστό, οι προγραμματιστές θα πρέπει είτε να υλοποιούν διαφορετικές εκδόσεις της ιστοσελίδας που αναπτύσουν ή εφαρμογών τους, λαμβάνοντας υπόψιν τις διαφορετικές υλοποιήσεις της HTML5, ή ακόμη να αρνούνται την πρόσβαση στις ιστοσελίδες τους σε browsers που δεν υποστηρίζουν την έκδοση αυτή της HTML και να μειώνουν την λειτουργικότητα της σελίδας τους σε μη εξελιγμένους browsers.

 

3.6 – Ενσωματωμένη αποκωδικοποίηση του H.264 video σε flash και HTML5

 

3.6.1 – Flash και H.264 video

 

Μετά απο 9 χρόνια ο Flash Player θα ενσωμετώσει έναν νεο video codec. Το 2002 ο Flash Player συμπεριέλαβε έναν video codec που παρείχε ο Sorenson. Το Spark Video Codec αποτελούσε μια προσασμοσμενή και απλή υλοποιήση του προτύπου H.263. Υποστήριζε απλές τεχνικές κωδικοποίησης από το H.263v1 (P-Frames με πρόβλεψη κίνησης, ακρίβεια μισού εικονοστοιχείου, 1 frame αναφοράς, +/- 16 εικονοστοιχεία μακράς αναφοράς, RLE και Huffman εντροπίες για κωδικοποίηση) με επιπλεόν ορισμένες εμπλουτισμένες δυνατότητες αποτμηματοποίησης (deblocking) στην μετα-επεξεργασία και το ειδικά D-Frames (Desposable Frames) τα οποία μοιάζουν με τα P-Frames αλλά δεν μπορούν να χρησιμοποιηθούν σαν αναφορές. Η τελευταία αυτή τεχνική υλοποιήθηκε ώστε να υποστηρίξει την κύρια στόχευση του Spark: να παρέχει έναν codec video χαμηλής απόκρισης για επικοινωνία στο internet.

 

O Flash Player 6 ηταν ικανότατος ώστε να παρέχει την δυνατότητα να παράγει και να συνθέτει ροές video αλλά μόνο απο το νέο προϊον της Macromedia για servers: Τον Flash Communication Server (FCS), ένα επαναστατικό προϊον σε σχέση με τα αντίστοιχα προϊοντα της εποχής. Η υψηλή τιμή του (4500$) εμπόδισε την ευρεία αποδοχή του. Με την επερχόμενη έκδοση Flash Player 7 η Macromedia αποφάσισε να ξεκλειδώσει την δυνατότητα χρήσης των video Sorenson για προοδευτικό κατέβασμα. Αυτό αποτέλεσε τον λόγο έναρξης μιας “επανάστασης” στo internet. Μετά απο 2 με 3 χρόνια το Spark video codec κατέστει αναρχονισμένος, καθώς η υλοποίηση το κωδικοποιητή στον Flash Player δεν ήταν βελτιστοποιημένη και χρησιμποιούσε πολύ λίγες προσεγγίσεις κατα τον έλεγχο της κωδικοποίησης. Η κοινότητα άρχισε να επιζητά βελτιώσεις χωρίς ιδιαίτερη ανταπόκριση μέχρι τα μέσα του 2011. Έτσι λοιπόν η Adobe παρουσίασε στον κωδικοποιητή flash έναν τύπου H.264. Καθώς το H.264 αποτελεί την αχμή ανάμεσα στις τεχνολογίες κωδικοποίησης video, η παρουσία των B-Frames και οι δυνατότητες που παρέχει ο codec αυτός ώστε ακόμη μια φτωχή υλοποίηση θα ήταν ικανή να οδηγήσει σε σημαντικές βελτιώσεις στο Spark codec.

 

Το flash video υποστηρίζει επεξεργασία βασισμένη στο υλικό, πολυ-πύρηνη αναπαραγωγή πλήρους οθόνης και είναι σε θέση να προβάλει οποιοδήποτε H.264 video συμπεριλαμβανομένου των mp4 και mov αρχείων. Το Η.264 έχει την βέλτιστη δυνατή ποιότητα εικόνας και η υποστήριξη του απο τον flash player σημαίνει ότι δια υπάρχει ένας άριστος συνδιασμός ενός δημοφιλούς λογισμικού όπως το flash με το πιο δημοφιλή πρότυπο video. Αυτό έχει σαν αποτέλεσμα, την έυκολη και άμεση αναπαραγωγή video ύψηλής ευκρίνιας (HD) για κάθε τελικό χρήστη στο web. Το τελικό αναπαραγόμενο video έχει την βέλτιστη απόδοση και εμφάνιση. Θα αποτελέσει έναν σημαντικό και καταλυτικό παράγοντα ώστε να ωθήσει το video στην εποχή της υψηλής ευκρίνιας (HD).

 

Όσο αναφορά τους παραγωγούς video έχει αρκετά νέα προτερήματα. Θα είμαστε να θέση να κωδικοποιούμε video σε έναν διαδεδομένο και ανοιχτό codec και θα δύναται να αναπαραχθεί σε κάθε συσκευή συνδεδεμένη με τον internet. Ο Flash Player 9 σε μερικούς μήνες άγγιξε το μερίδιο 84,3%. Η μετάβαση αυτή δίνει την δυνατότητα χρήσης πολών εργαλείων και βιβλιοθηκών βασισμένες στον H.264 codec. Εργαλεία όπως το Adobe Premiere Pro και Adobe After Effects υποστηρίζουν πλήρως τον codec αυτό. Αποτελεί ένα σημαντικό βήμα διευκόλυνσης για την δημιουργία υλικού για άμεση αναπαραγωγή στο web.

 

3.6.2 – HTML5 και Η.264 video

 

Όπως προαναφέρθηκε παραπάνω το πρότυπο html5 δεν έχει κατασταλάξει ακόμη όσο αναφορά τον κυρίαρχο codec που συνίσταται να χρησιμοποιείται στο <video> tag. Με λίγα λόγια το H.264, Ogg Theora και WebM αποτελούν τα τρία ανταγωνιστικά πρότυπα που ενδέχεται να κυριαρχήσουν στο μέλλον. Ορισμένες ομάδες ενδιαφόροντος είτε εμπορικές είτε απο την κοινότητα του ανοιχτού λογισμικού υποστηρίζουν το κάθε ένα παραπάνω πρότυπο. Συνοπτικά το H.264 υποστηρίζεται απο την WHATWG (Apple, Mozilla, Opera), το Οgg Theora το οποίο υποστηρίζεται απο την κοινότητα ανοιχτού λογισμικού και τέλος το WebM ή VP8 το οποίο αναπτύχθηκε απο την On2, πέρασε στα χέρια της Google το 2010 και πλέον αποτελεί κομμάτι ανοιχτού λογισμικού.

 

Κάθε απο τις παραπάνω τεχνολογίες έχει τα υπέρ και τα κατά του, με νομικούς περιορισμούς το καθένα για την υλοποιήση και ενσωμάτωση του στους browsers ή μη, καθώς και ζητήματα τεχνικής υπεροχής μεταξύ τους σε εξεικευμένες εφαρμογές. Στην περίπτωση μας θα επικεντρωθούμε στο H.264 και θα το συγκρίνουμε με τα άλλα 2 πρότυπα καθώς καθώς και με τον flash player. Όπως είπαμε το τοπίο στο HTML5 video δεν έχει κατασταλάξει πλήρως καθώς είναι σημαντικό να ξεπεραστούν ορισμένα τεχνολογικά εμπόδια με προσθήκη επιπλέον λειτουργειών στα τρία παραπάνω πρότυπα και θέματα καθαρά πολιτικής των ομάδων που τα υποστηρίζουν.

 

Στο επόμενο κεφάλαιο θα εξετάσουμε καθαρά ποσοτικά και ποιοτικά την απόδοση όσως εξετάσθηκαν στο κεφάλαιο αυτό, με δοκιμή τους σε όσο το δυνατόν περισσότερους browsers και λειτουργικών συστημάτων στο ίδια υπολογιστικό σύστημα και θα προσπαθήσουμε να δούμε πιο από όλα αποδίδει πιο σταθέρα σε υψηλά bitrates και αναλύσεις των 720p και 1080p

 


Source: Quantaofnoise

Leave a Reply

Your email address will not be published. Required fields are marked *