title: Real-time video encoding for mobile
body: <p>Does anyone know a good way to do real-time video re-encoding (Target formats being 3GP s263 AMR narrowband and MP4 mp4v mp4a, but not at the same time of course. Input files would be WMV, but the more input formats supported the better)?</p>
  
  <p>Currently we do asynchronous processing using a C# service that calls the ffmpeg command-line, but the idea of doing that for a synchronous request is a little sub-optimal cause the user ends up waiting quite a while before the playback starts (Though if that's the best-case scenario let me know and I guess I'll live with it).</p>
  
  <p>It would be awesome if we could simultaneously serve the file and save it (So that we can store it for future requests), but it wouldn't be a disaster if we can't do that.</p>
  
  <p>As a sidenote I'd prefer to avoid a streaming solution since less devices will support it, but if there's no good way to do what I want I would love to hear alternatives even if they involve streaming.</p>
  
  <h1>Update</h1>
  
  <p>Just to keep you guys up-to-date with where I've gotten to I'm currently playing around with the idea of writing a wrapper that calls directly to FFmpeg's DLL's rather than the exe, starting to think I might be able to get the functionality I'm after that way (Catching the data progressively rather than once it's all done may get me close enough to real-time to suffice).</p>
  
  <p>Still playing around with whether this will work and trying to find good samples of how to do it (even those written in c rather than c# cause it'll show how to interface with the DLL).</p>