Questions tagged [http-streaming]

HTTP streaming allows low latency real time data to be pushed to clients over HTTP requests that are kept open indefinitely allowing dynamic data to be sent as soon as it becomes available.

Normally HTTP requests are used by a client to pull data from a server, which replies immediately. In order to discover data as soon as it becomes available using pull requests the client has to poll the server which introduces load on the server and high latency if the data is published between polling requests. An improvement on periodic polling is to use long poll or Comet mechanisms in which the server keeps the HTTP request open until there is data before sending it and closing the connection. HTTP streaming takes this approach one step further by keeping the connection open after the data is sent, allowing more data to be sent later. Both Comet and HTTP-streaming require web servers that can support many concurrent HTTP requests as all clients may be constantly connected.

HTTP streaming can be implemented in HTTP 1.0 by not returning a Content-Length header, which signals that the client should keep the connection open until it is closed by the server, rather than after a certain number of bytes have been read. HTTP 1.1 provides chunked encoding support which can also be used to implement HTTP streaming - the approach used by the Twitter streaming API.

As HTTP streaming requests may be held open indefinitely by the server it is often desirable for clients to be able to disconnect periodically in order to discard old data before reconnecting to the stream by making a new request.

HTTP streaming only allows unidirectional communication from the server to client and so is often combined with a traditional pull web API in order to allow bi-directional communication between client and server. If full duplex communication is required between client and server the emerging web sockets standards are a better choice.

For more information, see: http://softwareas.com/http-streaming-an-alternative-to-polling-the-server http://en.wikipedia.org/wiki/Push_technology

15 questions
5
votes
2 answers

HTTP streaming server behind nginx?

I'm trying to set up a HTTP streaming server I wrote with Tornado and python. Basically, it keeps the connection alive and occasionally flushes information out. It's a bit like long polling, except the connection isn't broken by the server. Is it…
Paul
  • 153
  • 1
  • 3
3
votes
0 answers

FFMPEG-generated DASH Manifest for Livestream is invalid, but is still playable on some players

I am trying to embed an RTSP stream from an IP Camera into a website. I've found out, that embedding an RTSP directly is tricky and resourceful, also it requires the user to take some crucial actions (installing different players like VLC or…
Emil Avramov
  • 131
  • 5
3
votes
3 answers

How can I configure IIS on Azure to stream chunked data from a Node.js app?

I have a Node.js app that uses Transfer-Encoding: Chunked to stream data over HTTP continuously until the client disconnects. When running a local instance of Node, it works fine, but when deployed to an Azure App Service (which runs Node apps…
Andrew Watt
  • 131
  • 3
3
votes
1 answer

Can an IIS load balancer proxy many long lived HTTP streaming requests?

I'm trying to set up IIS as a software load balancer on a Windows Server 2008 R2 box for back ends serving long lived, HTTP streaming requests. Individual curl requests work fine, but when I use httperf to make 10K connections to the IIS box the…
2
votes
1 answer

Why is Nginx truncating the JSON streaming response?

Our stack is Client(Browser) <-> Nginx Reverse Proxy <-> Webserver(Flask+Gunicorn) <-> Golang gRPC server The problem is when the client makes a call to the /realtimedata endpoint, Flask then opens the gRPC connection and starts receiving data via a…
1
vote
0 answers

Can NGINX instructed to serve a file over HTTP that is in the process of being created?

I am using NGINX as a component in my system that accepts content streamed from clients (lets say, over RTMP) and passes it to some internal service for processing. The internal service fetches the content from the NGINX over HTTP. But I don't want…
Guss
  • 2,520
  • 5
  • 32
  • 55
1
vote
1 answer

Adobe Media Server Network Location for HTTP Streaming

Running Adobe Media Server 4.5 on Windows Server 2008. I have a mapped network drive (Amazon S3 connected via Webdrive) where all my videos are stored. Using a UNC path, I can successfully stream via RTMP. However, when I try to use HTTP streaming,…
1
vote
0 answers

Setting up Wowza to transcode the audio in a stream to play using Flowplayer

This is a real long shot, but I figure it can't hurt to throw this out here: I have an IP camera that has an RTSP stream with h.264 video and G.711 audio. I setup a Wowza application (myapp) to use the rtp-live StreamType and then got Flowplayer…
pr1001
  • 225
  • 2
  • 9
1
vote
0 answers

Prevent Authentication Prompt When Streaming Office Documents

I have an issue where when streaming office documents from SQL Server, an authentication dialog prompts for credentials even though the user has been authenticated via basic auth in the browser. Clicking cancel on the auth dialog still allows the…
1
vote
0 answers

Architecture: streaming data consolidation

I am trying to come up with an architecture we have some streams/RPC clients running on python-Autobahn. We have a crossbar broker which allows a consumer application to take the RPC/stream and precess those values in the databases. Currently we…
vector8188
  • 111
  • 1
  • 6
1
vote
1 answer

How to force streamed image objects to be cached by Squid Forward Proxy

I am accessing images stored on storage like AWS S3 or GCS. I am using a node library called Got to fetch an image, and I stream the response into an image processor. I am using Got with a tunnel agent so that it uses my Squid Forward Proxy. I am…
Joerg
  • 123
  • 4
0
votes
1 answer

HTTPS streaming and dynamic load balancer using Wowza and AWS

We are using Wowza instances to perform live streaming on AWS infrastructure. We have a script that monitors load balancer and launches/kills instances when required based on the number of connections/viewers per edge server. It woks well for…
0
votes
1 answer

HTTP Live Streaming - How to do the encryption on Linux?

I am making some HTTP Live Streaming files (an Apple based way to segment video files so they can be 'streamed' by downloading specific chunks of a file (more info)). It's possible to 'encrypt' each of the segments with a simple key, as a simple…
Amandasaurus
  • 30,211
  • 62
  • 184
  • 246
0
votes
1 answer

HTTP Streaming - Number of flows

I'm currently doing a research about simple HTTP Streaming without dinamic adaptation in terms of debit and I came across one exercice. The topology would consist in a Server, streaming a video to several Clients through VLC. One of the Clients…
Rohac
  • 1
0
votes
1 answer

How can wireshark.exe on windows read from a pcap file stream?

This is probably less a wireshark question and more a "how do I pipe a file into an application" on windows. On linux, I can capture a pcap file on another host with tcpdump and pipe it back to wireshark on the local machine for a live capture…
I grok it
  • 11
  • 2