• Συμπίεση σε H.264 & XviD

    =UPDATED=
    Προστέθηκαν επιλογές για συμπίεση σε XviD


    Λοιπόν, παιδάκια...
    Παιδεύομαι εδώ και κανά δήμηνο με το H.264, το "επόμενο βήμα" του αλγόριθμου MPEG4, και μπορώ πια με βεβαιότητα να σας πω πως έχει ωριμάσει και πως μπορούμε να το χρησιμοποιούμε για τα video backup μας.


    Πριν δούμε το "πως", ας δούμε το "γιατί"...
    Ο H.264 είναι ένας πολύ πιο αποτελεσματικός αλγόριθμος συμπίεσης video από το "απλό" MPEG4 (βλέπε DivX/XviD). Επιτυγχάνει πολύ καλύτερα αποτελέσματα με πολύ χαμηλότερα bitrate. Έτσι, ένα full DVD backup μπορεί να γίνει με 900kbit bitrate, όταν στο mpeg4 θα χρειαζόταν 1200-1400. Πρακτικά, ένα backup H.264 σε ένα CD έχει μικρές απώλειες σε σχέση με ένα backup DivX σε 2 CDs (αυτό το λέω καθαρά σαν σχέση απόδοσης προς μέγεθος).
    Και τώρα, στο "πώς"...

    ΣΗΜΕΙΩΣΗ
    Τα βήματα έχουν χωριστεί σε "Steps" για να είναι ευκολότερη η ανάγνωσή τους. Έχω επίσης προσθέσει εικόνες στα βήματα που έκρινα ως "πιο μπερδεμένα" - και μόνο σε αυτά. Τα άλλα μπορείτε να τα καταλάβετε αμέσως με λίγη προσοχή. Έτσι, η σελίδα μένει κάτω από 200KBs, και μπορούν να τη διαβάσουν και όσοι έχουν απλή σύνδεση. Και τώρα, on with the show...

    ΣΗΜΕΙΩΣΗ αν θέλετε να συμπιέσετε στο "παραδοσιακότερο" XviD, αντί του νέου H.264, απλά επιλέξτε "XviD" αντί για "X.264". Μετά, ελέγξτε τις παραμέτρους που αναφέρω στο επόμενο μήνυμα για τις ρυθμίσεις του codec. Τα υπόλοιπα βήματα παραμένουν ως έχουν.

    [Step 01]
    Κατεβάζουμε το Gordian Knot μαζί με το Robot4Rip από τη γνωστή του διεύθυνση στο sourceforge (http://gordianknot.sourceforge.net/)

    [Step 02]
    Το εγκαθιστούμε

    [Step 03]
    Βάζουμε το DVD μας στο drive

    [Step 04]
    Τρέχουμε το Robot4Rip

    [Step 05]
    Αυτό, αναγνωρίζει το DVD που έχουμε εισάγει. Επιλέγουμε το stream της ταινίας μας από αριστερά, το ηχητικό stream που θέλουμε από το μεσαίο πλαίσιο (συνήθως αυτό με τα περισσότερα κανάλια) και τους υπότιτλους που θέλουμε να έχουμε. Μπορούμε να επιλέξουμε περισσότερες από μία γλώσσες και υπότιτλους, μα ειδικά στο θέμα του ήχου είναι καλύτερο να μην ξεπερνάμε τις δύο γλώσσες.
    (παρένθεση: καλή πρακτική είναι η συμπίεση σε μέγεθος 2GB, με δύο ηχητικά streams: ένα σε AC3, χωρίς συμπιέσεις και μετατροπές, και ένα εναλλακτικό με συμπίεση σε OGG/MP3).



    [Step 06]
    Αν θέλουμε ο ήχος μας να είναι AC3, απενεργοποιούμε το encode του ήχου με ένα κλικ στο σχετικό πλήκτρο. Αλλιώς, κάνουμε δεξί κλικ στον stream του ήχου που θέλουμε και ορίζουμε τη συμπίεσή του.



    [Step 07]
    Ξεκινάμε τη ριπιά.

    [Step 08]
    Όταν τελειώσει, το κλείνουμε και φορτώνουμε το Gordian Knot.

    [Step 09]
    Φορτώνουμε το αρχείο D2V που έσωσε το Robot4Rip στο δίσκο.



    [Step 10]
    Ελέγχουμε πως το Preview είναι "resized"



    [Step 11]
    Στο δεύτερο tab επιλέγουμε, από (σχεδόν) τέρμα κάτω αριστερά την πρώτη γλώσσα ήχου (AC3). Δίπλα και δεξιά διαλέγουμε τη δεύτερη (OGG/MP3), αν υπάρχει.



    [Step 12]
    Από τέρμα δεξιά διαλέγουμε το μέγεθος του αρχείου.



    [Step 13]
    Επιλέγουμε σαν format το MKV



    [Step 14]
    Επιλέγουμε σαν αλγόριθμο το X.264



    [Step 15]
    Πηγαίνουμε στο επόμενο tab. Κάνουμε κλικ το Autocrop.



    [Step 16]
    Τσεκάροντας το Preview, ορίζουμε αναλογία 4:3 ή 16:9 (θα δείτε "με το μάτι" το ποιά είναι η σωστή - να σας θυμίσω πως, για να φαίνεται, θα πρέπει να έχετε ενεργοποιημένο το "resized" του Preview).



    [Step 17]
    Ορίζουμε οριζόντια ανάλυση ΚΑΤΩ από 650 αν έχουμε επεξεργαστή κάτω των 2GHz (ναι, είναι απαιτητικό το... γομαράκι).



    [Step 18]
    Τώρα, προσεκτικά, ψάχνουμε στο preview να βρούμε γραμμές interlacing. Πηγαίνουμε σε μία σκηνή με δράση (μη μου πείτε "όλες έχουν δράση", πηγαίντε σε μία που να τρέχει κάποιος, να πέφτει από ένα κτήριο, να στουκάρει αμάξια... κάτι τέτοιο) και εκεί πατάμε το ΜΟΝΟ βελάκι προς τα δεξιά ή αριστερά, ελέγχοντας αν θα δούμε interlacing ("γραμμούλες", "είδωλα", "θόλωμα" κατά την κίνηση ή τη φάτσα του Bin Laden ντυμένου Santa Claus).

    [Step 19]
    Διαλέγουμε στο "Save" που υπάρχει κάτω αριστερά στο Preview. ΑΝ είδαμε τον Santa Claus, ή κάποιο από τα υπόλοιπα, ενεργοποιούμε το Interlacing (και συγκεκριμένα Field Interlacing). Αν όχι, το αφήνουμε όπως είναι.

    [Step 20]
    Σαν αλγόριθμο αλλαγής μεγέθους αφήνουμε τον Lanczos

    [Step 21]
    Σώζουμε

    [Step 22]
    Στο παράθυρο που εμφανίζεται, λέμε "Just Mux"

    [Step 23]
    (ΑΓΝΟΗΣΤΕ ΤΟ ΑΝ ΕΠΙΛΕΞΕΤΕ ΣΥΜΠΙΕΣΗ ΣΕ XVID)
    Πηγαίνουμε στις παραμέτρους συμπίεσης του video. Στο tab "Bitrate" επιλέγουμε Multipass - 1st pass (fast). Ενεργοποιούμε το "Update Statsfile". Στο Rate Control δηλώνουμε τιμές 40, 30, 60, 10, 51, 4, 40, 25, 250 και Temporal - για βασική επεξήγησή τους, δείτε παρακάτω μηνύματα. Στο MBs&Frames ενεργοποιούμε ΤΑ ΠΑΝΤΑ.
    Βάζουμε 3 reference frames και 2 b-frames στα σχετικά πεδία. Στο tab "More" επιλέγουμε 6-RDO, Hexagonal Search, Chroma ME, CABAC και Deblocking Filter (σε τιμές 0-0).

    (Έχω προσθέσει ΝΕΑ, updated εικόνα, με την τελευταία εκδοχή του αλγόριθμου, μα αφήνω ΚΑΙ την παλιά, για όσους δεν έχουν την νέα - δεν συμπαθούν τους πειραματισμούς)




    [Step 24]
    ΟΚ

    [Step 25]
    (ΑΓΝΟΗΣΤΕ ΤΟ ΑΝ ΕΠΙΛΕΞΕΤΕ ΣΥΜΠΙΕΣΗ ΣΕ XVID)Επαναλαμβάνουμε για το 2ο πέρασμα (μπορεί να μην τα έχει κρατήσει)

    [Step 26]
    ΟΚ

    [Step 27]
    Εκκινούμε το Que

    [Step 28]
    Πάπαλααααα

    [Step 29]
    Φροντίστε να έχετε εγκατεστημένο το τελευταίο FFDShow, για να μπορείτε να δέιτε την ταινία με οποιονδήποτε Windows Media Player ("χαρακτηρισμός", όχι "όνομα προγράμματος" )

    Καλές κωδικοποιήσεις
    Υ.Γ.1: Όχι, δεν υπάρχουν ακόμη επιτραπέζια players που να το υποστηρίζουν
    Υ.Γ.2: Ακούγεται πως θα υπάρχει hardware υποστήριξη H.264 στις επόμενες κάρτες nvidia και ati. Ξεκινήστε από τώρα το... παιχνίδι!



    copyright:
    2005 - 20xx, Ducklord - adslgr.com


    Εικόνες με τις ρυθμίσεις της νέας έκδοσης, και εξήγηση των βασικότερων από αυτές...



    Keyframes Boost: Πόσο "κέρδος" σε bandwidth θα έχουν τα keyframes. Πρόκειται για τα καρέ-κλειδιά (σώωωπα), ή, για την ακρίβεια, τα μόνα "πλήρη" καρέ σε ένα mpeg video stream. Τα υπόλοιπα καρέ είναι μετατροπές αυτών. Έτσι, όσο καλύτερα είναι αυτά, τόσο καλύτερα είναι και αυτά που τα ακολουθούν (αφού τα χρησιμοποιούν ως "βάση"). Το πρόβλημα είναι πως, όσο περισσότερο bandwidth "τρώνε", τόσο λιγότερο μένει για τα υπόλοιπα.

    Προτίμηση: ανεβάστε κατά 10-20% την τιμή όταν συμπιέζετε ταινίες με πολλές αλλαγές σκηνών (π.χ. ένα βιντεοκλιπ με απότομα "κοψίματα")
    B-frames reduction: Η "μείωση" που θα δέχονται τα b-frames, δίνοντας το bandwidth τους στα υπόλοιπα καρέ. Θεωρήστε τα b-frames ακριβώς αυτό που έλεγα παραπάνω: τα καρέ που ακολουθούν τα keyframes. Όσο μικρότερο είναι το bandwidth τους (όσο, δηλαδή, μεγαλύτερη αυτή εδώ η μείωση), τόσο καλύτερα θα είναι τα keyframes. Κατ' επέκταση, θα είναι καλύτερες οι αργές, μα όχι και οι γρήγορες σκηνές σε μια ταινία.

    Προτίμηση: αυξήστε τη μείωση (δώστε, δηλαδή, μεγαλύτερο νούμερο) σε ταινίες με λίγη δράση και πολλές αλλαγές.
    Bitrate variability: Πόσο "σκαμπανέβασμα" θα επιτρέπεται στο bitrate. Όταν η τιμή είναι μικρή, όλη η ταινία θα έχει, λίγο-πολύ, την ίδια ποιότητα σε όλα τα καρέ της. Αυτό, όμως, δεν είναι θετικό, αφού, για παράδειγμα, οι τίτλοι θα παίρνουν περίπου το ίδιο bandwidth με το κοντινό πλάνο στα ματάκια της Theron... Και τα ματάκια της Theron είναι πιο ενδιαφέροντα από τους τίτλους, σωστά;
    Από την άλλη, όταν η τιμή είναι πολύ υψηλή, το σκαμπανέβασμα είναι ορατό και μέσα σε σκηνές: ο αλγόριθμος μπορεί να "κλέβει" πολύ περισσότερο bandwidth από τα b-frames για να βελτιώσει τα keyframes, με αποτέλεσμα οι αργές σκηνές να φαίνονται μια χαρά και οι γρήγορες μία σκέτη θολούρα, ή το αντίθετο.

    Προτίμηση: 30%-50% για ταινίες με "λίγη" δράση και αλλαγές σκηνών. 40%-60% για "μέτρια" δράση, και 50%-80% για το τελευταίο βιντεοκλίπ των Μετάλικα σε συνεργασία με τον Jackie Chan.
    Min QP - Max QP: Χαμηλότερο και μέγιστο επίπεδο συμπίεσης. Πρακτικά, μία ταινία με Min και Max στο 0 βγαίνει "τέλεια" (μηδενική συμπίεση). Βγαίνει, όμως, και τεράστια (εσείς, πόσους δίσκους έχετε καβάτζα;;; ). Γενικά, οι τιμές 10-51 που υπάρχουν αρχικά, αρκούν.

    Προτίμηση: είπαμε: μία πίτσα cheese lovers και, κατά τα άλλα, οι αρχικές 10-51.
    Max QP Step: ΕΔΩ είναι τα ωραία τώρα: "αποκρισιμότητα" του αλγόριθμου στις αλλαγές επίπεδου δράσης. Ξέρω, δεν καταλάβατε τίποτα. Προσέξτε. Έχουμε ένα βιντεοκλίπ σαν το "Smells like teen spirit" (έ, ρε τι θυμήθηκα). Στη μία σκηνή, φοιτήτριες κοιτούν με πράο ύφος την κάμερα. Στην επόμενη, ένας μαλιάς κοπανιέται. Επανάλειψη. Επανάλειψη. Οι φοιτήτριες, πρέπει να κωδικοποιηθούν με χαμηλό QP. Ο μαλιάς με υψηλό. Εδώ, λοιπόν, ορίζεται η ταχύτητα με την οποία θα μπορεί να κάνει την εναλλαγή ο αλγόριθμος: αν έχουμε δέκα καρέ, και στα πρώτα 3 υπάρχουν οι φοιτήτριες και στο τέταρτο πετάγεται ο μαλιάς, αν η τιμή εδώ είναι 4, ο αλγόριθμος θα συμπιέσει τα καρέ 1-2-3 με QP 10, το 4 με 14, το 5 με 18, το 6 με 22... Καταλάβατε τι γίνεται (φαντάζομαι). Έλα μου, που το ιδανικό θα ήταν ο μαλιάς να κωδικοποιηθεί εξαρχής με 22! Άρα; Άρα...

    Προτίμηση: Σε ταινίες με γρήγορες αλλαγές σκηνών και έντονη δράση, διπλασιάστε ή και τριπλασιάστε αυτή την τιμή - προσοχή: σε συνεργασία με το Min IDR-frame interval.
    Scene Cut Threshold: Πόσο θα "κρατιέται" ο αλγόριθμος πριν θεωρήσει ένα καρέ "αλλαγή σκηνής". Μικρές τιμές για γρήγορες ταινίες, μεγάλες για αργές.

    Προτίμηση: Αφήστε το ως έχει. Που να τρέχεις τώρα...
    Min/MAX IDR-frame interval: Πόσα καρέ θα μεσολαβούν μέχρι την τοποθέτηση ενός keyframe. Αν και οι τιμές ΔΕΝ είναι απόλυτες, αποτελούν ένα "μπούσουλα" για τον αλγόριθμο. Το min θα πει "θα πρέπει να έχουν περάσει 25 καρέ για να βάλεις Keyframe", και το max "θα πρέπει οποσδήποτε, εντός 250 καρέ, να υπάρχουν 2 keyframe" (ένα σε κάθε άκρο, "αρχή" και "τέλος" μιας σκηνής).

    Προτίμηση: Μειώστε την min τιμή ΜΟΝΟ αν έχετε ένα βίντεο με πολλές εναλλαγές σκηνών. Για παράδειγμα, το trailer των 2 Kill Bill το συμπίεσα με min στο 8 για να βγει άψογο.
    Direct mode: Πως θα κρίνονται τα επίπεδα συμπίεσης της κάθε περιοχής: σε σχέση με τη γύρω περιοχή (spatial), ή σε σχέση με το τι γίνεται στο προηγούμενο και επόμενο καρέ (tempotal).

    Προτίμηση: Temporal




    Max Ref. frames: πόσα καρέ θα χρησιμοποιούνται για να υπολογιστεί η συμπίεση του τωρινού καρέ. Όσο περισσότερα, τόσο καλύτερη η κρίση του αλγόριθμου σχετικά με τα επίπεδα συμπίεσης - και τόσο πιο αργή η συμπίεση.

    Προτίμηση: Επιλέξτε από 2 μέχρι 4, ανάλογα με την ταχύτητα του πισίου σας.
    Max consecutive: πόσα B-frame θα μπορούν να τοποθετηθούν κατά σειρά. Από 4 και πάνω, αρχίζει να είναι ορατή πτώση ποιότητας σε σκηνές με λίγη/μέτρια δράση. Προσοχή, επίσης, στο bitrate: αν είναι χαμηλό, δεν θα πρέπει να χρησιμοποιείτε πολλά b-frames (μπορείτε και να μη χρησιμοποιήσετε καθόλου)


    Partition decision: Πως θα κρίνει ο αλγόριθμος το τι συμπίεση θα επιβάλει σε κάθε καρέ. Όσο μεγαλύτερο, τόσο πιο αργό μα και τόσο καλύτερη η ποιότητα.

    Προτίμηση: Στην ΧΕΙΡΟΤΕΡΗ των περιπτώσεων, επιλέξτε το 5. Αλλιώς, σχεδόν πάντα, 6.
    Method: Μία από τα ίδια. Το Hexagonal είναι το πιο "ανεκτό", σε σχέση με τους σημερινούς υπολογιστές, και παράγει πολύ καλή ποιότητα.

    Προτίμηση: Hexagonal
    Chroma ME: Θα χρησιμοποιούνται χρωματικές πληροφορίες για την απόφαση του "τι συμπιέζεται"; (για μαντέψτε... ΝΑΙ, βρε, ναι!)

    Προτίμηση: Ναι (τικ... τικ... βάλτε τικ... τικ...)
    Αυτάααα
    Πάμε τώρα για XviD

    Οι εικόνες τα λένε όλα... "Κάνε ό,τι κάνω". Τα άλλα τα κάνει αυτόματα το Gordian Knot..!









    Αυτό το άρθρο δημοσιεύθηκε πρώτα στο forum με θέμα: Συμπίεση σε H.264 & XviD Δημοσιεύθηκε από Ducklord Δείτε την αρχική δημοσίευση
    Σχόλια 80 Σχόλια
    1. Το avatar του μέλους odd
      odd -
      Σόρι αλλά μια μικρή ερώτηση. Στο robot4rip το "Start" για να αρχίσει το ripping είναι απενεργοποιημένο. Ξέρει κανείς γιατί;
    1. Το avatar του μέλους ubick
      ubick -
      Παράθεση Αρχικό μήνυμα από odd Εμφάνιση μηνυμάτων
      Σόρι αλλά μια μικρή ερώτηση. Στο robot4rip το "Start" για να αρχίσει το ripping είναι απενεργοποιημένο. Ξέρει κανείς γιατί;
      Kοίτα στα preferences μήπως δεν έχεις όλα τα tools.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Λοιπόν γράφω αυτό το ποστ για να συμπληρώσω τον Τρισμέγιστο, αλλά και να μάθω από τους εμπειρότερους.

      Έχοντας λοιπόν να ασχοληθώ με encoding αρκετά χρόνια (τουλάχιστο 3), έκατσα χθες και σήμερα και ερεύνησα ποιές εναλλακτικές λύσεις-μονοπάτια υπάρχουν - προς το παρόν για Windows (θα έρθει και η ώρα του Linux - που να είναι όμως αμιγώς 64-bit (καί multi-threaded).

      Διότι στα forums του doom9-org - και εκεί μόνο άσχετοι δεν είναι - όλοι λένε ότι αμιγώς 64-bit μονοπάτι αν τρέξει αποκλειστικά σε AMD K8 CPU έχουν εγγυημένο +20% και ίσως και μέχρι +30% - πράγμα που συμφωνεί και με το επίσημο documentation της AMD για τους Κ8.

      Κάθησα και σκέφτηκα λοιπόν ποιά σημεία της μηχανής ήξερα ότι υπάρχουν σε 64-bit (VirtualDub, XviD, x264) και ποιά (τελικά δεν ήξερα γιατί δεν είχα ασχοληθεί) δεν υπήρχαν (MPEG-2 frameserver + decoder, συν κατά προτίμηση ένας frameserver που να μην αλλάζει το colorspace π.χ. AVISynth).

      Βρήκα λοιπόν μέσα στην εβδομάδα ολοκαίνουργιες εκδόσεις 64-bit των XviD & x264 (αμφότερες multi-threaded), και βρήκα ότι υπάρχουν εκδόσεις των DGDecode & AVISynth σε 64-bit.

      Χρησιμοποιήθηκε το εξής 64-bit & multi-threaded software:

      - Windows NT 5.2 x64 SP-2
      - VirtualDub 1.6.9 x64
      - DGDecode 1.46 x64
      - AVISynth x64
      - XviD 1.2 x64 (multi-threaded)
      - x264 r667b x64 (multi-threaded)

      Το παραπάνω μονοπάτι μόνο είναι το bottleneck και το critical διότι αυτό παράγει το τελικό video stream.

      Συν το εξής 32-bit:
      - DVDDecrypter (τελευταίο - φτιάχνει σε IFO Mode με stream-processing το "τεράστιο" VOB-πηγή)
      - DGIndex 1.46 (υπάρχει καί 1.49 αλλά πρέπει υποχρεωτικά να είναι ίδια έκδοση με το DGDecode που θα διαβάσει το αρχείο του - φτιάχνει το d2v αρχείο)
      - VirtualDubMod (τελευταίο - κάνει το τελικό interleaving-multiplexing video & AC3 audio-stream και παράγει το τελικό container)
      - XviD 1.2 (multi-threaded) & CoreAVC 1.3 για το playback
      - MPC για το playback

      Έκανα λοιπόν τα εξής (κυρίως θα μιλούν οι εικόνες) και ας γράψουν κάποιοι εμπειρότεροι (δεν είμαι έμπειρος) τί εναλλακτικές προτείνουν.

      Αφού καταρχήν έθεσα κάποιες παραμέτρους στο DVD-Decrypter:

      Συνημμένο Αρχείο 20999

      Συνημμένο Αρχείο 21000

      Συνημμένο Αρχείο 21001

      Συνημμένο Αρχείο 21002

      Πάτησα Συνημμένο Αρχείο 21003 Mode.

      Επέλεξα το σωστό title:

      Συνημμένο Αρχείο 21004

      Και ενεργοποίησα το stream-processing:

      Συνημμένο Αρχείο 21005

      Εδώ θέλει προσοχή γιατί μπορεί (όπως φαίνεται στην περίπτωση) το πολυκάναλο AC3 audio track της original γλώσσας να μην είναι το πρώτο στο VOB. Σε τέτοια περίπτωση θα πρέπει να το κάνουμε remap στο 0x80.

      Το παρόν συνεχίζεται στο επόμενο ποστ.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Διάλεξα τις παρακάτω 4 διαφορετικές πηγές για να έχω όλες τις περιπτώσεις:

      Συνημμένο Αρχείο 21023
      1. NTSC 4:3 30fps "τηλεοπτικό hybrid" κατά 90% περίπου progressive

      Συνημμένο Αρχείο 21024
      2. PAL 4:3 25fps progressive

      Συνημμένο Αρχείο 21025
      3. NTSC 16:9 αναμορφικό 30fps telecined με 3:2 pulldown από "κινηματογραφικό" 24fps progressive

      Συνημμένο Αρχείο 21026
      4. PAL 16:9 αναμορφικό 25fps progressive

      Το DGIndex:

      Συνημμένο Αρχείο 21008

      μου έβγαλε ενδείξεις για αυτά, αντίστοιχα:

      Συνημμένο Αρχείο 21019


      Συνημμένο Αρχείο 21020


      Συνημμένο Αρχείο 21021


      Συνημμένο Αρχείο 21022


      Για τις πηγές 2 και 4 προφανώς δεν ασχολήθηκα καθόλου με IVTC και Force Film:

      Συνημμένο Αρχείο 21009 -> Συνημμένο Αρχείο 21010

      Για την πηγή 3 ήταν προφανές το Force Film:

      Συνημμένο Αρχείο 21009 -> Συνημμένο Αρχείο 21011

      Τώρα για την πηγή 1 που είναι δύσκολη, ως υβρίδιο με 90% Progressive και 10% video τελικά κατέληξα και εδώ στο Force Film:

      Συνημμένο Αρχείο 21009 -> Συνημμένο Αρχείο 21011

      διότι ενώ ήταν κάτω από 95% το Film (σύμφωνα με τους οδηγούς στο Doom9) έπρεπε να κάνω IVTC και να ορίσω στο σκριπτάκι του AVISynth telecine() - χωρίς παραμέτρους δηλαδή - ώστε να κάνει αυτόματα το βέλτιστο.

      Το VirtualDub όμως δεν το δεχόταν και κλώτσαγε - δεν δεχόταν την telecine χωρίς παραμέτρους.

      Έτσι έκανα καί στην πηγή 1 Force Film.

      Το παρόν συνεχίζεται στο επόμενο ποστ.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Τα AVISynth scripts που χρησιμοποίησα ήταν του παρακάτω στιλ πάνω-κάτω:

      Κώδικας:
      LoadPlugin("...\dgdecode.dll")
      mpeg2source("...\Test-3.d2v")
      Crop(2, 56, -2, -60)
      LanczosResize(720,308)
      Crop χρησιμοποιήθηκε προαιρετικά μόνο όπου χρειαζόταν.

      Η οριζόντια ανάλυση δεν υπερέβη τα 720 pixels ώστε να μπορούν να παίζουν στο standalone μου.

      Το Lanczos πιθανότατα - εσείς οι εμπειρότεροι θα μου πείτε - να είναι overkill-υπερβολή και να υπεραρκεί ένα bicubic ή bilinear - αλλά απλά έκανα δοκιμές με 4 3λεπτα κλιπάκια.

      Στο δε XviD - για να συμπληρώσω και τον οδηγό του Τρισμέγιστου - έγιναν οι εξής αλλαγές:

      Συνημμένο Αρχείο 21028
      ορίστηκαν threads όσα και τα διαθέσιμα CPU cores

      Συνημμένο Αρχείο 21027
      βγήκε το Global Motion Compensation για να παίζει στο standalone
      κάποιοι ίσως χρειαστεί να βγάλουν καί το QPel

      Μέσο bitrate ορίστηκε τόσο ώστε ένα DVD+ single-layer (4482MB) να χωρά 4.5 ώρες, δηλαδή είτε 6 επεισόδια είτε 2 ταινίες.

      Σύνολο 2300Mbps -> έπαιζε λοιπόν (ανάλογα με το bitrate του audio) μεταξύ 1850-2100 kbps.

      Το παρόν συνεχίζεται στο επόμενο ποστ.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Το τελικό interleaving-multiplexing έγινε κλασικά με το VirtualDubMod, κλασικά με 500ms preload, interleave ανά 1 καρέ, και καθυστέρηση του audio stream όση έδειξε το DVD-Decrypter - διότι αυτή που βγάζει το DGIndex είναι λανθασμένη.

      Τα 4 αποτελέσματα ήταν τα εξής:

      Συνημμένο Αρχείο 21029
      1η πηγή

      Συνημμένο Αρχείο 21030
      2η πηγή

      Συνημμένο Αρχείο 21031
      3η πηγή

      Συνημμένο Αρχείο 21032
      4η πηγή

      Όλα έπαιξαν κανονικότατα στο standalone και με καλή ποιότητα και σωστό συγχρονισμό.

      Το player υποστηρίζει progressive scan και είναι multi-system, μπορεί επίσης να οριστεί σε αυτό έξοδος σε 16:9 mode ή σε 4:3 mode.

      Η πηγή 1 - η "δύσκολη" - δοκιμάστηκε σε 2 διαφορετικές τηλεοράσεις 100Hz, 4:3, με 16:9 mode και multi-system (PAL καί NTSC).

      Η 1η έχει progressive scan και συνδέθηκε με συνιστώσες στο player.

      Η 2η δεν έχει progressive scan και συνδέθηκε με SCART RGB στο player.

      Στην 1η τηλεόραση δεν υπήρχαν πουθενά interlacing artifacts - δεν υπάρχουν άλλωστε και στο playback του πρωτότυπου DVD.

      Στην 2η τηλεόραση υπήρχαν κάποια ελάχιστα interlacing artifacts - πάνω-κάτω στα ίδια σημεία που έχει καί το πρωτότυπο DVD - αλλά έχω την εντύπωση ότι ήταν αισθητά μειωμένα.

      Λοιπόν, αυτά γιατί σας κούρασα.

      Αναμένω τις υποδείξεις από τους εμπειρότερους.
    1. Το avatar του μέλους ubick
      ubick -
      My 2 cents, αν και τεχνικά δεν έχω να προσθέσω τίποτα μιας και είναι πάρα πολύ σωστά.

      Το Lanczos δεν θεωρώ ότι είναι υπερβολή, αντίθετα είναι μονόδρομος, ειδικά αν δεν υπάρχουν χρονικοί περιορισμοί.

      Το compressibility check του Gknot είναι ένα πολύ χρήσιμο εργαλείο για να υπολογίζεις την «συμπιεσιμότητα» μιας ταινίας και, κατ' επέκταση, το ιδανικό bitrate.

      Στα τόσο μεγάλα bitrates (1800<) θα απενεργοποιούσα εντελώς τα b frames για καλύτερη ποιότητα εικόνας. Επίσης, μερικοί παλιοί players, έχουν πρόβλημα με πάνω από 2 συνεχόμενα b frames. Εάν με ενδιέφερε η συμβατότητα θα έβαζα τα max consecutive σε 2.
      [edit]: Επίσης, σε τέτοια bitrates, σαν Quantization Type θα έβαζα MPEG4.

      Δεν θα χρησιμοποιούσα QP. Και αυτό γιατί ήδη το QP χρειάζεται bitrate για την εφαρμογή του. Άρα δεν είναι πάντα εύκολο να πεις αν συμφέρει ή όχι η χρήση του. Αυτό, σε συνδυασμό με την μικρή υποστήριξη σε sap, είναι επαρκής λόγος για την μη χρήση του.

      Ο DVD Decrypter ήταν το καλύτερο πρόγραμμα για ripping. Όμως τώρα πια πολλά DVD δεν τα ripάρει (π.χ. πολλά με Sony ACROSS). Μια free λύση είναι DVD Fab Decrypter και DVD Shrink.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Καμμιά ιδέα για τέλειο IVTC της 1ης δύσκολης "υβριδικής" πηγής;

      Και γιατί κλώτσαγε το VirtualDub με την telecine() χωρίς παραμέτρους;
    1. Το avatar του μέλους mrsaccess
      mrsaccess -
      Μια διαφορετική οδός που μπορείς να ακολουθήσεις είναι με τον mplayer (mencoder). Ριπάρεις το dvd σου με το dvd decrypter ή το fab dvd express και για όλα τα υπόλοιπα χρησιμοποιείς τον mplayer (εκτός από τους υπότιτλους). Από όσο γνωρίζω κωδικοποιεί με όσα threads θέλεις σε H.264.

      Επιπλέον νομίζω πως όλα τα επιπλέον εργαλεία που υπάρχουν στο linux υπάρχουν και στα windows και έτσι μπορείς να έχεις μία κοινή μέθοδο για τα δύο λειτουργικά.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Παράθεση Αρχικό μήνυμα από mrsaccess Εμφάνιση μηνυμάτων
      Μια διαφορετική οδός που μπορείς να ακολουθήσεις είναι με τον mplayer (mencoder). Ριπάρεις το dvd σου με το dvd decrypter ή το fab dvd express και για όλα τα υπόλοιπα χρησιμοποιείς τον mplayer (εκτός από τους υπότιτλους). Από όσο γνωρίζω κωδικοποιεί με όσα threads θέλεις σε H.264.

      Επιπλέον νομίζω πως όλα τα επιπλέον εργαλεία που υπάρχουν στο linux υπάρχουν και στα windows και έτσι μπορείς να έχεις μία κοινή μέθοδο για τα δύο λειτουργικά.
      Δεν με απασχολεί να είναι κοινή μέθοδος καί στα 2 λειτουργικά αρκεί καί στα 2 να είναι:

      - native -> π.χ. το mplayer δεν το θεωρώ native όταν τρέχει σε Windows

      - αξιόπιστα -> π.χ. DVD-Decrypter, VirtualDub, VirtualDubMod είναι έχουν θέσει υποδειγματικά standards εδώ και χρόνια για άψογο ripping, pre-processing & frameserving και interleaving & multiplexing αντίστοιχα. Υπάρχουν native εργαλεία στο Linux που να έχουν την ίδια αποδεδειγμένη αποτελεσματικότητα και αξιοπιστία;

      - να έχω GUI για όλα

      - να μπορούν να μπουν jobs στη σειρά (batches)

      - να έχω πρόσβαση σε όλες τις επιλογές των video CODECs (XviD & x264)

      - να έχω πλήρη έλεγχο

      - να έχω πλήρη έλεγχο ειδικά στο pre-processing -> π.χ. με ποιά σειρά και πόσο γίνονται τα cropping, resizing κλπ. του καρέ πριν "φτυαριστούν" στον encoder

      - να είναι όλα native amd64

      - να είναι όλα multi-threaded

      Λοιπόν, υπάρχουν εργαλεία στο Linux που να πληρούν τα παραπάνω κριτήρια;

      Βασικά με ενδιαφέρουν "παραγωγές" 2 ειδών:

      α. AVI -> XviD + AC3 -> + SRT
      β. Matroska -> x264 + AC3 -> με chapters & subtitles

      --- ΠΡΟΣΘΗΚΗ ---

      Από τα παραπάνω, κι αν δεν είναι GUI αλλά είναι στην κονσόλα δεν με ενοχλεί. Στη χειρότερη μπαίνει σε ένα screen, και βάζονται πολλά μαζί σε ένα .sh σκριπτάκι.

      Αλλά οπωσδήποτε να έχει κάποια ένδειξη progress στην κονσόλα.

      Επίσης με ενδιαφέρει να μπορεί να δεχθεί VOB ως πηγή - και μάλιστα καί μεγαλύτερο από 4GB - και να παράγει απλά το video stream μέσα στο container, χωρίς το audio track.
    1. Το avatar του μέλους augerinos
      augerinos -
      Για θέμα αξιοπιστίας με τεκμήρια δεν μπορώ να μιλήσω, αλλά χρησιμοποιώντας το Avidemux εδώ και αρκετό καιρό στο linux δεν είχα κανένα πρόβλημα. Αν δεν κάνω λάθος, βγαίνει και σε AMD64.

      Για Xvid σε AVI ακολουθείς τη γνωστή οδό (άλλωστε είναι σχεδόν κλώνος του VirtualDub). Για matroska, επέλεξε απ'το avidemux το MP4 ως container και όταν τελειώσει το encode το παίρνεις όπως είναι και το ανοίγεις με το mkvtools, όπου εκεί φτιάχνεις chapters, subtitles streams κλπ.

      Tώρα για ripping σε native, λίγο δύσκολο όταν πρόκειται για δύστροπα κλειδώματα, σε κάθε άλλη περίπτωση το k9copy, k3b, dvd::rip και άλλα κάνουν καλή δουλειά.
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Παράθεση Αρχικό μήνυμα από augerinos Εμφάνιση μηνυμάτων
      Για matroska, επέλεξε απ'το avidemux το MP4 ως container και όταν τελειώσει το encode το παίρνεις όπως είναι και το ανοίγεις με το mkvtools, όπου εκεί φτιάχνεις chapters, subtitles streams κλπ.
      Άλλο container το mp4 και άλλο το mkv.

      Παράθεση Αρχικό μήνυμα από augerinos Εμφάνιση μηνυμάτων
      Tώρα για ripping σε native, λίγο δύσκολο όταν πρόκειται για δύστροπα κλειδώματα, σε κάθε άλλη περίπτωση το k9copy, k3b, dvd::rip και άλλα κάνουν καλή δουλειά.
      Το k3b δεν μπορεί να κάνει ripping σε πρωτότυπα DVD με CSS. Χωρίς CSS, ναι, μπορεί.
    1. Το avatar του μέλους parsifal
      parsifal -
      Παράθεση Αρχικό μήνυμα από WAntilles Εμφάνιση μηνυμάτων
      Άλλο container το mp4 και άλλο το mkv.
      Έχει δίκιο ο augerinos, σκέψου το MP4/MKV ως προσωρινό container όπου θα μπει το video stream. Το mkvmerge που περιλαμβάνεται στο MKVToolnix δέχεται ως είσοδο για το video stream μεταξύ άλλων και: AVI, MP4, MKV, raw AVC. Τα AVI και raw AVC καλό είναι να αποφεύγονται, γιατί δεν περιέχουν την πληροφορία για το display ratio που παράγεται κατά το encoding...
    1. Το avatar του μέλους giorgosts
      giorgosts -
      handbrake δοκίμασε κανείς; (δεν βγάζει .mkv όμως, μόνο avi/mp4/ogm)
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Παράθεση Αρχικό μήνυμα από giorgosts Εμφάνιση μηνυμάτων
      handbrake δοκίμασε κανείς; (δεν βγάζει .mkv όμως, μόνο avi/mp4/ogm)
      Είναι τόσο δύστροπο σαν κώδικας - ανεξαρτήτως διανομής -> πότε να μη χτίζεται, πότε να χτίζεται μόνο statically κλπ., που αμφιβάλλω αν αξίζει τον κόπο να ασχοληθεί κάποιος μαζί του.
    1. Το avatar του μέλους giorgosts
      giorgosts -
      ένα απλό universal binary είναι, που τρέχει από το userspace. Δεν πρέπει να έχει και άλλες εξαρτήσεις, γιατί ενόσω το τρέχω δεν βλέπω τίποτε άλλο στον process manager. Ούτε ffmpeg, ούτε mplayer, mencoder, τίποτε. Ούτε configuration files ή folders βλέπω πουθενά. Λένε στο site τους ότι υποστηρίζει και CSS
      http://handbrake.m0k.org/?page_id=2
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Παράθεση Αρχικό μήνυμα από giorgosts Εμφάνιση μηνυμάτων
      ένα απλό universal binary είναι, που τρέχει από το userspace. Δεν πρέπει να έχει και άλλες εξαρτήσεις, γιατί ενόσω το τρέχω δεν βλέπω τίποτε άλλο στον process manager. Ούτε ffmpeg, ούτε mplayer, mencoder, τίποτε. Ούτε configuration files ή folders βλέπω πουθενά. Λένε στο site τους ότι υποστηρίζει και CSS
      http://handbrake.m0k.org/?page_id=2
      Μα γι' αυτό ακριβώς φωνάζουν όλες οι διανομές.

      Να το κάνουν να μπορεί να χτίζεται με dynamic linking στις βιβλιοθήκες επιτέλους.
    1. Το avatar του μέλους giorgosts
      giorgosts -
      Παράθεση Αρχικό μήνυμα από WAntilles Εμφάνιση μηνυμάτων
      Μα γι' αυτό ακριβώς φωνάζουν όλες οι διανομές. Να το κάνουν να μπορεί να χτίζεται με dynamic linking στις βιβλιοθήκες επιτέλους.
      Τέτοια προγράμματα έχω χίλια δύο. Και αν πχ. ο mencoder παρουσιάζει lag στο audio, δεν δουλεύει κανένα.
    1. Το avatar του μέλους giorgosts
      giorgosts -
      Πάντως με 3 προσπάθειες που έκανα, το dvd είναι καλύτερο. Θέλει δουλειά και διάβασμα.
      1. avi ffmpeg, single pass, bitrate 1000


      2. mp4 x264b30 double pass, bitrate 1000


      3. mp4 x264b30 double pass, bitrate 3000

      Καλό, αλλά όχι τόσο καλό όσο

      4. Το αρχικό dvd Προσέξτε πως φαίνεται ο τύπος στο σκοτάδι, πίσω αριστερά:


      Πάντως και με το bitrate στα 3000, έχουμε λόγο συμπίεσης 1:2,5 που κάνει τη δοκιμή μας έναν τίμιο συμβιβασμό.

      Να τι λένε και τα παιδιά που χρησιμοποιούν handbrake σε Machintοsh: http://forums.macrumors.com/archive/.../t-290646.html
    1. Το avatar του μέλους WAntilles
      WAntilles -
      Είμαι τρελός, ή έχετε καί εσείς πρόβλημα με την τελευταία έκδοση (r667b) του x264;

      Γιατί είτε 64-bit είτε 32-bit, όποιο VirtualDub-οειδές (κανονικό ή -Mod) καί να του βάλω από πίσω να του "φτυαρίζει" καρέ, όταν πάω να ξεκινήσω το 2ο pass, το CODEC αμέσως προκαλεί crash στο VirtualDub-οειδές.

      Και δεν φταίνε τα συγκεκριμένα κλιπ γιατί το κάνουν καί τα 4.

      Δοκίμασα καί στο Linux, αλλά θα τα πω σε επόμενο ποστ.

      --- ΠΡΟΣΘΗΚΗ ---

      Παίζοντας με το MeGUI - είναι πολύ καλό, σαφώς καλύτερο από το GKnot - το οποίο περιλαμβάνει την x264 r663, δεν έχει πρόβλημα.

      Άρα προφανώς είναι πρόβλημα του snapshot r667b του x264.