Take the 2-minute tour ×

I want to convert a video file to mp4 (it doesn't matter if it's ffmpeg or something different) and then stream it to a device on my network. I already know that I need to move the "moov atom" to the top of the file, with qt-faststart or similar tools, so that it'll play immediately instead of downloading the whole file first. But the problem is, that I need to wait until the conversion is done before I can run qt-faststart.

Is there any way to start convert the file to mp4, and then stream it while its still converting?

I read something about fragmented mp4 files, but I'm not quite sure if that's the solution to my problem (as far as I understand, a fragmented mp4 file has moof boxes for each fragment, and I can start streaming the fragments which will then play immediately).

Another idea would be, to convert the file in small parts, run qt-faststart and then stream it. And while it's streaming, I would convert the next part, run qt-faststart and stream it right behind it. But is that even possible? Wouldn't the receiving side be confused by the new header for the next file I'm streaming, instead of normal video data?

share|improve this question

Your Answer



Browse other questions tagged or ask your own question.