Streaming live video to html5 in Firefox > [Spoiler: It's a QUEST!]

Hello,

Short question: Is there a way to stream live video to an html5

(my input is an rtmp stream with Video:H.264 and Audio:AAC)

Short answer (of what I have found) it’s not possible…unless:

  • you use the opentelly videoplayer that streams HLS on all browser (amazing! :eek:)

  • maybe: if you manage to stream with .mp4 as container of the live video (??? is it possible ???)

    My questions for you are distributed in the middle of the…

    Slightly longer Answer - aka “the Quest”

    I’m not looking for flash solutions, which is great that still works in all desktop browsers…but for my project I specifically need the html5

    As far as I could find there is no simple way to do this because:

  • The Wowza native transcoded versions MPEG-DASH and HLS doesn’t seem to be working on Firefox

  • All “major” commercial players like JWPlayer and BitDash, fall back to Flash on Firefox, both on MPEG-DASH and HLS streams

  • JWPLayer - DASH Support & HLS Support

  • Bitdash - DASH & HLS not compatible with Firefox (unless you use Flash)

  • Dash.js - has a bug that doesn’t make it work in Firefox (probably until Firefox version 42… or later)

    Hints that it is Possible

  • Youtube Live manages to stream an MPEG-DASH stream to an html5 video player in Firefox

    but this is just because Firefox has released a subset of the Media Source Extensions JUST for YouTube (and maybe Netflix)

    as can be seen in the Firefox 37 Release notes

    (“Implemented a subset of the Media Source Extensions (MSE) API to allow native HTML5 playback on YouTube (Windows Vista or later only”)

    and in the Firefox 38 Release Notes

    “Mac OS X: Implemented a subset of the Media Source Extensions (MSE) API to allow native HTML5 playback on YouTube

  • Firefox has ambiguous documentation but also an interesting possibility

    in this support article they suggest that

    “MP3, AAC, and H.264/MPEG-4 AVC are patented audio/video compression formats. They can be viewed in Firefox using built-in OS libraries (so neither Mozilla nor you need to pay a fee) if embedded in the MP4 container format (.mp4, .m4a, .m4p, .m4b, .m4r, .m4v file types).”

    So It should be possible … if these codecs are installed on the client’s computer…which very likely they are

    Question-1: Is there a way to stream a live video (that is already in H264 and AAC) with the .mp4 container (so that I can playback it in Firefox with a

    do I have to transcode it or is it enough to simply append some “:mp4” piece of string to the stream name?

    read the previous quote to understand what I’m talking about

    I’ve found these references on the Wowza forum but they seem to refer to VOD streaming files, not live streaming:

  • Help-Transcoding-to-MP4

  • Can-wowza-stream-to-HTML-5-player this talks about HLS on Safari and iOS but not on Firefox

  • this wikipedia article “Comparison_of_video_container_formats” suggest that .mp4 can in fact be used for streaming, although it’s not clear if “live” streaming.

  • This wowza article states that HLS is not supported in Firefox

  • the Wowza blog posts the current state of media source extensions states the same thing, that HLS is not supported in Firefox. This it is the most comprehensible answer to the current situation (September 2015)

    Question-2: Is there a way to check if the codecs are installed on the computer via the browser?

    Modernizr and other feature detection libraries only check if the browser, not the computer, has that capability.

    There is more ambiguity still in the Firefox documentation because it does in fact state that Firefox supports:

  • DASH (“via Javascript and MSE” - Media Source Extensions)

  • HLS (“via Javascript and CORS” Cross-origin resource sharing - read this if you want to know more on why and how)

    BUT

    CanIUse.com on Media Sources states that MSE are not supported in Firefox (unless the media.mediasources.enabled flag is turned to “true”)

    The same thing is stated by this Wikipedia Article that points to the fact that Media sources are enabled only for Youtube :mad::confused:

    However if you open this url in firefox

    about:config
    

    and you look for the

    media.mediasource.enabled
    

    flag, you might have it turned on… I did (on Firefox 40)

    The only off flag was

    media.mediasource.webm.enabled = false
    

    Question-3: without this flag (media.mediasource.webm.enabled) I’m guessing that transcoding the live stream to WebM won’t be of any use since I can’t playback it?

    or am I misunderstanding the meaning of the flag?

    Other Solutions:

  • amazingly the OpenTelly’s TheoPlayer can stream HLS to Firefox (and Chrome and all other Browsers).

    It’s commercial and not public how much it costs

  • Shaky solution - that streams a video to a Canvas - very unstable so not ideal

    Hope you can help me in this quest,

    especially with question 1

    thanks in advance

    all the best

    b.

Hi,

Certain HTML5 compatible browsers can play Wowza HLS streams natively using the

[php]

HTML5 Streaming Test

[/php]

Paul

That will be painful again :frowning:

I can confirm that Windows Firefox 42 works well on default HTML 5 tag but not on Mac Firefox 42!

Firefox 42 now has native support for DASH streaming without Flash. Works with Wowza. Tested on live streams.

But that is really interesting, you can use some players:

http://www.dash-player.com/demo/manifest-test/ - that one works well on WIN FF42, and almost well (some small scratches after 30seconds) on MAC FF 42

https://www.wowza.com/testplayers - that one does not on FF42 even on WIN and MAC

http://dashif.org/reference/players/javascript/v1.5.1/samples/dash-if-reference-player/index.html - that one looks like works on FF42 but it does not on MAC FF 42, not tested on WIN (making cycles)

try this stream (5seconds GOP, 10seconds chunks, H264, AAC).

http://stream.mediawork.cz:1935/retrotv/retrotvHQ2/manifest.mpd

Take a look at:

https://github.com/dailymotion/hls.js

This seems to work pretty well on all the browsers I have tried.

Wow looks really nice player, thks !

Firefox 42 now has native support for DASH streaming without Flash. Works with Wowza. Tested on live streams.

Hi Josimar,

My response was with regards to playing Wowza streams natively in an HTML5 browser, which was what the OP primarily wanted addressing. Can you please elaborate on the problem you are currently facing? If you prefer, you can open a ticket and be assured that it will be responded to.

Paul

Paul,

Is Seriously ? lyricalpolymath

sends such a complete question in detail, and you have the courage to answer just that?

You got to be kidding, or making a joke.

I have the same problem, and if you can not help, please ask a technician better able to help us.

That will be painful again :frowning:

I can confirm that Windows Firefox 42 works well on default HTML 5 tag but not on Mac Firefox 42!

Take a look at:

https://github.com/dailymotion/hls.js

This seems to work pretty well on all the browsers I have tried.