I use Node.js as a streaming server for real-time streaming video that is sent by FFMPEG (executed from another application, the stream is executed via HTTP) and obtained using webapp, which uses a tag.
This is what I do: FFMPEG passes the received frames with the following command:
ffmpeg -r 30 -f rawvideo -pix_fmt bgra -s 640x480 -i \\.\pipe\STREAM_PIPE -r 60 -f segment -s 240x160 -codec:v libvpx -f webm http:
(the stream comes from an application that uses Kinect as a source and communicates with FFMPEG through the channel, sending one frame after another)
When the webapp connects, it immediately receives a response from the server:
HTTP/1.1 200 OK X-Powered-By: Express content-type: video/webm cache-control: private connection: close Date: Fri, 06 Dec 2013 14:36:31 GMT
and the Webm header (previously stored on the server with the same resolution and frame rate of the original stream and tested as running on VLC) is immediately added. Then webapp begins to receive data transmitted by FFMPEG. Here is a screenshot of the Mkvinfo GUI showing header fields:

However, even if the "Network" tab of the Chrome console shows that there is an actual data stream (this means that streaming is not completely garbage, otherwise the connection will be deleted), the player does not display anything. We tried to manually add our title to the downloaded video received by webapp, and VLC plays it just fine, but this does not happen with the tag.
What can cause this problem? Are we missing something in the encoding on the FFMPEG side or are we storing the wrong values ββin the header (or are they not enough)?
PS: I cannot rely on an extern stream server.
PPS: We tried the following experiments:
- Substituting the video title to the one stored on the server, plays the video on both vlc and video tags
- if we discard a video that is already running (without a title), and we add the title of the video stored on the server or even its original title, the video is played in VLC, but not on the tag (we carefully add the title before starting the cluster).