PDA

Επιστροφή στο Forum : DVD2AVI script για σουπερ γρηγορο encoding



Slammer
04-06-04, 01:33
Για την παραγωγή των avi μου, εχω φιαξει ενα script το οποιο κανει ολη τη διαδικασια μετατροπης (εφαγα πολλες ωρες ψαξιματος). Δυστυχώς τα GUI-Based δεν με ικανοποιούσαν και με κουραζαν τα δεκάδες κλικ που επρεπε να κάνω...

Το script κανει:
- επιλογή τιτλου
- επιλογή range κεφαλαίων
- αυτοματο κοψιμο καδρου
- ηχος mp3 cbr ή abr
- υπολογισμος bitrate encoding
- 2-pass encoding
- υπότιτλοι με vobsub ή πάνω στο video.
- υψηλώτερη δυνατή ποιότητα ripping
- μετατροπή on-the-fly χωρις ripping στο σκληρό.

Η ταχυτητα του, ξεπερνά οτιδήποτε σε Windows αφου με τον κλασικό τροπο στο μηχανημα μου χρειζόμουν πάνω από 4 ωρες (χωρις να υπολογισω τις καθυστερησεις απο το ενα προγραμμα στο άλλο) ενω με αυτο, για την ιδια ταινία χρειαζεται κατι παραπάνω απο 2 ωρες.

Προαπαιτούμενο ειναι το mplayer...

Λοιπόν το script ειναι:


#!/bin/bash
dvddev="/dev/cdroms/cdrom0"
mountd="/mnt/cdrom"

echo $dvddev;
echo $mountd;

echo -n "**********> dvd title number? : ";
read dvdtitle;

mplayer dvd://$dvdtitle -dvd-device $dvddev -v | grep open;

echo -n "**********> Audio Type cbr/abr : ";
read atype;

echo -n "**********> Audio bitrate : ";
read abr;

echo -n "**********> Audio ID : ";
read lng;

echo -n "**********> Sub ID : ";
read sub;

echo -n "**********> Init Width : ";
read width;

echo -n "**********> Video Bitrate [return] : ";
read vbr;

echo -n "**********> Using Vobsub y/n : ";
read vobsub;

mencoder dvd://$dvdtitle -dvd-device $dvddev -chapter 3 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=800 -vf cropdetect -oac copy -o /dev/null;

rm getting.avi;
echo -n "**********> crop boundaries : ";
read crop;
echo "";
echo -n "**********> finally, file name : ";
read filename;
gmplayer dvd://$dvdtitle -dvd-device $dvddev -vo xv -aid $lng -sws 2 -vf crop=$crop,scale=$width:-3 -noaspect -sid $sub > /dev/null;

echo -n "**********> Starting Chapter : ";
read schap;

echo -n "**********> Ending Chapter :";
read echap;

# pass 1
echo "";
echo "-----------------------------------------------------------------------";
echo " A U D I O P A S S ";
echo "-----------------------------------------------------------------------";
echo "";
rm frameno.avi;
nice -n +19 mencoder dvd://$dvdtitle -dvd-device $dvddev -chapter $schap-$echap -noskip -aid $lng -ovc frameno -o frameno.avi -oac mp3lame -lameopts $atype:br=$abr;
if [ "$vbr" = "" ]
then
echo -n "**********> video bitrate? ";
read vbr;
fi

# pass 2
echo "";
echo "-----------------------------------------------------------------------";
echo " F I R S T P A S S ";
echo "-----------------------------------------------------------------------";
echo "";
if [ "$vobsub" = "y" ]
then
nice -n +19 mencoder dvd://$dvdtitle -sws 2 -dvd-device $dvddev -chapter $schap-$echap -noskip -ovc lavc -lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=31:vpass=1:vbitrate=$vbr -vf crop=$crop,scale=$width:-3 -noaspect -oac copy -o /dev/null;
else
nice -n +19 mencoder dvd://$dvdtitle -sws 2 -dvd-device $dvddev -chapter $schap-$echap -noskip -sid $sub -ovc lavc -lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=31:vpass=1:vbitrate=$vbr -vf crop=$crop,scale=$width:-3 -noaspect -oac copy -o /dev/null;
fi

# pass 3
echo "";
echo "-----------------------------------------------------------------------";
echo " S E C O N D P A S S ";
echo "-----------------------------------------------------------------------";
echo "";
if [ "$vobsub" = "y" ]
then
nice -n +19 mencoder dvd://$dvdtitle -sws 2 -dvd-device $dvddev -chapter $schap-$echap -noskip -ovc lavc -lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=31:vpass=2:vbitrate=$vbr -vf crop=$crop,scale=$width:-3 -noaspect -oac copy -o $filename.avi;
else
nice -n +19 mencoder dvd://$dvdtitle -sws 2 -dvd-device $dvddev -chapter $schap-$echap -noskip -sid $sub -ovc lavc -lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=31:vpass=2:vbitrate=$vbr -vf crop=$crop,scale=$width:-3 -noaspect -oac copy -o $filename.avi;
fi

if [ "$vobsub" = "y" ]
then
echo "";
echo "-----------------------------------------------------------------------";
echo " S U B T I T L E R I P P I N G";
echo "-----------------------------------------------------------------------";
echo "";
cp $mountd/VIDEO_TS/VTS_0${dvdtitle}_0.IFO $filename.ifo ;
cp $mountd/vts_0${dvdtitle}_0.ifo $filename.ifo ;
tccat -i $dvddev -T${dvdtitle},${schap} -L | tcextract -x ps1 -t vob -a 0x2${sub} > ${filename}.ps1 ;
cat ${filename}.ps1 | subtitle2vobsub -i ${filename}.ifo -o ${filename} ;

#copy original idx to .org
cp ${filename}.idx ${filename}.idx.org;
rm ${filename}.idx
echo "# VobSub index file, v7 (do not modify this line!)" > ${filename}.idx;
echo "# Ripping using Slammer's script" >> ${filename}.idx;
echo "size: 720x576" >> ${filename}.idx;
echo "org: 0, 0" >> ${filename}.idx;
echo "scale: 100%, 100%" >> ${filename}.idx;
echo "fadein/out: 50, 50" >> ${filename}.idx;
echo "alpha: 100%" >> ${filename}.idx;
echo "forced subs: OFF" >> ${filename}.idx;
echo "custom colors: OFF, tridx: 1000, colors: fdfdfd, fdfdfd, fdfdfd, 000000" >> ${filename}.idx;
cat ${filename}.idx.org | grep palette >> ${filename}.idx;
echo "langidx: 0" >> ${filename}.idx;
echo "id: el, index: 0" >> ${filename}.idx;
cat ${filename}.idx.org | grep timestamp >> ${filename}.idx;
cat ${filename}.idx.org | grep timestamp;
fi
rm frameno.avi


Καταρχήν καντε το copy-paste (ελπίζω να δουλεύει.. αλλιως θα το κάνω "επισύναψη")
To ονομα του ειναι "dvd2avi.sh" και το βαζουμε σε ενα directory, ας πουμε το ~/video

Κατ' αρχην αλλάξετε τις πρωτες δυο γραμμες ωστε να συμπίπτουν στη συσκευή dvd που εχετε.

Πριν αρχίσετε, καντε ενα directory μεσα στο ~/video ας πουμε film1
Κανουμε cd στο film1 και τρεχουμε ../dvd2avi.sh

H πρώτη ερωτηση ειναι :


**********> dvd title number? : 1

βαζουμε τον τιτλο του dvd που θέλουμε να μετατρεψουμε (συνηθως 1).Αμέσως Θα ξεκινήσει (αν εχουμε δηλώσει σωστα το device) σε ενα νέο παράθυρο να παίζει η ταινια, για να επαληθευσουμε οτι διαλέξαμε σωστα και να παρουμε και μερικά στοιχεια...
Αφου ειμαστε ΟΚ, παταμε Ctrl-C στο παράθυρο που τρεχει το script για να προχωρήσουμε παρακάτω.
Ακολουθούν οι ερωτήσεις


**********> Audio Type cbr/abr : abr
**********> Audio bitrate : 96
**********> Audio ID : 128
**********> Sub ID : 0
**********> Init Width : 512
**********> Video Bitrate [return] :
**********> Using Vobsub y/n : y

Εδω δηλωνουμε με τη σειρά
- αν θέλουμε cbr(σταθερό) ή abr(μεταβλητο) bitrate στο mp3 του ηχου.
- Το bitrate του mp3
- Το ID καναλι του ηχου, συνήθως 128
- Το ΙD των υποτίτλων. Αν κανετε λιγο scrolling πιο πάνω θα δειτε την αντιστοιχια των ID των υποτίτλων, οπότε δειτε που ειναι τα ελληνικα...
- Το πλατος του καρέ του avi, το υψος θα υπολογιστεί αυτόματα ωστε να κρατηθεί η αναλογία.
- Αν θελουμε να ορισουμε το bitrate του video το γραφουμε, αλλιως με enter θα υπολογιστεί στη συνέχεια βαση του μεγεθους του CD.
- τελος διαλέγουμε αν θα χρησιμοποιήσουμε υπότιτλους τύπου vobsub(y) ή θα ειναι πάνω στην ταινία(n).

Αμεσως μετα θα αρχισει η ανάλυση των "μαυρων" του καδρου... Κατα τη διαδικασία αυτή παρατηρουμε τους αριθμούς που τρεχουν πχ...:


crop area: X: 9..711 Y: 81..404 (-vf crop=702:322:10:82).008 [0:0]
crop area: X: 9..711 Y: 81..416 (-vf crop=702:334:10:82).004 [0:0]
crop area: X: 9..711 Y: 81..430 (-vf crop=702:348:10:82).000 [0:0]
crop area: X: 9..711 Y: 81..440 (-vf crop=702:358:10:82)0.003 [0:0]
crop area: X: 9..711 Y: 81..453 (-vf crop=702:372:10:82)0.006 [0:0]
crop area: X: 9..711 Y: 81..469 (-vf crop=702:388:10:82)0.008 [0:0]
crop area: X: 9..711 Y: 81..488 (-vf crop=702:406:10:82)0.011 [0:0]
crop area: X: 9..711 Y: 81..493 (-vf crop=702:412:10:82)0.013 [0:0]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.015 [0:0]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.016 [0:0]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.018 [0:0]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.019 [0:0]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.022 [0:384]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.024 [0:384]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.027 [0:384]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.028 [0:384]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.030 [0:384]
crop area: X: 9..711 Y: 81..494 (-vf crop=702:412:10:82)0.032 [0:384]

Αν δουμε οτι οι αριθμοι crop σταθεροποιουνται, περιμένουμε λιγα δευτερόλεπτα για να βεβαιωθούμε.... και πατάμε ctrl-C.
Στη περίπτωση μας το ζητούμενο ειναι 702:412:10:82, το οποιο γραφουμε στην επόμενη ερωτηση....


**********> crop boundaries : 702:412:10:82

Η επόμενη ερωτηση ειναι το filename..


**********> finally, file name : myavi

Μετα απο αυτά, θα ξεκινήσει το video να παίζει με το mplayer, οπότε μπορουμε να δουμε αν οι ρυθμίσεις που βάλαμε ειναι ΟΚ.
Αν ολα ειναι ΟΚ κλειστε το mplayer...

Στις επόμενες 2 ερωτησεις βαζουμε το αρχικό chapter και το τελικο..


**********> Starting Chapter : 1
**********> Ending Chapter : 16

Θα ξεκινήσει το encoding του ήχου, που διαρκεί συνήθως κανενα μισάωρο... Μετα το τελος της διαδικασίας αυτής το πρόγραμμα θα μας προτείνει μερικά bitrates για to video ετσι ωστε να χωρέσει σε τυποποιημενα CD... και με βαση αυτο βαζουμε την κατάλληλη τιμή στην επόμενη ερωτηση...


**********> video bitrate? 705

Αυτο ήταν ξεκινά η διαδικασια 2pass encoding του video... Χαλαρωστε αφηστε την κονσολα να τρέχει... Φυσικά ο υπολογιστης ειναι πληρως χρησιμος για οτιδήποτε ακόμα και για emerge...

Αυτα... προτασεις/ βελτιωσεις ειναι ευπροσδεκτες...

kostthem
05-06-04, 02:25
Μπράβο ρε slammer!!!!!!!!!!!!!!


Θα το δοκιμάσω και θα σου πω. Είσαι όμως αναλυτικότατος! Μπράβο!

Ducklord
05-06-04, 04:05
Σλάμερ, έχω ένα πρόβλημα. Να ξεκαθαρίσω εξαρχής πως ΔΕΝ δοκίμασα ακόμη το σκρίπτ σου...

1. Δίνεις επιλογή για περισσότερα CDs; Μπορείς, με κάποιον τρόπο, να ορίζεις μέγεθος αρχείου και βάσει αυτού να υπολογίζεται το bitrate; Σε ρωτάω διότι τα backup μου δεν τα καίω σε σιντάκια, μα σε... ντιβιντιά (ω, ναι!), 2-3 ταινίες στο δισκάκι και με κουλά μεγέθη (π.χ. 1 γκίγκα η ταινία).

2. Τσκ τσκ τσκ... Όπεν σώρς ιδεολογία και δεν το έκανες με Όγκ; Τρέχα! Σοβαρά τώρα, ΠΟΣΟ θα σε παιδέψω για να μπορείς να κρατήσεις το AC3 ή να κάνεις κωδικοποίηση σε Όγκ; Τι να κάνουμε, είμαι τελειομανής!

3. Απο ΕξΒίντ τίποτα; Καλά τα λες για την κωδικοποίηση, μα τι κόντεκ χρησιμοποιείς; Διότι, και το Νήρο Ρηκόουντ είναι ταχύτατο (50-60 εφπιές σε σχέση με τα 10-15 του Εξβίντ στο πισί μου) μα απο ποιότητα δεν συγκρίνεται. Καμία ελπίδα;

Θένκς ούτως ή άλλως για το σκρίπτ, μα... τι να κάνουμε, κολλήματα είναι αυτά! Το Εξβίντ με Εη-Σι-Θρή δεν το αλλάζω και ας θέλει 30 ώρες! ;-)

Φιλικά
Παπιάρχοντας

Slammer
05-06-04, 13:25
Ducklord, Για το 1, μπορεις να δουλέψεις με δύο τροπους. ειτε να ορισεις εσυ από την αρχή το bitrate ή να το ορισεις μετα το encoding του ηχου ετσι ωστε να χωρέσει σε ενα cd... Αυτοματα σου δινει το bitrate για τυποποιημένα cd , ομως με τα στοιχεια που σου δίνει μπορεις με μια απλή πραξη να βρεις το bitrate ωστε να σου βγει το αρχειο οσο θελεις....
2. Η επιλογη σε ogg ειναι απλή, με την αλλαγη του -oac ορισματος...
3. Χρησιμοποιειται το lavc/xvid codec το οποιο ουσιαστικά ειναι μια στανταρτ υλοποιηση του mpeg4 (Τα windows το βλεπουν σαν divx) αλλα μπορει να χρησιμοποιηθει οποιαδηποτε αλλη. Απο προσωπικη εμπειρια, η ποιοτητα ειναι κορυφαια. Ευκολα κανεις μπορει να αλλαξει το codec αλλαζοντας το -ovc ορισμα (ειδικα τωρα που εγινε release το xvid 1.0)

Περισσοτερα στο manual του mplayer οπου μπορειτε να δειτε τα option που χρησιμοποιω, καθως και τι αλλες δυνατοτητες υπάρχουν...

Φυσικα, μπορειτε να πάρετε ως βαση το παραπάνω script και να το τροποποιησετε συμφωνα με τις δικές σας επιλογες, (default settings, encoding options κλπ) ετσι ωστε να κανετε τη μετατροπή πληρως αυτοματοποιημενη.... Linux Rulez!

Ducklord
05-06-04, 18:45
Σλάμερ, είσαι ένας ποταπός, αλητήριος είρων! Να εξηγηθώ;

"Φυσικα, μπορειτε να πάρετε ως βαση το παραπάνω script και να το τροποποιησετε συμφωνα με τις δικές σας επιλογες, (default settings, encoding options κλπ) ετσι ωστε να κανετε τη μετατροπή πληρως αυτοματοποιημενη..."

...!!!!!!!

Εδώ δεν μπορώ να βρω πως να κάνω εγκατάσταση το porthole, και γιατί μου κράσαρε δίς το κομπάηλ του OpenOffice μετά απο... 2 μέρες την κάθε φορά, νομίζεις πως είμαστε μέντορες του λίνουξ (σαν εσένα) για να φτιάξουμε δικά μας σκριπτάκια ακόμη δεν το πιάσαμε; Μπάς και να φτιάξω το δικό μου κόντεκ και έναν ενκόντερ σε ασέμπλυ;

Κακιασμένε... Για να με δουλέψεις το είπες... ;-)

Φιλικά
Παπιάρχοντας
Υ.Γ.: Χωρίς ίχνος κακίας, έτσι; Απλά, έχω αγχωθεί ο... νιούμπης, και το σχόλιό σου με... "πόνεσε"!

Slammer
05-06-04, 18:53
:lol: :lol: Βαλτο να δουλεψει.... και φιαχνουμε..... μεχρι αυτοματο ocr για τους υποτιτλους σε srt φορματ ..... :lol: :lol:

Compile το OpenOffice??? Γιατι ταλαιπωρεις τον εαυτό σου και το μηχανάκι σου?... υπαρχει και bin.

Ducklord
07-06-04, 09:52
Βρε Σλάμ, σε άσχετο σημείο σε ρωτάω, μα χέλπ... Αν είναι, ας το κάνουμε και ξεχωριστό θρέντ...

1. Δεν μπορώ να κάνω emerge το porthole. Μπορείς να μου δώσεις μια εντολή ακριβώς όπως πρέπει να τη γράψω;

2. Το ίδιο, μα για ένα όφις. Οποιοδήποτε. Χρειάζομαι Word, Excel και Access ή παραπλήσια. Δε με νοιάζει και αν είναι ανεξάρτητες λύσεις, ούτε καν αν έχουν ορθογράφο!

3. Απο ρυθμίσεις Wine ξέρεις τίποτα; Το κατάφερα να μου τρέχει apps, μα όχι games. Το πρώτο UT τρέχει μόνο σε software. Δοκίμασα παιχνίδια που έχω ήδη εγκατεστημένα στα Win, και όχι να εγκαταστήσω κάτι κατευθείαν στο λίνουξ.

Θένκς...

Φιλικά
Παπιάρχοντας

Slammer
07-06-04, 13:30
1. Ασε το porthole... ακομα ειναι officialy masked. Φαινεται οτι ολα τα project που προσπαθούν να δωσουν GUI στο portage δεν τυγχανουν ενδιαφεροντος.... τελικα ολοι βολευονται με το emerge... (παλιοτερα ετσι και το kportage μαραζωσε τελικα...)

2. ACCEPT_KEYWORDS=~x86 emerge openoffice-ximian-bin

3. Δες το αντιστοιχο tread πρωτα (παντα μηδενικο installation) και ανοιξε ενα νεο που αφορα συγκεκριμένο προγραμμα (πχ... Tiberian Sun με Wine), να το παλέψουμε...

Spock
18-06-04, 08:46
Έχω ένα προβληματάκι με τον mencoder, δε χρησιμοποίησα το script καθώς αυτό που θέλω να φτιάξω θέλει κάτι περίεργα. Λοιπόν:

Έχω ένα vob, vts_01_1.vob, το οποίο έχει μέγεθος 448MB και διάρκεια 55'. Όταν το ξεκινάω στον mplayer παίζει με aspect 16:9, δείχνοντας παραμορφωμένα τα πρόσωπα, και πρέπει πάντα να το αλλάζω στο 4:3.

Θελω να το μετετρέψω σε AVI, για να μειώσω το μέγεθος στα 350MB, και να αλλάξω το aspect ratio στα 4:3.

Δοκίμασα με XVID, με μετατροπή του ήχου σε mp3:



#nice -n 15 mencoder -noskip -force-avi-aspect 1.33 -oac mp3lame -lameopts cbr:br=128:mode=0 -ovc xvid -xvidencopts bitrate=750 /mnt/common/vts_01_1.vob -o 1.avi


Το αποτέλεσμα είναι ένα αρχείο 243MB, με aspect 4:3. Ότι bitrate και να βάλω(δοκίμασα και 900), ο mencoder τελικά μετατρέπει στα 630 περίπου:



#nice -n 15 mencoder -noskip -force-avi-aspect 1.33 -oac mp3lame -lameopts cbr:br=128:mode=0 -ovc xvid -xvidencopts bitrate=750 /mnt/common/vts_01_1.vob -o 1.avi
MEncoder 1.0pre4-3.3.2 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred 3486 MHz (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
MMX supported but disabled
MMX2 supported but disabled
SSE supported but disabled
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags: Type: 6 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions:

Reading /root/.mplayer/codecs.conf: Can't open '/root/.mplayer/codecs.conf': No such file or directory
Reading /usr/share/mplayer/codecs.conf: 66 audio & 176 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
Reading config file /root/.mplayer/mencoder: No such file or directory
font: can't open file: /root/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
success: format: 0 data: 0x0 - 0x1C0D1800
MPEG-PS file format detected.
VIDEO: MPEG1 352x240 (aspect 3) 29,970 fps 1150,0 kbps (143,8 kbyte/s)
[V] filefmt:2 fourcc:0x10000001 size:352x240 fps:29,97 ftime:=0,0334
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 28000->192000 (224,0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 352 x 240 (preferred csp: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
MP3 audio selected
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
Writing AVI header...
ODML: vprp aspect is 4:3.
VDec: vo config request - 352 x 240 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1,78:1 - prescaling to correct movie aspect.
videocodec: XViD (352x240 fourcc=44495658 [XVID])
Pos: 0,7s 22f ( 0%) 0fps Trem: 0min 0mb A-V:0,070 [0:128]
Skipping frame!
Pos: 1,0s 32f ( 0%) 0fps Trem: 0min 0mb A-V:0,070 [651:128]
Skipping frame!
Pos: 1,3s 42f ( 0%) 0fps Trem: 12min 133mb A-V:0,070 [648:127]
Skipping frame!
Pos: 1,7s 53f ( 0%) 0fps Trem: 13min 153mb A-V:0,067 [704:127]
Skipping frame!
Pos:1231,3s 36907f (46%) 65fps Trem: 10min 251mb A-V:0,067 [669:128]]
Skipping frame!
Pos:2634,5s 78962f (99%) 64fps Trem: 0min 240mb A-V:0,056 [632:128]]
Broken frame at 0x465DC2D
Pos:2635,0s 78977f (100%) 64fps Trem: 0min 240mb A-V:0,008 [632:127]

CBR audio: 16000 bytes/sec, 384 bytes/block

Writing AVI index...
Fixing AVI header...
ODML: vprp aspect is 4:3.

Video stream: 632,887 kbit/s (79110 bps) size: 208459845 bytes 2635,035 secs 78977 frames

Audio stream: 128,000 kbit/s (15999 bps) size: 42168576 bytes 2635,536 secs



Παρόλο που χρησιμοποίησα -noskip, συνεχίζει να βγαζει Skipping frame...
Πού κάνω λάθος; Δοκίμασα και με lavc, με το ίδιο αποτέλεσμα (630kbit/s).
Τα μηνύματα λάθους για αρχεία κτλ έχουν κάποια σχέση;

Slammer
18-06-04, 12:28
Spock,

Κανονικά, αφου θες 350MB εχουμε

350000/2635 = 132.8 Κbytes/sec = 1062 Kbits/sec
Για δωσε bitrate 1060!

Επισης ορισε και το frame να εινα λιγο μεγαλύτερο, γιατι με 352x240 η ποιοτητα δεν ειναι καλή.
Γενικα μπορεις με bitrate ~1000 να εχεις καλη εικονα σε frame 512x384
Ενας καλός τυπος για να ξερετε περιπου το μεγεθος του frame που "σηκωνει" ενα bitrate ειναι:

Πέρνουμε το XxY του frame...
εστω 512x384 = 196608 pixels

και bits/sec/pixel πχ
1000 Kbits/sec / 196608 pixels = 5,08 bits/sec/pixel

Εμπειρικα παρατηρώ οτι αν αυτο το μεγεθος ειναι πάνω από 5 η εικονα ειναι καλή!

Ενα αλλο κριτηριο ποιοτητας σχετικά με το μέγεθος του frame ειναι να πάρουμε τη τιμή (λαμβανει υπόψη και το frames/sec... αλλα γενικα ο πανω ειναι καλυτερος)

(Bitrate * 1000) / (frames/sec) / pixels

Αν η τιμή ειναι πάνω από 0.2 η εικόνα ειναι ΟΚ

Στη περιπτωση σου εχουμε (με 1060 και 512x384)

1060 * 1000 / 29 / 196608 = 0.186

χμμ.. Κοντα στο 0.2 αλλα αν αλλαξεις το framerate στο standard 25 θα εισαι ΟΚ 100%

Τα skip παραγνωρισε τα, προερχονται απο το αρχικο vob και δεν μπορεις να κανεις τιποτα.

Spock
18-06-04, 13:51
Slammer, τζίφος...



# nice -n 15 mencoder -noskip -force-avi-aspect 1.33 -oac mp3lame -lameopts cbr:br=128:mode=0 -ovc xvid -xvidencopts bitrate=1100 /mnt/common/vts_01_1.vob -o 1.avi
MEncoder 1.0pre4-3.3.2 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred 1997 MHz (Family: 6, Stepping: 1)
...
...
...
xvid: using library version 1.0.1 (build xvid-1.0.1)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 352 x 240 (preferred csp: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
MP3 audio selected
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
Writing AVI header...
ODML: vprp aspect is 4:3.
VDec: vo config request - 352 x 240 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1,78:1 - prescaling to correct movie aspect.
videocodec: XviD (352x240 fourcc=44495658 [XVID])
xvid: CBR Rate Control -- bitrate=1100kbit/s
Pos: 0,7s 22f ( 0%) 0fps Trem: 0min 0mb A-V:0,070 [0:128]
Skipping frame!
Pos: 1,0s 33f ( 0%) 0fps Trem: 0min 0mb A-V:0,068 [523:128]
Skipping frame!
Pos:1231,3s 36907f (46%) 56fps Trem: 12min 196mb A-V:0,067 [492:128]]
Skipping frame!
Pos:1580,2s 47363f (60%) 55fps Trem: 9min 188mb A-V:0,026 [466:128]

CBR audio: 16000 bytes/sec, 384 bytes/block

Writing AVI index...
Fixing AVI header...
ODML: vprp aspect is 4:3.

Video stream: 466,590 kbit/s (58323 bps) size: 92162002 bytes 1580,180 secs 47363 frames

Audio stream: 128,000 kbit/s (16000 bps) size: 25290624 bytes 1580,664 secs


Το έκοψα στο 60% και έκανα μια άλλη δοκιμή...



# nice -n 15 mencoder -noskip -force-avi-aspect 1.33 -oac mp3lame -lameopts cbr:br=128:mode=0 -ovc xvid -xvidencopts bitrate=6000 /mnt/common/vts_01_1.vob -o 2.avi
MEncoder 1.0pre4-3.3.2 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred 1997 MHz (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
...
...
...
xvid: using library version 1.0.1 (build xvid-1.0.1)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 352 x 240 (preferred csp: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
MP3 audio selected
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
Writing AVI header...
ODML: vprp aspect is 4:3.
VDec: vo config request - 352 x 240 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1,78:1 - prescaling to correct movie aspect.
videocodec: XviD (352x240 fourcc=44495658 [XVID])
xvid: CBR Rate Control -- bitrate=6000kbit/s
Pos: 0,7s 22f ( 0%) 0fps Trem: 0min 0mb A-V:0,070 [0:128]
Skipping frame!
Pos: 1,0s 33f ( 0%) 0fps Trem: 0min 0mb A-V:0,068 [664:128]
Skipping frame!
Pos:1065,7s 31942f (40%) 56fps Trem: 14min 200mb A-V:0,021 [507:127]]

CBR audio: 16000 bytes/sec, 384 bytes/block

Writing AVI index...
Fixing AVI header...
ODML: vprp aspect is 4:3.

Video stream: 507,785 kbit/s (63473 bps) size: 67641153 bytes 1065,666 secs 31942 frames

Audio stream: 128,000 kbit/s (15999 bps) size: 17058432 bytes 1066,152 secs



Τελείως ότι να 'ναι...
Ή εγώ κάνω κάπου βλακεία ή ο mencoder κάνει ότι θέλει...
Έχει νόημα να μεγαλώσω το frame, από τη στιγμή που το αρχικό vob είναι στα 352x240;

Ευχαριστώ πολύ πάντως για τη βοήθεια... :lol:

Slammer
18-06-04, 14:50
Spock,
Για δοκιμασε με

-ovc lavc -lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=31:vbitrate=1100

χμ.. κατι μου λεει οτι 1-pass encoding και με την default ποιοτητα ο xvid δεν μπορει να ανεβάσει το bitrate...
Μηπως η ποιοτητα του μικρου εστω avi ειναι καλή και αυτος ειναι ο λογος που δεν ανεβάζει? Αν οντως με το bitrate αυτο που διαλέγει ο xvid εχεις καλή ποιοτητα γιατι να θες μεγαλύτερο?
Λογικά με την αναλυση που λες πρεπει να πέρνεις πολυ καλή ποιοτητα...

ΑΑ! υπάρχει ενα προγραμμα αντιστοιχο του virtualdubmod :

avidemux.. υπάρχει στο portage!

http://fixounet.free.fr/avidemux/

Spock
20-06-04, 02:29
Ευχαριστώ slammer! Το avidemux από μια πρώτη ματιά που του έριξα είναι πολύ καλό, αντικαθιστά σε πολύ μεγάλο βαθμό το virtualdub νομίζω.
Λίγο αργό μου φάνηκε βέβαια, αλλά μάλλον κάποια ρύθμιση θα είναι...

Και με -ovc lavc -lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=31:vbitrate=1100
που δοκίμασα πάντως το ίδιο αποτέλεσμα πήρα, δηλ μάλλον ο mencoder δίνει το μέγιστο δυνατό bitrate,αναλογικά με την ποιότητα του αρχικού vob.

@ ADSLgr.com All rights reserved.