Internet Radio Source Streaming
SHOUTcast and Icecast servers have been supporting internet radio streams for more than 20 years, with video support added since then. For Icecast and compatible servers, the source stream for these broadcasts come from normal HTTP PUT requests. The request headers are sent, the server sends an HTTP/1.1 100 Continue, and the encoded media data is sent live as it's being recorded.
Since the addition of the Media Devices API to browsers I (and others) have created web-based "source clients" which allow captured to be sent to these streaming servers. The problem is that browsers do not allow a streaming request body. Therefore, the only way to get the data out is to have a Web Socket server that proxies the data from the browser on to the streaming server. It would be much better if the client could connect directly to the streaming server, for reliability and efficiency.
Segmented streaming to regular HTTP servers could benefit as well. Suppose you are encoding video to DASH or HLS segments in-browser with the Media Recorder API, and uploading them via a series of HTTP PUT requests. If you are creating longer segments, such as 8-seconds duration, it would be beneficial to upload these segments as they are being encoded. If the segment must be finished encoding before the upload, 8 seconds of latency is added end-to-end on top of the latency already required for this style of streaming.
We could do away with a lot of hacks and unnecessary infrastructure if we could make a standard HTTP request with a streaming request body from a browser.
Thanks,
Brad Isbell
AudioPump, Inc.