Κωδικοποίηση βίντεο

Vasilis Vasaitis vvas at hal.csd.auth.gr
Tue Apr 13 23:37:15 EEST 2004


On Tue, Apr 13, 2004 at 10:07:13PM +0300, Alexandros Papadopoulos wrote:
> On Tuesday 13 April 2004 00:10, Alexandros Diamantidis wrote:
> > Χρόνια πολλά και Χριστός ανέστη!
> >
> > Έχω ένα αρχείο avi με βίντεο MJPEG και ήχο PCM και θέλω να το
> > συμπιέσω, ας πούμε την εικόνα με XviD και τον ήχο με mp3.
> >
> > Δοκιμάζω τις εξής εντολές:
> >
> > mencoder -o /dev/null -ovc xvid -oac copy -xvidencopts pass=1:gmc
> > IN.avi
> >
> > mencoder -idx -o OUT.avi -ovc xvid -oac mp3lame \
> >    -xvidencopts bitrate=450:pass=2:gmc -oac mp3lame \
> >    -lameopts vbr=3:abr=128:q=0:aq=0 IN.avi
> >
> > Με την εικόνα όλα καλά, αλλά με τον ήχο κάτι δεν πάει σωστά. Το
> > αρχείο που προκύπτει μοιάζει να μην έχει audio stream... Στο τέλος
> > της κωδικοποίησης βγάζει:
> > > Video stream:  452.533 kbit/s  (56566 bps)  size: 9171264 bytes
> > > 162.132 secs  2700 frames
> > > Audio stream:      nan kbit/s  (-2147483648 bps)  size: 0 bytes
> > > 0.000 secs
> >
> > Όταν πάω να το παίξω, ο mplayer λέει:
> > > AVI file format detected.
> > > AVI_NI: No audio stream found -> no sound.
> > >
> > > Badly interleaved AVI file detected - switching to -ni mode...
> > > AVI: No audio stream found -> no sound.
> >
> > Με -oac copy στη δεύτερη εντολή ο ήχος είναι εντάξει, απλώς παραμένει
> > ασυμπίεστος.
> >
> > Τι μπορεί να συμβαίνει; Έκανα και μια αναβάθμιση μήπως ήταν κάποιο
> > πρόβλημα, αλλά ακόμα και με τις τελευταίες εκδόσεις του lame και του
> > mplayer κάνει τα ίδια. Μήπως κάτι δεν είναι σωστό με τις παραμέτρους
> > του lame; Δοκίμασα επίσης με ένα απλό preset=medium αλλά τα ίδια...

  Πιθανώς να μη μπορεί καν να το κάνει αυτό ο mencoder, όσο κουλό κι
αν φαίνεται... Από μια γρήγορα ματιά στην τεκμηρίωση προκύπτει ότι όλα
τα παραδείγματα εκεί χρησιμοποιούν -oac copy, εκτός από τη συμπίεση
τριών περασμάτων που αναφέρει ο άλλος Αλέξανδρος.

> Δοκίμασε να συμπιέσεις πρώτα τον ήχο και μετά το video stream, όπως λέει 
> εδώ: (αλλάζοντας φυσικά το video codec σε αυτό που θες)
> 
> http://www.andrew.cmu.edu/~apapadop/linux/tips.html

  Αν είναι να συμπιεστούν εικόνα και ήχος χωριστά, να προτείνω κάτι
πιο extreme; Διαχωρίζεις τον ήχο με -ao pcm, τον συμπιέζεις με oggenc
(Ogg Vorbis), συμπιέζεις και την εικόνα με XviD δυο περασμάτων, και
μετά με το mkvmerge [0] τα βάζεις μαζί σε ένα matroska [1] αρχείο.
Έτσι έχεις καλύτερη ποιότητα ήχου (λόγω ανωτερότητας του vorbis),
καλύτερη ποιότητα εικόνας (πάλι λόγω vorbis, περισσεύουν περισσότερα
bit για την εικόνα), και καλύτερο file format. Ε τι άλλο θέλεις. :^)


[0] http://www.bunkus.org/videotools/mkvtoolnix/index.html
[1] http://www.matroska.org/

-- 
Vasilis Vasaitis
"A man is well or woe as he thinks himself so."





More information about the Linux-greek-users mailing list