Known Issues: Studio, Brightcove Player and APIs

Product(s)
Video Cloud
Brightcove Player
Role(s)
Studio User
Player Developer
API Developer
Topic(s)
General Info

This topic lists the known issues with Studio, Brightcove Player and APIs.

Identified known issues include:

Studio

No reported issues.

Media Module

Image Capture with IE 11

Image capture using IE 11 will not work when the video aspect ratio is 1:1 or 4:3.

Preview Player

Live, HLS-only remote asset videos are not playable in the preview player.

Source file name containing double byte characters

Source file name containing double byte characters gets garbled after retranscoding in the media module.

Media Sharing

When sharing large numbers of videos, Brightcove recommends sharing at most two pages of videos at a time. Sharing a large number of videos at once may cause a timeout error.

Adding captions to a video that was shared which already contains captions is not supported.

Media sharing will fail for videos created by clipping Live streams.

    Scheduled Videos

    Because the Playback API and Catalog cache videos for up to 10-15 minutes, a player requesting a video scheduled to become available during the next few minutes (up to 20), may not be able to get a playable video until the cache refreshes.

    Players Module

    Preload setting

    Due to a bug in Internet Explorer, the preload setting may be ignored when using IE.

    Access Data Sources Across Domains setting

    If this Internet Explorer policy setting is enabled for a domain-restricted Brightcove player, the player will not load in Internet Explorer 11. This appears to be a bug in IE, and there is no known workaround. Turn this setting off if you want domain-restricted players to work in IE 11.

    Live Video

    Brightcove Player counting video views for finished live events

    The Brightcove player accounts for video_view every time a remote asset is loaded, even if it's a finished live event with an empty or no longer retrievable HLS playlist. Workaround: deactivate, unschedule, or delete the video.

     

    Analytics

    Custom Reports Displaying 0 bytes_delivered for some Videos

    Videos that were ingested using a Dynamic Delivery ingest profile will display 0 bytes_delivered on custom reports.

    Custom Reports using Multiple Filters

    When using multiple filters, an AND operation will be used. For example, if you add two filters, video tag and player, only videos with the specified tags and viewed in the specified player will be returned.

    Custom Reports using the Filter by Video Tag functionality

    When creating a custom report, there is a limitation when using the Filter by Video Tag functionality. It only takes into consideration up to 2,000 videos in your library with that specific tag. If the amount of videos with a specific tag is greater than that, we recommend to get an unfiltered report which includes the tags and perform the filtering locally with your spreadsheet software.

    "Other/Third Party" Appears in Performance Report

    When a video that is not your Video Cloud library is played in a Video Cloud player (e.g a remote asset), Other/Third Party will be displayed with no associated video ID.

    Updated Video Names not Reflected in Analytics

    The only time Analytics learns about the title of a video is when the player sends it to Analytics as part of the playback beacon. If a video title is changed, analytics will not have the new video title until there has been a video playback. This can result in a scenario where a video name is updated and if there are no playbacks recorded, the old video name will be reflected in the Analytics reports. Data for time periods before March 2013 suffer from this issue often, and will show metadata that is only a number. For example, a video title might display as 1230123012. This is because data from this period was captured in the old analytics system.

    Video Names and Player Names Displaying ??????? in Analytics UI

    For the month of October 2013, the metadata (video names and player names) may look like a bunch of ?????s. This issue impacts publishers whose metadata has double byte characters and had video views in October 2013. This issue was related to the way that we were capturing the metadata for display in the Analytics UI. Starting in November 2013, the Analytics system has additional safeguards in place to prevent metadata sent with the event metrics from being corrupted.

    Reporting Time Zone

    The reporting time zone is used to calculate day boundaries for reporting data. Changing the reporting time zone setting only affects data going forward, and changes are not applied retroactively. If you change this setting, you may see a flat spot or a spike in your data when looking at day boundaries where the change was applied. Updates to this setting may not take effect immediately, and analytics data may continue to refer to the old setting until the system processes the changes.

    Engagement data are stored in daily granularity

    Engagement data are stored in daily granularity using UTC time and might sometimes include 2 full days of data in the "Audience at x%" table in the Engagement Report.

    Internet Explorer Support

    The Analytics module requires Internet Explorer 9 or later.

    High number of "other" results for Device Manufacturer

    In some cases, you may see a high number of "other" results for the Device Manufacturer This occurs when the Data Collector does not recognize the user_agent delivered to it with analytics data. The most common cause that we have identified for this is a custom user_agent string created by Instagram, but there are probably others.

    Audience

    Audience activitiy shows Percent Watched:0 and Time Watched:0

    Sometimes interactivity events get triggered without a video playing or before a video has sent its first beacon. This can result in view events being recorded that have interactivity but no video activity (0% watched, 0 seconds watched).

    Internet Explorer Support

    Audience lead forms require Internet Explorer 9 or newer.

    Social

    Ghostery browser plugin may interfere with the Social module

    The Ghostery browser plugin may interfere with the Social module preventing it from loading properly.

    Workaround: Add Studio to the whitelist for Ghostery.

    Upload module / Dynamic ingestion

    Uploads via the upload module fail if the clock on the device doesn't match the actual time

    Uploads are authorized for a certain amount of time. If your clock time varies from the actual time by more than 15 minutes, you will receive errors when uploading.

    Retranscoding via Dynamic Ingestion updates the video activation date

    When you retranscode a video using Dynamic Ingestion, the activation date for the video is updated to the current date. If you use Smart Playlists ordered by activation date, this will affect the order of the videos in the playlist.

    File names

    Video file names (including the extension) must not exceed 120 single-byte (60 double-byte) characters. If it does, the video will be ingested successfully, but you will not be able to retranscode it later.

    Brightcove Player

    Check the Brightcove Player Release Notes to see if a past known issue has been corrected by a recent release.

    Console warnings

    Brightcove Player may generate warnings that appear in browser's console. The warnings, as opposed to error messages, are harmless and do not effect play back. An example of a warning is displayed here:

    console warning

     

    Videos without poster or thumbnail images

    Videos without thumbnail / poster images may cause an error to appear in the player when it loads. This affects mobile SDK players in a way that may crash the player.

    Internet Explorer always resets its playback rate to 1.0 whenever playback is paused.

    IE11 images for audio only content not displaying

    When playing only audio content in IE11, the video still image will not be displayed, only a black screen is seen. The image can be retained with the following code:

    .vjs-has-started .vjs-poster {
    display: block;
    }
    
    

    Auto-Advance Playlist on Safari

    For Safari, if the playlist is visible, and the player has the pre-load setting set to none , automatic playback of the of the next video will fail silently.

    Context Menu

    When right-clicking a video close to the right or bottom edges of a player, the player context menu displays off-screen.

    Using different sized multiple players with the same player_id on a page

    If multiple players have the same id on one page and specify different size inside <video> tag using width and height attributes, the player CSS from the last player is applied to all players.

    Workarounds

    • Use players with a different player ids if you want them to have different sizes or styling/li>
    • Define a classes for the players that provide the player sizing using CSS, and add the classes to the video tags for the different players

    FastClick.js results in incorrect event handling

    Using the FastClick.js results in incorrect event handling within our custom control bar. This may result in not being able to use our control bar on mobile devices.

    Videos display greyish on Chrome and Firefox

    When using Chrome and Firefox, videos in the Brightcove Player may display with a greyish color. This can be due to hardware acceleration and/or NVIDIA driver settings.

    Workaround: Open the NVIDIA Control Panel. Under Video select Adjust video color settings. Under How do you make color adjustments select With the NVIDIA settings. Under Advanced make sure Dynamic Range is Full (0-255) not Limited (16-235). Dynamic contrast enhancement should be unchecked. This issue has been reported on the Google Chrome Help Forum.

    Using emulators

    Whether you are using Chrome Device Mode or other emulators to test video playback, be aware that emulators do not accurately represent how an actual device will perform. While you can use emulators for initial testing during development, it is best practice to use real devices for accurate results.

    When testing playback with Chrome Device Mode, you may see this message: "The use of Chrome in device mode simply renders the viewport and user agent string of that device in Chrome, which is not an accurate representation of how the actual device will perform."

    Using data-setup

    You should NOT use data-setup with Brightcove Player. You may see use of data-setup in the API documentation, but this is because that documentation is generated directly from the Video.js player source code, and you MAY use that attribute with the video tag with pure Video.js. The attribute sends configuration information to the player, but Brightcove Player uses a different method to perform this task, which makes data-setup unreliable.

    Protocol-aware source selection and DASH

    Protocol-aware source selection is not available when using DASH content. It is only available for HLS and MP4 content

    Console error thrown when using iframe player implementation in Safari

    When using the iframe implementation of Brightcove Player in Safari you will see the following error message in the console: Blocked a frame with origin "http://players.brightcove.net" from accessing a frame with origin "#DOMAIN NAME#". Protocols, domains, and ports must match. The reported error does not affect playback.

    "Unknown" is displayed in the captions menu in Safari.

    This is a Safari/Apple limitation. Newer versions of the Brightcove Player use native captioning capabilities built into Safari and this is the standard behavior. This is documented by Apple: https://developer.apple.com/library/ios/qa/qa1801/_index.html

    Fullscreen in non-Flash environments

    In environments where Flash is disabled or Flash-based HLS is disabled for the player, and the player is explicitly sized using a style attribute on the video tag, fullscreen viewing may not function in some browsers.

    Workaround: remove the style attribute from the video tag, and instead create a rule in page stylesheet like this:

    .video-js{
    width:640px;
    height:360px;
    }
    
    

    Social Sharing

    On desktops, the social sharing button will not be visible during ads.

    HTTPS

    On most desktop browsers, the Brightcove Player will only play HLS on HTTPS web sites when both the manifest and the video segments are served over HTTPS connections. This is due to recent changes to several browsers that more severely restrict non-SSL content. This affects users of Chrome, Firefox and Internet Explorer on desktop computers. It does not affect Safari users or mobile browsers, and it does not affect playback of MP4 renditions.

    We are in the process of addressing this limitation for Video Cloud-managed assets; if you manage your own CDN and transcoding (remote assets), you must configure your CDN to support HTTPS delivery of both manifest and video content.

    Full screen display

    In newer browsers that support the fullscreen API, it's necessary to apply in-page CSS rules to ensure the player is scaled to 100% when switching to fullscreen. Otherwise, the player will appear at the original size within the fullscreen display. For details, see the Fullscreen display topic in the Size the Player document.

    For IE10 and earlier, with no fullscreen API support, a new window will open, but the player will not be sized to fill the window. This is because no styles have been applied to resize the player. Since the window cannot be scrolled, you may only see a section of the website, with no player at all.

    Multiple videos are published on a single page with HapYak chapters

    When multiple videos are published on a single page with HapYak chapters, an incorrect chapter could be displayed.

    Workaround

    Use this script: https://github.com/brightcove/gallery-in-page-snippets/blob/master/snippets/hapyakFix.js. However, Flash playback (IE11/Win7) cannot avoid this issue, so the HTML5 fallback needs to be implemented in case of IE11/Win7.

    Akamai HD and HDS

    Brightcove Player does not support video delivery via the Akamai HD or HDS delivery methods.

    Error: d.off is not a function

    This error, caused by a known bug, can occur when switching between different formats, for instance MP4 and HLS, in a player. Until the bug is fixed, you can simply retry the code that is causing the issue. The following code is an example that corrected the error in an app:

    try {
    myPlayer.catalog.load(video);
    } catch (e) {
    myPlayer.catalog.load(video);
    }
    myPlayer.play();
    
    

    HLS Video Durations

    It is possible that the duration shown in the controlbar may change from initial display. Once all HLS segments are loaded the duration may update.

    RequireJS

    If you are using RequireJS you MAY have to use the bc() method to instantiate the player. The need to use the method will be determined by how/when the player assets are loaded. See the RequireJS and Brightcove Player document for more information.

    referrer_url vs. description_url

    The referrer_url value may have different values between iOS and Android devices. Because of this, it is recommended to use the description_url value instead. This value is consistent across all platforms and devices.

    loop attribute on Safari

    The loop attribute does not work correctly on Safari. You can use the solution detailed in the Brightcove Player Sample: Creating a Video Loop document.

    Using an HTML element id named global

    You should not nest your advanced (in-page embed) player implementation code in a parent <div> tag with an id assigned the value global . This causes issues with Brightcove Player.

    Player version 5 icon issue

    Brightcove Player version 5 uses the same icon for both chapters and subtitles. Since version 5 is in maintenance mode, and this being a cosmetic issue, it is doubtful the issue will be addressed.

    Brightcove Player Plugins

    You will be linked to the particular plugin document so see the known issues for a plugin. Since version 5 is in maintenance mode, and this is a cosmetic issue, it will not be fixed.

    Android

    • On devices, the progress bar may not be in sync for HLS videos, since HLS does not work very well on Android. The total duration of the video may also incorrectly show up as 0:01.
    • There are multiple accessibility issues with the native browser on both phones and tablets for all versions of Android. Talkback does not provide audio and vibration feedback for any of the player controls. (This issue does not apply to the add-on Chrome browser on Android devices, only to the native browser.
    • Captions cannot be enabled on Android 2.3 devices.
    • On devices, the tap events for error messages do not bubble up to the parent video element. This means that you can not close an error message once it appears.
    • On Android devices, when navigating the player menus in the controlbar, such as captions or quality selection, the menu can get "stuck" in the open state following a long press on an item in the menu. This is because Chrome adds the :hover pseudo-class. Another long press elsewhere on the player will typically close the menu.

    Learn how to create Android apps that utilize the Brightcove Player SDK for Android.

    iOS

    iPhone

    • Social sharing will not work on iPhones. Since iOS phones switch to fullscreen native, you can't share a video from an iPhone.
    • On iPhones, the tap events for error messages do not bubble up to the parent video element. This means that you can not close an error message once it appears.

    Learn how to create iOS apps that utilize the Brightcove Player SDK for iOS.

    Windows 8

    • Companion ads are not supported.
    • On Windows 8 tablets, seeking does not work for standard HTML/MP4 playback. It works correctly for HLS tech.
    • On Windows 8 tablets, ads work but companions causes browser to crash.
    • On Windows 8 tablets, HLS, Flash, Live and embed types all supported.
    • On Windows 8 phone, plays MP4, but no Flash or HLS support.
    • On Windows 8 phone, regardless of whether the embed type is iframe or inline, once you hit play, playback will always occur in fullscreen. This means that the overlays do not show up once playback begins.
    • Captions cannot be enabled.

    Chrome

    • Issue with renditions that have a low audio bitrate

      Due to a bug on MSE on Chrome browser implementation documented here:

      https://bugs.chromium.org/p/chromium/issues/detail?id=534301

      Playback on that browser for version 5 and above of BC player will fail (showing MEDIA_ERR_DECODE) if the audio profile of the rendition being attempted is different from AAC-LC.

      To avoid this happening on new ingested content, customers need to make sure they either

      • use an audio bitrate equals or greater than 48kbps
      • include the following setting on their DI profile: "max_aac_profile": "aac-lc"

      To avoid this happening on existing content, options are:

      • retranscoding following the above recommendations
    • A request for an HTMl5 video may stay pending and the video never loads. See Google's document on the issue.

    Firefox

    • Firefox Browser for Android: Not officially supported, but will try to address bugs if possible.
    • It has been reported Firefox version 42 may have playback issues with Brightcove Player. The issue seems related to the settings of the Firefox Use Hardware Acceleration settings. When this is checked (enabled), the video player will playback the audio only, and will show a still image only. The solution to this problem is to disable this option as follows: Options -> Advanced -> General -> (UNCHECK) Use Hardware Acceleration When Available
    • The Brightcove Player may timeout on Firefox if the first frame of your video content has a starting presentation timestamp (pts) greater than 0. The current recommended solution is to re-encode your content. Note that re-encode does NOT mean re-transcode. The original master will need to be re-uploaded. If this does not fix the problem, contact customer support for further assistance.

    Internet Explorer

    • Captions set to automatically display on the video (checking the "default" setting for a caption in the Media Module) do not work with IE11
    • Videos with audio above 48khz will fail during playback on Edge and IE11 on Windows 8 and Windows 10. This is a Microsoft limitation. See this Microsoft document for more details.
    • IMA3 Flash ads work better on IE. Google IMA3 does not supports Flash and HTML ads on IE, but in our testing, we have found that the Flash SDK is much more robust at this time.

    Safari

    • No known issues

    IMA3

    • When using Google IMA3 skippable ads the Skip ad buttons do not have tab indices, so keyboard navigation to those buttons is not possible. Hence, viewers who depend on keyboard navigation will not be able to skip the ad.

    Brightcove Live

    • When the h264_profile is set to baseline or the h264_profile is not added to the Job request, it causes an issue on Windows 10 using Firefox v57.
    • When the end of a live stream is reached, the player may display a PLAYER_ERR_TIMEOUT error.

    Analytics API

    Requesting video or player fields in the fields without requesting them as dimensions

    If you use video or player fields (such a video , video_name , player or player_name ) in the fields to return but do not include them in the dimensions in the dimensions , the response items will include irrelevant values for those items and should be ignored. Other values in the items will be valid

    Workaround: Do not include video or player fields in the response fields unless you also include them as dimensions .

    High number of "other" results for device_manufacturer

    In some cases, you may see a high number of "other" results for the device_manufacturer field. This occurs when the Data Collector does not recognize the user_agent delivered to it with analytics data. The most common cause that we have identified for this is a custom user_agent string created by Instagram, but there are probably others.

    CMS API

    In certain cases, the original_filename gets corrupted

    In some cases, the original_filename field for videos gets corrupted and will not contain the real filename.

    Tags may not contain commas

    If you attempt to add a tag to a video that contains a comma (e.g. "SomeCo, Inc") the request will fail with an "illegal tag" error

    Scheduled Videos

    Because the Playback API and Catalog cache videos for up to 10-15 minutes, a player requesting a video scheduled to become available during the next few minutes (up to 20), may not be able to get a playable video until the cache refreshes.

    has_digital_master

    If you are using this field to test whether a video can be retranscoded, it is not reliable for shared videos, as it will be true if the original video has a master, but still cannot be retranscoded by the affiliate account.

    Workaround: If videos are shared to the account, you need to test for both has_digital_master = true and sharing.by_external_account = false . Sample code (JavaScript):

    var video={some_video_object}
    if (video.sharing !== null) {
      if (video.sharing.by_external_account === false) {
        if (video.has_digital_master) {
        // video can be retranscoded
        }
      }
    }
    
    

    Dynamic Ingest API

    No known issues at this time.