Gstreamer tcpserversink v0.10 vs 1.0 and HTML5 video tag Gstreamer tcpserversink v0.10 vs 1.0 and HTML5 video tag linux linux

Gstreamer tcpserversink v0.10 vs 1.0 and HTML5 video tag


Let me tell you what an interesting problem this is. After hours of fooling around I still couldn't find a proper solution for my Windows 8.1 box.

I had some luck streaming .ogg with:

 gst-launch-1.0 -v videotestsrc is-live=true ! clockoverlay shaded-background=true font-desc="Sans 38" ! theoraenc ! oggmux ! tcpserversink host=127.0.0.1 port=8080

but displaying the stream correctly is still a challenge.

This is the html file I'm using:

<html>    <title>A simple HTML5 video test</title></html><body>     <video autoplay controls width=320 height=240>        <source src="http://localhost:8080" type="video/ogg">       You browser doesn't support element <code>video</code>.    </video></body>
  • Google Chrome 38.0.2125.122 displays the stream but it stops after a few seconds (don't know why);
  • Internet Explorer 11.0.9600 draws the player but reports Invalid Source;
  • Firefox Nightly 36.0a1 also draws the player but reports No video with supported format and MIME type found;

I had no luck at all with .mp4 streams despite VLC playing it correctly:

gst-launch-1.0 videotestsrc is-live=true ! clockoverlay shaded-background=true font-desc="Sans 38"  ! x264enc ! mpegtsmux ! queue ! tcpserversink host=127.0.0.1 port=8080

Kaspersky antivirus and IIS were enabled/disabled during the tests. My little success with Google Chrome came after disabling IIS.


Runs on VLC 2.0.8 Twoflower & Chrome Version 37.0.2062.120 Ubuntu 12.04 (281580) (64-bit):

gst-launch-1.0 videotestsrc is-live=true ! \ clockoverlay shaded-background=true font-desc="Sans 38"  ! x264enc ! mpegtsmux ! \ queue ! tcpserversink host=127.0.0.1 port=8082

Firefox wants the Mime type to be correct. Gstreamer sends this as Mime = 'Plain' when it should be 'video/mp4'. Haven't succeeded in overriding the types.

I used a empty HTML5 with tags to test various stuff:

<video id="video" autoplay="autoplay" controls >    <source src="http://localhost:8083" type="html" codecs="vp8.0, vorbis">    <source src="http://localhost:8080" type="video/webm" codecs="vp8.0, vorbis">    <source src="http://localhost:8081" type="video/ogg" codecs="theora, vorbis">    <source src="http://localhost:8082" type="video/mp4" codecs="avc1.4D401E, mp4a.40.2">    You browser doesn't support element <code>video</code>.</video>

webm/ogg/mp4 work on chrome as it just does not care about Mime types.