[FFmpeg-devel] qt-faststart update

Frank Barchard fbarchard
Fri Jun 26 23:12:18 CEST 2009


yes, ffmpeg was 8.74x faster!
ffmpeg+qt-faststart 25.36 minutes
mp4box+qt-faststart 221.57 minutes  (3.69 hours)

This was part of an overall transcode that took about 4.6 days, but it still
struck me as high, to spend nearly 4 hours muxing.
My larger transcode muxed 3 times for different audio, so about 12 hours.
Its odd that 2 drives isn't helping the muxing... neither ffmpeg or mp4box.
 But qt-faststart benefits more than I would have expected.
The 2nd drive referred to by %tmp% is faster than the first.

Heres the actual script:
::ffmpeg 1 drive
timex ffmpeg -y -r 23.976 -i sonyh2.m4a -i sonyh.264 -vcodec copy -acodec
copy sonyh2.m4v
::ffmpeg 2 drive
timex ffmpeg -y -r 23.976 -i sonyh2.m4a -i sonyh.264 -vcodec copy -acodec
copy %tmp%\sonyh2.m4v

::mp4box 1 drive
timex mp4box -fps 23.976 -add sonyh2.m4a -add sonyh.264 -new sonyh2.m4v
::mp4box 2 drive
timex mp4box -fps 23.976 -add sonyh2.m4a -add sonyh.264 -new
%tmp%\sonyh2.m4v

::qt-faststart.full 1 drive
timex qt-faststart.full sonyh2.m4v sonyh2.mp4
::qt-faststart.full 2 drive
timex qt-faststart.full %tmp%\sonyh2.m4v sonyh2.mp4

::qt-faststart 1 drive
timex qt-faststart sonyh2.m4v sonyh2.mp4
::qt-faststart 2 drive
timex qt-faststart %tmp%\sonyh2.m4v sonyh2.mp4

File sizes:
1,844,628,942 sonyh.264
118,506,102 sonyh2.m4a

One of the reasons I used mp4box is that it puts the moov header at the
start of file.  hint hint :)

On Fri, Jun 26, 2009 at 12:06 PM, Baptiste Coudurier <
baptiste.coudurier at gmail.com> wrote:

> Hi,
>
> On 6/26/2009 11:51 AM, Frank Barchard wrote:
> > On Wed, Jun 24, 2009 at 11:58 PM, Reimar D?ffinger <
> Reimar.Doeffinger at gmx.de
> >> wrote:
> >
> >> On Wed, Jun 24, 2009 at 07:29:16PM -0300, Ramiro Polla wrote:
> >>> On Wed, Jun 24, 2009 at 6:22 PM, Reimar D?ffinger
> >>> <Reimar.Doeffinger at gmx.de>wrote:
> >>>
> >>>> On Wed, Jun 24, 2009 at 10:07:47PM +0200, Karl Blomster wrote:
> >>>>> Frank Barchard wrote:
> >>>>>> Thank!  The types should be possible to deal with.  Any suggestions
> >> for
> >>>> a
> >>>>>> portable 64 bit fseek?
> >>>>> I think
> >>>>>
> >>>>> #ifdef _WIN32
> >>>>> #    ifdef __MINGW32__
> >>>>> #        define fseeko fseeko64
> >>>>> #      define ftello ftello64
> >>>>> #    else
> >>>>> #        define fseeko _fseeki64
> >>>>> #        define ftello _ftelli64
> >>>>> #    endif
> >>>>> #endif
> >>>>>
> >>>>> is the closest you're going to get.
> >>>> See MinGW patches to add this feature. There is already a bug report
> >> with
> >>>> an unfinished patch. That is the only proper place.
> >>> I think that patch doesn't fit here... He wants VC support, not
> MinGW32.
> >> Well... I think the basic idea would still be very similar. There is
> >> already a inttypes.h reimplementation for VC, something similar could
> >> probably be done for stdio.h, too, with some hacks for 64 bit file
> >> access support.
> >
> >
> > Upgrading to VS2008 didn't help with types or fseeko.  I'll look at
> VS2010.
> >  If the code wont come to the compiler, maybe the compiler will come to
> the
> > code :)
> >
> > Removing VC support and using 1k blocks, I was concerned about loosing
> > performance.  (Muxing and running qt-faststart is more of a bottleneck
> than
> > I expected)
> > First I compare mp4box to ffmpeg for mux performance.  I run it on one
> > drive, vs two drives where the destination is a different folder
> > ffmpeg -y -r 23.976 -i sonyh2.m4a -i sonyh.264 -vcodec copy -acodec copy
> > sonyh2.m4v
> >
> > Muxer Time (milliseconds) Time (minutes)
> > ffmpeg 1 drive 1,326,533.07 22.11
> > ffmpeg 2 drives 1,295,611.71 21.59
> > mp4box 1 drive 10,386,286.79 173.10
> > mp4box 2 drives 13,068,641.76 217.81
> > qt-faststart.vc32k 1 drive 1,384,525.08 23.08
> > qt-faststart.vc32k 2 drive 242,990.97 4.05
> > qt-faststart.gcc1k 1 drive 1,375,145.10 22.92
> > qt-faststart.gcc1k 2 drive 225,813.66 3.76
> >
> > Total test 29,317,694.07 488.63
> >
> > So the GCC version runs great, but is just as slow as ffmpeg mux. It
> would
> > be nice not to need this step.
>
> Does this mean that ffmpeg+qtfaststart on 2 drives is still ~= 8 times
> faster that mp4box ? Or did I misunderstood the numbers ?
>
> The time with mp4box on 2 drives is weird though.
>
> [...]
>
> --
> Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
> Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
> FFmpeg maintainer                                  http://www.ffmpeg.org
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>



More information about the ffmpeg-devel mailing list