Το προφίλ μας στο Google Plus
0

Sniff… μυρίζομαι βίντεο…

Υπάρχουν περισσότερα από πολλά εργαλεία στο internet που σας βοηθούν να κρατάτε τοπικά αντίγραφα των βίντεο που συναντάτε στις διάφορες διαδικτυακές υπηρεσίες video sharing. Παρά την μεγάλη ποικιλία όμως, σχεδόν κανένα εργαλείο δεν λειτουργεί σωστά σε όλες τις υπηρεσίες, ενώ ακόμα και αυτά που λειτουργούν σωστά στις πιο διάσημες (βλ. YouTube, Google Video, Metacafe, DailyMotion, Vimeo, Veoh κ.λπ.) συνήθως χρειάζονται ενημέρωση όταν κάποια υπηρεσία κάνει μερικές αλλαγές στην υποδομή της.

Έτσι, μια νέα κατηγορία εργαλείων, με μια εντελώς διαφορετική προσέγγιση στον τρόπο ανίχνευσης των video streams, έρχεται για να αποτελέσει την απόλυτη και καθολική λύση στο θέμα της σύλληψης web video. Τα καταφέρνει;

Το πρόβλημα ξεκινά από τις ίδιες τις υπηρεσίες που διαθέτουν το video, οι οποίες δεν θέλουν να υπάρχει η δυνατότητα στους χρήστες να αποθηκεύουν τοπικά αντίγραφα των video. Υπάρχουν βέβαια κάποιες υπηρεσίες που αποτελούν εξαίρεση και παρέχουν download link για να κατεβάσετε το βίντεο που θέλετε, αλλά αυτές είναι ελάχιστες.
Έτσι, όταν επισκέπτεστε με τον browser σας μια σελίδα που περιέχει ένα βίντεο, το πρώτο πράγμα που συμβαίνει είναι η εκκίνηση του ανάλογου video player της υπηρεσίας (συνήθως σε μορφή Flash). Για να γνωρίζει ο player ποιο ακριβώς βίντεο πρέπει να αναπαραγάγει, του έχει δοθεί με την μορφή παραμέτρου από την σελίδα ένας κωδικός που αντιστοιχεί στο συγκεκριμένο βίντεο. Με μια εσωτερική διαδικασία που οι υπηρεσίες δεν θέλουν να είναι γνωστή, ο player κατασκευάζει ένα URL από τον κωδικό που έλαβε. Το URL αυτό χρησιμεύει ώστε ο flash player να κατεβάσει από την αντίστοιχη τοποθεσία το βίντεο και να ξεκινήσει την αναπαραγωγή. Πολλές φορές μάλιστα και ανάλογα με την υπηρεσία, το URL αυτό δεν είναι στατικό URL που «δείχνει» στο αρχείο, αλλά δυναμικό URL που εξαρτάται από διάφορους παράγοντες (π.χ. την IP σας) και λειτουργεί μόνο για συγκεκριμένο χρονικό διάστημα, ώστε ακόμα και αν το ανακαλύψετε, να λειτουργεί μόνο για εσάς και για λίγη ώρα.
Τα συμβατικά εργαλεία σύλληψης web video επικεντρώνονται στην εύρεση αυτού του URL. Στην συνέχεια, ανάλογα με το εργαλείο, είτε κατεβάζουν τα ίδια το βίντεο από την τοποθεσία, είτε αναθέτουν το κατέβασμα σε ένα download manager (του browser ή εξωτερικό) «πασάροντάς» του το URL.
Η μέθοδος που χρησιμοποιείται για τον εντοπισμό του URL είναι συνήθως εξαρτημένη από διάφορους ευμετάβλητους/ασταθείς παράγοντες όπως το είδος και την έκδοση του browser που χρησιμοποιείτε, την υπηρεσία που διαθέτει το βίντεο και τον flash player που χρησιμοποιεί, το αν συναντήσατε το βίντεο σε κάποια σελίδα της ίδιας της υπηρεσίας (π.χ. στο ίδιο το Youtube) ή ενσωματωμένο (embedded) σε κάποια άλλη σελίδα κ.α. Αυτός είναι και ο λόγος που, όπως θα έχετε παρατηρήσει, πολλές φορές τα προγράμματα αυτά αποτυγχάνουν να εντοπίσουν το URL και κατ’ επέκταση να κατεβάσουν το βίντεο.

Η μέθοδος του κοριού

Υπάρχουν όμως και κάποια εργαλεία που προσεγγίζουν το θέμα της σύλληψης web video από μια τελείως διαφορετική οπτική. Συγκεκριμένα, τα εργαλεία αυτά παρεμβάλλονται σε χαμηλό επίπεδο (όπως οι drivers) μεταξύ του δικτυακού ελεγκτή και του λειτουργικού συστήματος παρακολουθώντας όλα τα πακέτα δεδομένων που μεταφέρονται προς τον υπολογιστή (packet sniffing). Έτσι, όταν εσείς επισκέπτεστε μια σελίδα και επιλέγετε να «παίξει» κάποιο βίντεο, εκκινώντας έτσι την διαδικασία streaming του βίντεο από την υπηρεσία που το διαθέτει προς τον player μέσα στον browser του υπολογιστή σας, ο packet sniffer ως ψηφιακός κοριός εντοπίζει τα πακέτα του stream και τα υποκλέπτει αποθηκεύοντάς το βίντεο τοπικά ενώ η αναπαραγωγή συνεχίζεται κανονικά μέσα στον browser.
Το WMRecorder συλλαμβάνει το live stream του Mad TV μέσω του etv.gr. Την ίδια στιγμή, τρία από τα πιο δημοφιλή συμβατικά εργαλεία web video download που είναι εγκατεστημένα στον Firefox, το Video DownloadHelper, το Fast Video Download και το FlashGot, «πετάνε αητό».Τα πλεονεκτήματα αυτής της μεθόδου είναι προφανή. Η διαδικασία δεν εξαρτάται από τον browser, δεν εξαρτάται από συγκεκριμένες υπηρεσίες και υλοποιήσεις και συνεπώς -θεωρητικά τουλάχιστον- μπορεί να συλλάβει απροβλημάτιστα όλα τα video streams. Επίσης η σύλληψη γίνεται ταυτόχρονα με την παρακολούθηση του βίντεο στον browser και δεν καταναλώνεται διπλάσιο traffic όπως με τις συμβατικές μεθόδους όπου το βίντεο κατεβαίνει μια φορά (ως stream) την ώρα που το παρακολουθείτε στην σελίδα και μια ακόμα φορά (ως αρχείο) όταν το κατεβάζετε αργότερα χρησιμοποιώντας το URL.
Ωστόσο, υπάρχουν και μειονεκτήματα. Πρώτα να αναφέρουμε ότι η μέθοδος αυτή απαιτεί την ύπαρξη ελεγκτή δικτύου και συνεπώς δεν λειτουργεί με τις DialUp συνδέσεις που κάνουν κάποια USB modems. Υπάρχουν όμως και πολλά USB modems που είτε εξομοιώνουν, είτε λειτουργούν εγγενώς ως ελεγκτές δικτύου στα Windows και έτσι η μέθοδος δεν παρουσιάζει προβλήματα.
Ένα άλλο πρόβλημα της μεθόδου πηγάζει από την συμπεριφορά «κοριού» που την χαρακτηρίζει. Όπως ένας κοριός τηλεφωνικών υποκλοπών δεν έχει τρόπο να αναγνωρίζει και να υποκλέπτει αυτόματα συγκεκριμένες μόνο συνομιλίες, έτσι και ο packet sniffer, παρότι έχει πρόσβαση σε όλα τα εισερχόμενα πακέτα δεδομένων, δεν μπορεί να ξεχωρίσει από μόνος του ποια από αυτά ανήκουν σε κάποιο video stream. Έτσι, οι εφαρμογές που λειτουργούν με αυτή την μέθοδο χρησιμοποιούν κάποιους κανόνες για να ξεχωρίζουν τα πακέτα που ανήκουν σε streams. Συνεπώς, η φράση «σύλληψη όλων των ειδών web video σε όλες τις περιπτώσεις», με την οποία διαφημίζονται αυτού του είδους τα εργαλεία, είναι τόσο αληθινή όσο ολοκληρωμένοι και bug-proof είναι αυτοί οι κανόνες.
Το WMRecorder συλλαμβάνει τρία web video ταυτόχρονα από το YouTube, το Vimeo και το Dailymotion, την ώρα που αυτά αναπαράγονται μέσα στις αντίστοιχες καρτέλες του Firefox. Αυτή τη φορά τα συμβατικά εργαλεία εντόπισαν (στις περισσότερες περιπτώσεις) τα URL που αντιστοιχούν στα βίντεο αλλά χρειάζεται να ξοδέψουμε επιπλέον traffic για να τα κατεβάσουμε με αυτόν τον τρόπο.Τέλος, ένα ακόμα πρόβλημα δημιουργείται από την cache που διατηρούν οι browsers. Αν εκτελέσετε ένα εργαλείο που λειτουργεί με αυτή την μέθοδο αφού όμως έχετε ήδη παρακολουθήσει το video που σας άρεσε και θέλετε να αποθηκεύσετε, υπάρχει μεγάλη πιθανότητα ότι το εργαλείο δεν θα συλλάβει τίποτα. Αυτό συμβαίνει γιατί το βίντεο έχει ήδη αποθηκευτεί στην cache του browser και συνεπώς την δεύτερη φορά που επιχειρείτε να το αναπαράγετε, ο packet sniffer δεν εντοπίζει εισερχόμενα πακέτα, αφού το βίντεο ανακτάται από την τοπική cache του browser. Ευτυχώς όμως, εκτός από την εκκαθάριση της cache που λύνει με ένα όχι και τόσο επιθυμητό τρόπο το πρόβλημα, κάποια από τα εργαλεία που λειτουργούν με αυτή την μέθοδο μπορούν να ελέγξουν την cache του browser και να ανακτήσουν το βίντεο από εκεί.

Πίσω απ’ τις κουρτίνες

Στο WinPcap έχουμε αναφερθεί ξανά και μάλλον θα συνεχίσουμε να αναφερόμαστε μέσα από τα άρθρα του περιοδικού. Πρόκειται για τον συνδυασμό ενός driver και μιας βιβλιοθήκης που επεκτείνουν τα Windows ώστε να παρέχουν σε άλλα προγράμματα εύκολη πρόσβαση σε χαμηλού επιπέδου δικτυακά layers. Στο WinPcap βασίζεται το WinDump (η Windows εκδοχή του διάσημου tcpdump) καθώς και δεκάδες άλλα εργαλεία που είναι ιδιαίτερα χρήσιμα για ένα διαχειριστή δικτύου ή ένα χάκερ. Δεν αποτελεί έκπληξη λοιπόν ότι το WinPcap κρύβεται πίσω και από τις ιδιαίτερες αυτές εφαρμογές σύλληψης βίντεο, παρέχοντάς τους τα απαραίτητα εργαλεία για εύκολο και αξιόπιστο packet sniffing.

Επί το έργον

Άλλο ένα πλεονέκτημα της σύλληψης με packet sniffing είναι ότι μπορείτε να συλλάβετε streams ανεξάρτητα απ’ το αν η αναπαραγωγή αυτών γίνεται μέσα σε κάποιο browser ή σε κάποια άλλη εφαρμογή. Εδώ, το WMRecorder εντόπισε το mp3 stream της standalone εφαρμογής του Last.fm. Δυστυχώς αυτή η τακτική δεν δούλεψε σε κάθε περίπτωση, αφού δεν καταφέραμε να πετύχουμε σύλληψη video stream από το Joost ενώ και στο ίδιο το Last.fm δεν είχαμε πάντα επιτυχία. Εμείς εδώ θα δούμε δύο εφαρμογές που χρησιμοποιούν το WinPcap για να κρατήσουν τοπικά αντίγραφα των web video. Το WebVideoCap και το WMRecorder. Το WebVideoCap είναι μικρό, απλό και δωρεάν αλλά όχι ιδιαίτερα πρακτικό στην χρήση. Το WMRecorder είναι δυστυχώς εμπορικό αλλά είναι αρκετά πιο εύχρηστο, διαθέτει ποικιλία επιλογών και διατίθεται και σε έκδοση demo που επιτρέπει την αποθήκευση βίντεο για 5 λεπτά (Βέβαια, στην δοκιμή ανακαλύψαμε ότι το όριο των 5 λεπτών ανά βίντεο δεν αφορά στην διάρκεια του βίντεο αλλά στον χρόνο που χρειάζεται για το κατέβασμα. Έτσι, αν ένα βίντεο έχει διάρκεια 15 λεπτών αλλά κατέβει ολόκληρο σε λιγότερο από 5 λεπτά τότε θα αποθηκευτεί ολόκληρο ακόμα και με την demo έκδοση. Και αντίστροφα όμως, αν η λήψη ενός βίντεο διάρκειας μόλις 2 λεπτών διαρκέσει πάνω από 5 λεπτά, θα διακοπεί πρόωρα).

WebVideoCap 1.33

Το «σπαρτιάτικο» interface του WebVideoCap. Στο στιγμιότυπο το utility εκτελείται σε Windows Vista SP1 οπότε γίνεται υποχρεωτικά χρήση του WinPcap για το packet sniffing.Το θαυματουργό αυτό utility αποτελείται από ένα εκτελέσιμο αρχείο που «ζυγίζει» μόλις 24kb και δεν χρειάζεται εγκατάσταση. Μάλιστα, δεν είναι υποχρεωτική ούτε η εγκατάσταση του WinPcap αφού γίνεται χρήση της μεθόδου Raw Sockets για το packet sniffing. Έτσι μπορείτε να έχετε το WebVideoCap σε ένα USB stick και να το χρησιμοποιείτε ως portable app.
Στα Vista με SP1 όμως, όπου η Microsoft απενεργοποίησε αυτό το χαρακτηριστικό για να μην το εκμεταλλεύονται τα διάφορα malware, η εγκατάσταση του WinPcap είναι αναγκαία. Επίσης στα Vista είναι πιθανό να χρειαστεί να το εκτελέσετε το WebVideoCap (όπως και το WMRecorder που θα δείτε στην συνέχεια) με δικαιώματα Administrator αν έχετε το User Account Control ενεργοποιημένο.
Το WebVideoCap μπορεί να αναγνωρίσει Flash video (.flv & .swf), Microsoft Windows Media video (.wmv) και RTSP/MMS streams ενώ η χρήση του δεν χρειάζεται ιδιαίτερες οδηγίες. Απλά εκτελέστε το, επιλέξτε την μέθοδο σύλληψης (Raw Sockets ή WinPcap), τον ελεγκτή δικτύου που συνδέει τον υπολογιστή σας με το internet, τον φάκελο στον οποίο θέλετε να αποθηκεύονται τα βίντεο καθώς και ένα πρόθεμα που θα μπαίνει στα ονόματά τους, τα είδη των βίντεο που θέλετε να αποθηκεύονται αυτόματα και αφού τελειώσετε με τις επιλογές κάνετε κλικ στο κουμπί Start Capture. Μετά από αυτό, όλα τα βίντεο που θα βλέπετε στο internet θα αποθηκεύονται στον φάκελο που επιλέξατε.
Για να αντιμετωπίσει το πρόβλημα των cached videos, ο δημιουργός του WebVideoCap έχει δημιουργήσει και ένα άλλο μικρό utility, το VideoCacheView που ελέγχει την cache του Internet Explorer και διάφορων browser βασισμένων στον Mozilla (όπως ο Firefox) για να ανακτήσει βίντεο που είναι αποθηκευμένα εκεί.
Το VideoCacheView, το αδελφό εργαλείο του WebVideoCap, καλύπτει τα ελαττώματα του αδελφού του παρουσιάζοντας τα βίντεο που είναι ήδη αποθηκευμένα στην cache του browser. Γιατί να κατεβάσετε ξανά ένα βίντεο όταν αυτό είναι ήδη αποθηκευμένο στον υπολογιστή σας;Δυστυχώς, παρά την σχετικά αξιόπιστη λειτουργία του, το WebVideoCap δεν είναι ιδιαίτερα εργονομικό για καθημερινή χρήση. Εργαλεία σαν και αυτό, που πρέπει να είναι συνέχεια ενεργά στο παρασκήνιο, πρέπει να δίνουν την δυνατότητα ελαχιστοποίησης και ελέγχου (ενεργοποίηση / απενεργοποίηση) από το system tray, χαρακτηριστικό που δεν υπάρχει στο WebVideoCap. Επίσης, το WebVideoCap δεν ενημερώνει για την έναρξη ή την πρόοδο μιας σύλληψης και έτσι ο μόνος τρόπος για να επιβεβαιώσετε ότι μια σύλληψη έχει ξεκινήσει είναι να ελέγχετε κάθε τόσο τον φάκελο όπου αποθηκεύονται τα βίντεο για νέα αρχεία.
Ωστόσο, μιας και η ανάπτυξη του WebVideoCap είναι ενεργή, ελπίζουμε ότι οι αδυναμίες του θα διορθωθούν σύντομα σε κάποια επόμενη έκδοση.

WMRecorder 12.1

Το WMRecorder παρέχει και ένα πρακτικό scheduler για να προγραμματίζετε την εγγραφή των αγαπημένων σας online εκπομπών.Αν δεν θέλετε να περιμένετε για κάποια πιθανή νέα έκδοση του WebVideoCap με πιο streamlined GUI, μπορείτε να δοκιμάσετε το εμπορικό WMRecorder.
Το WMRecorder βασίζεται αποκλειστικά στο WinPcap, του οποίου την εγκατάσταση αναλαμβάνει το ίδιο οπότε δεν χρειάζεται να το εγκαταστήσετε ξεχωριστά. Υποστηρίζει όλα τα διάσημα πρωτόκολλα μεταφοράς (HTTP, RTMP, RTSP, MMS, Shoutcast) και πολλούς τύπους αρχείων όπως Flash (.flv), Windows Media (.wmv, .wma, .asf, .asx, .avi, .wav), Real (.ra, .rm), QuickTime (.mov) και MPEG (.mpg, .mp3).
Το WMRecorder δεν είναι ένα μεμονωμένο εργαλείο αλλά μια σουίτα εφαρμογών. Η εγκατάστασή του περιλαμβάνει και ένα video player και ένα video converter ενώ έχει ενσωματωμένη την δυνατότητα ανάκτησης των βίντεο που είναι αποθηκευμένα στην cache του browser. Αφού ακολουθήσετε προσεκτικά τις οδηγίες της εγκατάστασης, ώστε να ενεργοποιηθούν τα Modes ADA και AUTO ON, η λειτουργία του δεν διαφέρει πολύ από αυτήν του WebVideoCap. Απλά αφήστε το ανοικτό στο system tray και αυτό θα αναλάβει την τοπική αποθήκευση όλων των βίντεο που παρακολουθείτε στον browser σας.
Αντίθετα από το WebVideoCap, το WMRecorder διαθέτει ένα παράθυρο Status όπου σας δείχνει όλα τα ενεργά streams και την πρόοδο της σύλληψης. Διαθέτει επίσης ένα παράθυρο Settings με μερικές χρήσιμες ρυθμίσεις (όπως την ελαχιστοποίηση στο system tray) και ένα παράθυρο View από όπου μπορείτε να δείτε το ιστορικό των video captures, να δείτε μια λίστα με τα βίντεο που βρίσκονται στην cache των browser σας καθώς και να επιλέξετε την αναπαραγωγή των αποθηκευμένων video.

Η ετυμηγορία

Η ιδέα της χρήσης packet sniffing για την σύλληψη των διάφορων media stream είναι πολύ έξυπνη αλλά η αλήθεια είναι ότι, τουλάχιστον προς το παρόν, η απάντηση στην ερώτηση της εισαγωγής είναι αρνητική. Οι υπάρχουσες λύσεις δεν καταφέρνουν να αποτελέσουν το πασπαρτού στο θέμα της σύλληψης web video. Πέρα από μερικές επιτυχίες που είχαν τα προγράμματα της δοκιμής στον εντοπισμό stream που τα συμβατικά εργαλεία δεν μπόρεσαν να εντοπίσουν, είχαν και αρκετές αποτυχίες.
Και τα δύο προγράμματα απέτυχαν ορισμένες φορές να εντοπίσουν streams που ανήκαν στην λίστα των υποστηριζόμενων ενώ σε κάποιες περιπτώσεις παρήγαγαν corrupted αρχεία γιατί ξεκινούσαν την σύλληψη αργά ή την τερμάτιζαν νωρίς. Το δε WMRecorder ενώ λειτούργησε σταθερά στο ένα μηχάνημα της δοκιμής (Windows XP Home / SP3), υπέφερε από συχνά crashes στο άλλο (Windows Vista Business / SP1).
Όμως, όσο ανώριμα και αν είναι ακόμα αυτά τα εργαλεία, δεν υπάρχει αμφιβολία ότι αποτελούν μια πολύ καλή εναλλακτική όταν το συμβατικό εργαλείο που χρησιμοποιείτε αποτύχει. Άλλωστε είναι σίγουρο ότι ακόμα και αν δεν υπάρξουν σύντομα βελτιώσεις σε αυτά, στην πορεία θα προκύψουν άλλα, πιο ώριμα, που λειτουργούν με την ίδια, πολλά υποσχόμενη μέθοδο. Και ακόμα πιο σίγουρο είναι ότι εμείς θα παρακολουθούμε τις εξελίξεις αυτές από κοντά… :-)

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων