1

Assuming the client does not support byte-range requests and therefore will make requests like test.mp4?startoffset=2000

How can the server prepare an mp4 header that works for all requests... is there a bare minimum that works every time or must it be the actual original header?

Similarly, is there a way to use ffprobe to export the original header as-is (i.e. binary format) so that it can simply be resent at the beginning of each request, by the server?

Thanks!

EDIT: Did some digging around using AtomicParsley and looking at some pseudostreamed videos via archive.org. Seems that the "header" does need to be reconstructed for the new stream. Specifically, the moov atom and mdat data.

Putting aside mdat for now, are there any helpful libraries out there that will convert from moov to moov, or at least make it easier? No C++ please, but C is fine

davidkomer
  • 3,020
  • 2
  • 23
  • 58
  • I believe the general concensus is that "using mp4 for streaming is hard" http://stackoverflow.com/questions/13010530/live-streaming-through-mp4 – rogerdpack Jan 31 '14 at 20:38
  • You're probably right that it's hard, but that question is talking about a different situation (where the complete initial moov atom doesn't exist or isn't at the beginning). In my case it exists and is at the beginning, I just need to figure out how to take it and construct a new one for beginning at some other I frame – davidkomer Feb 02 '14 at 07:19

0 Answers0