0
votes

I have an issue with brightcove player on mobile (html5 is a mobile fallback of brightcove, on desktop it uses by its own a flash player, without issues). Loading a page with video (containing only video, without any other code) i get with mobile user agents following error in the console:

BrightcovePlayer_api_ad.js:415 Uncaught (in promise) DOMException: The element  has no supported sources.

setContent @ BrightcovePlayer_api_ad.js:415
loadError @ BrightcovePlayer_api_ad.js:633
showErrorMessage @ BrightcovePlayer_api_ad.js:461
handleContentError @ BrightcovePlayer_api_ad.js:430
onMediaError @ BrightcovePlayer_api_ad.js:427
dispatchEvent @ BrightcovePlayer_api_ad.js:9
redispatch @ BrightcovePlayer_api_ad.js:9
dispatchEvent @ BrightcovePlayer_api_ad.js:9
errorHandler @ BrightcovePlayer_api_ad.js:374
g @ BrightcovePlayer_api_ad.js:2
dispatch @ BrightcovePlayer_api_ad.js:2
i @ BrightcovePlayer_api_ad.js:2

null:1 GET http://c.brightcove.com/services/viewer/null 404 (Not Found)    

Video parameters look like:

<p>
<div style="display:none"></div>
<script type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<script type="text/javascript" src="http://static.example.com/js/brightcove-ad.js?qqq"></script>
<object id="myExperience-aaa-play" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="playerID" value="xxx" />
<param name="playerKey" value="yyy" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="@videoPlayer" value="zzz" />
<param name="includeAPI" value="true" />
<param name="autoStart" value="true" />
<param name="templateLoadHandler" value="onTemplateLoad" />
<param name="templateReadyHandler" value="onTemplateReady" />
</object></p>
<p>

Errors rise in Chrome and Firefox on any mobile user agent, but the error description i can get only on iOS-based user agents, in Chrome and Firefox. Using Android or Blackberry i get the same error but without error description in the console, or the video-container isn't shown at all.

Any recommendation highly appreciated!

1
There isn't enough info to answer - this would be better directed at Brightcove support so they can look into the specifics of your account, player and video used. Also, this embed code is for a deprecated version Brightcove player, you should look at implementing the current version.misterben
current version seem to don't work at all. Tried current test version under support.brightcove.com/en/video-cloud/docs/video-test-html-5 - it doesn't run even on desktop user agents and even doesn't recognize flash is installedEvgeniy

1 Answers

0
votes

I'm here because I'm revisiting a related issue... I'm not a huge fan of their APIs...

Anyways first ensure that the video you're trying to deliver has been encoded for mobile in the "media cloud". Then take a look at using a smart player: https://support.brightcove.com/en/video-cloud/docs/delivering-video-html5-and-smart-players which is meant to detect device capability and render as flash/html5 as appropriate.

The issue I'm having, which you might run into, is that on mobile the video takes too long to load sometimes which gives a "video is not available" message. Since they aren't using proper promises I've created my own promise chain and am using a timeout to wait for video delivery before calling full player initialization. It's hacky and crusty and fails around 5% of the time...