hartman / videojs-ogvjs

A Video.js Tech plugin for Ogv.js
MIT License
18 stars 15 forks source link

Unable to play webm (MPEG-DASH) on Safari #25

Open jnbdz opened 7 years ago

jnbdz commented 7 years ago

Here are the errors I am getting on Safari while trying to play webm video trought MPEG-DASH:

Line 22963:48 VIDEOJS: ERROR: TypeError: undefined is not an object (evaluating 'this.tech_.one')

Code: fn[Array.isArray(args) ? 'apply' : 'call'](_window2['default'].console, args);

Line 11226:39 undefined is not an object (evaluating 'currentTech.canPlaySource')

Code: if (source.type && !currentTech.canPlaySource(source, this.options_[this.techName_.toLowerCase()])) {

Here is the link: http://107.170.55.23/

bvibber commented 7 years ago

Note that ogv.js does not yet include a MediaSource equivalent, so MPEG-DASH is not supported. (Not sure offhand how the DASH stuff plugs in in video.js at present.) It probably should not fail in this way though.

jnbdz commented 7 years ago

http://107.170.55.23/ is my demo it is using MPEG-DASH webm. I am using this plugin.

Right now it works well in Google Chrome (tested on: Windows 7, Ubuntu, Mac OS X, Android), FireFox (tested on: Windows 7), Opera (tested on: Windows 7).

So MPEG-DASH works well with VideoJS on browsers that support the format I chose.

For some reason I am unable to start IE so I don't know if it works on IE Windows 7.

iOS Google Chrome seems to not be able to play the video for some reason but Android has no issue.

I only care about iOS and Safari on Mac OS X. I don't care that much about IE at the moment.

jnbdz commented 7 years ago

@brion When will ogv.js support MediaSource equivalent?

bvibber commented 7 years ago

@jnbdz the issue in the tracker is https://github.com/brion/ogv.js/issues/359; be warned there is no official resourcing for ogv.js work at this time, so it could be some months or more depending on when I have time to poke at it between other projects. Currently I'm partway through a refactor of the internal interface between the demuxer and the file input stream, which is one of the required steps, but more work will then be needed to add the various interfaces around it, and to support audio and video coming from separate demuxers.