I am embedding a HTML5 video tag in my site, the source being a gstreamer stream.
I have a pipeline working on gst 0.10:
gst-launch-0.10 -v videotest
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.
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>
Invalid Source
;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.