Random access to gzipped files?

Yes, you can access a gzip file randomly by reading the entire thing sequentially once and building an index. See examples/zran.c in the zlib distribution. If you are in control of creating the gzip file, then you can optimize the file for this purpose by building in random access entry points and construct the index … Read more

WebAPI Request Streaming support

That’s an interesting question. I’ll try to do my best to give some general pointers. Few things to consider: 1) Web API by default buffers requests so your fear that the memory footprint might be considerable is definitely justified. You can force Web API to work with requests in a streamed mode: public class NoBufferPolicySelector … Read more

How could I play a shoutcast/icecast stream using HTML5?

2020 update Modern browsers don’t need any special treatment or server-side workarounds to play audio. Simply use an audio tag with a direct link to one or more stream sources (not a playlist): <audio> <source src=”http://relay.publicdomainradio.org/classical.mp3″ type=”audio/mpeg”> </audio> From MDN: The HTML <audio> element is used to embed sound content in documents. It may contain … Read more

How to stream MongoDB Query Results with nodejs?

node-mongodb-driver (the underlying layer that every mongoDB client uses in nodejs) except the cursor API that others mentioned has a nice stream API (#458). Unfortunately i did not find it documented elsewhere. Update: there are docs. It can be used like this: var stream = collection.find().stream() stream.on(‘error’, function (err) { console.error(err) }) stream.on(‘data’, function (doc) … Read more

Live streaming through MP4

You may use fragmented MP4. A fragmented MP4 file is built a follows: moov [moof mdat]+ The moov box then only contains basic information about the tracks (how many, their type , codec initialization and so on) but no information about the samples in the track. The information about sample locations and sample sizes is … Read more