<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html style="direction: ltr;">
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
    <style type="text/css">body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
  </head>
  <body style="direction: ltr;"
    bidimailui-detected-decoding-type="latin-charset" bgcolor="#ffffff"
    text="#000000">
    On 08/29/2012 11:53 AM, Mark Kenna wrote:<br>
    <blockquote
cite="mid:CAAxE61jduBu2Ki+aQ-_CUCeWuPpYjZ7CtiU7o1zCyMfNDYgV-A@mail.gmail.com"
      type="cite">
      <div>Can someone tell me how a conversion for live streaming is
        possible? Also, I would be doing the file conversion dynamically
        in memory which means that I cannot just encode a file,
        re-position the MOOV atom and then stream.</div>
    </blockquote>
    <br>
    If you can estimate the needed size of the moov atom, you can
    reserve space with the -moov_size option (added in the last year, I
    think); this would remove the need for qt-faststart and friends, and
    you could do everything in one pass. (There will be wasted space for
    sure, but if your estimate is reasonable it will not be too bad)<br>
    <br>
    Do note, however, that ffmpeg will only write that MOOV atom after
    all the data is in the file, so it will not let you start streaming
    any earlier than you could with qt-faststart or mp4box.<br>
    <br>
    If you want immediate live streaming, perhaps HTTPLiveStreaming
    (HLS) will be better for you. If you want MP4 output, you'll have to
    finish making the file before starting to play it, regardless of
    whether it plays immediately when it starts streaming.<br>
    <br>
  </body>
</html>