[MPlayer-users] Fwd: Trying to split avi file using mencoder

wim delvaux wim.delvaux at adaptiveplanet.com
Mon Sep 18 19:34:48 CEST 2006


AVISplit warns that it sometimes has problems with audio being out of sync in 
the second part of the movie because of unmatched frameing or something.

Have you encountered that problem ?

W

On Monday 18 September 2006 18:13, Alexander Roalter wrote:
> wim delvaux wrote:
> > Hi all,
> >
> > Look at this little shell script :
> >
> > if [ "$1" == "" ]
> > then
> >   echo "usage $0 filename"
> >   exit 2
> > fi
> >
> > # calc half
> > FS=`ls -s --block-size=1 "$1"`
> >
> > BS=${FS% *}
> > let BS=BS/2
> >
> > Ext="${1##*.}"
> > BN="${1%.*}"
> >
> > # avisplit -i "$1" -o "$BN" -s ${FS%.*}
> > # set to proper encoding
> > mencoder -ffourcc XVID -ovc copy -oac lavc -lavcopts
> > acodec=ac3:abitrate=224 -endpos ${BS}b "$1" -o "${BN}-1.${Ext}"
> > mencoder -ffourcc XVID -ovc copy -oac lavc -lavcopts
> > acodec=ac3:abitrate=224 -sb ${BS} "$1" -o "${BN}-2.${Ext}"
> >
> >
> > The first mencoder works just fine.
> >
> > The second one produces following error which I do not understand
> >
> > MEncoder 2:0.99+1.0pre7try2+cvs20060117-0ubuntu8 (C) 2000-2006 MPlayer
> > Team CPU: Intel Pentium 4/Celeron 4 Northwood; Pentium 4 EE/Xeon
> >  Prestonia,Gallatin (Family: 15, Stepping: 7)
> > CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> > Compiled with runtime CPU detection.
> > success: format: 0  data: 0x0 - 0x57643bba
> > ============ Sorry, this file format is not recognized/supported
> >  ============= === If this file is an AVI, ASF or MPEG stream, please
> > contact the author! === Cannot open demuxer.
> >
> > Exiting...
> >
> >
> > what am I doing wrong ?
>
> I'm not quite sure if this helps, but seeking to a specified byte
> position is always tricky, since mplayer should find a valid frame at
> the exact position. It's like jumping in the middle of a computer
> program, there's a great chance of finding only garbage, which only
> makes sense if the data preceeding it is also executed... from what I
> see you compute $BS simply by splitting the file in half, which is not
> that good an idea.
>
> with the first line and -endpos, mplayer can handle that way better, you
> simply tell mplayer to stop when the Nth byte has been read. The
> preceeding bytes sill were read and could be played correctly, and no
> one buggers if the last byte you read didn't make a complete frame. Bear
> in mind though, that since you cut at a fairly arbitrary position, some
> bytes at the end of the file are lost (since you told mplayer to do so
> after byte N), and even if mplayer can handle the file (by sheer luck, I
> must stress), there's a great chance some bytes before mplayer regains
> its proper state are also lost.
>
> the first line is probably better of with -frames, if there's a
> -start-frame command (or something like it) I'm not aware of, I'm quite
> happy with avisplit/merge at the moment (and cat in case of mpegs)...
>
> _______________________________________________
> MPlayer-users mailing list
> MPlayer-users at mplayerhq.hu
> http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users



More information about the MPlayer-users mailing list