<html><head><base href="x-msg://2514/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Aug 30, 2012, at 8:08 AM, Camera Man wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div bidimailui-detected-decoding-type="latin-charset" bgcolor="#ffffff" text="#000000" style="direction: ltr; ">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></div></span></blockquote><div><br></div><div>I missed that. Is there a programmatic option to reserve space for a moov atom too?</div><div><br></div><div>I think I need to know the number of frames/packets to know the atom size, but don't need to know the size of data in each packet, right? So a re-compression to a different codec could be accomplished this way?</div><div><br></div><div>Bruce</div><div><br></div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div bidimailui-detected-decoding-type="latin-charset" bgcolor="#ffffff" text="#000000" style="direction: ltr; "><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>_______________________________________________<br>Libav-user mailing list<br><a href="mailto:Libav-user@ffmpeg.org">Libav-user@ffmpeg.org</a><br><a href="http://ffmpeg.org/mailman/listinfo/libav-user">http://ffmpeg.org/mailman/listinfo/libav-user</a><br></div></span></blockquote></div><br></body></html>