Browser TVSDK 2.4 Release Notes browser-tvsdk-release-notes
Browser TVSDK 2.4 Release Notes describe the new, supported and unsupported features and the known issues in Browser TVSDK 2.4.
Introduction introduction
Browser TVSDK is a toolkit that allows you to add advanced video playback functionality, content protection, and advertising to your browser-based video player applications.
Browser TVSDK 2.4 provides JavaScript APIs to build browser-based video applications and includes playback support in the following modes:
- HTML5 only
- HTML5 with auto flash fallback
- Flash always
This release includes the following information:
• Browser TVSDK API documentation.
• Browser TVSDK programming guide.
• TVSDK for 1.4 DHLS to Browser TVSDK 2.4 Migration Guide.
• Converting from Browser TVSDK 2.4.6 to version 2.4.7.
• A reference implementation, which is included in the build.
What’s new and supported features what-s-new-and-supported-features
This release of Browser TVSDK provides new features that you can use to enhance your video applications.
New in 2.4.12 Update (Build 204)
The following addition is available as part of Browser TVSDK 2.4.12 Update (Build 204):
- Implementation of volume API of AdobePSDK.MediaPlayer is changed to allow autoplay on iOS when playback is muted.
• A new API, auditudeSettings.ignoreVPAIDAds, is added to allow ignoring VPAID ads received from the Auditude server. The API does not work for Flash Fallback.
Version 2.4.11
The following enhancements and additions are available as part of Browser TVSDK 2.4.11 release:
• HLS Live segment failover is supported for MSE and Flash fallback modes.
• Support for AuditudeSettings.creativeRepackagingDomain API is now available for MSE as well. It was previously supported only with Flash fallback mode.
• The release contains fixes for critical customer issues. See Issues fixed a list.
Version 2.4.10
The following enhancements and additions are available as part of Browser TVSDK 2.4.10 release:
• TVSDK provides enableLogging() to enable or disable the logging. Refer to the API documentationfor usage.
• TVSDK does not anymore support Default Chapters, when using Adobe Analytics. Define and manage Chapters using your application.
• The release contains fixes for critical customer issues. See *Issues fixed *a list.
Version 2.4.9
The following enhancements and additions are available as part of Browser TVSDK 2.4.9 release:
• HLS VOD and Live streams with time discontinuity but without discontinuity markers are supported.
• ID3 v2.4.0 frames are supported with Safari video tag for HLS VOD and Live streams.
• Secure Ad loading implementation ensures that ad server calls are upgraded to secure HTTP based on API configuration. For the details, see AdobePSDK.AdvertisingMetadata and AdobePSDK.ForceHttpsAdConfiguration classes. This feature is not supported in Flash fallback mode.
• Ad ID information and Extension information associated with VAST 3.0 responses are now made available to the application by TVSDK and can be used to implement Moat integration for Ad measurements. For the details, see AdobePSDK.NetworkAdInfo API. This is not supported in Flash fallback mode.
• AdobePSDK.ForceHttpsConfiguration class is not available anymore. It is succeeded by
AdobePSDK.ForceHttpsAdConfiguration class.
• A new API, AdobePSDK.optimizeFlashCalls, is now available to optimize the calls to improve HLS playback experience in Flash fallback mode. This is disabled by default.
New in 2.4.8 Update (Build 6002)
This update contains fixes for critical customer issues. See Fixed Issues, for the list.
Version 2.4.8
The following enhancements and additions are available as part of Browser TVSDK 2.4.8 release:
• The SDK is now compliant with the Chrome EME and the best practices changes available starting Chrome v58. For more details see https://storage.googleapis.com/wvdocs/Chrome_EME_Changes_and_Best_Practices.pdf**
• The UI Framework now supports HLS Access DRM on Flash, Ad only, and Targeting Info workflow.
• The setDRMAuthenticateData API is added to the UI Framework. To play streams protected with Adobe Access DRM, invoke this API. Alternately, drmAuthenticateData attribute can be specified in the player. See AdobePSDK.videoBehaviorfor details.
Version 2.4.7
The following features are new in version 2.4.7:
• Addition of the UI Configurator in the UI Framework
You can configure the player in one of the following ways:
• Using a JSON object
• Using APIs
To help generate the JSON object, Browser TVSDK provides a **UI Configurator **tool.
In this tool, you can select various settings, click **Test Configuration **to verify the settings, and click **Download Configuration **to download the settings. After downloading the file, you can pass the contents of this file as JSON object, to the ptp.videoPlayer API.
• Addition of the MediaPlayerItemConfig API to the UI Framework
Various features, including advertisingMetadata, advertisingFactory, adSignalingMode, networkConfiguration, customRangeMetadata, useHardwareDecoder, subscribeTags, adTags, thumbnailScrubber, billingMetricsConfiguration, can be configured through MediaPlayerItemConfig. For more information, see the AdobePSDK.MediaPlayerItemConfig documentation in the Browser TVSDK API* * documentation.
In the UI Framework, the way of passing network configurations through the player configuration has been modified.
Version 2.4.6
var player = ptp.videoPlayer(‘#videoHolder', {
player: {
networkConfiguration: <network configuration object>
}
};
Version 2.4.7
var player = ptp.videoPlayer(‘#videoHolder', {
player: {
mediaPlayerItemConfig: {
networkConfiguration: <network configuration object>
}
}
};
- Support for DRM and Analytics workflows in the UI Framework
DRM configurations and Analytics Tracking can be enabled through the UI Framework.
- Addition of
AdobePSDK.embedSWFinFullScreenDivAPI
This new API provides flexibility to the player app for selecting the div in which it can embed the FlashFallback.swf file.
- Replaced
getVersionAPI fromAdobePSDK.MediaPlayerclass withAdobePSDK.Versionclass for TVSDK version related information. For details, seeAdobePSDK.VersionAPI here.
Version 2.4.6
The following features are new in version 2.4.6:
- Browserify Support
Browserify allows you to use the node.js style modules in the browser. You can define the dependencies and Browserify bundles everything into one JavaScript file.
- Billing
With the help of billing, Browser TVSDK can collect player usage metrics to bill Primetime customers.
Version 2.4.5
The following features are new in version 2.4.5:
-
Full Event Replays and Ads
HLS Full Event Replay (FER) streams now supports ad resolution and ad behaviors. To enable this support, set the ad signaling mode to
MANIFEST_CUESwhen creating theMediaPlayerItemConfigobject. -
MediaplayerView ScalePolicy Support
Application developers can now specify a different scalePolicy for the view using MediaplayerView scalePolicy property.
-
Anamorphic Content Support
Anamorphic content playback is now supported when using MSE and Flash playback.
-
Selective application of
withCredentials
When withCredentials is set to true, the Access-Control-Allow-Origin header cannot be set to a wild card. Depending on the response of server, Browser TVSDK will selectively set the withCredentials attribute. For more information about this support, see Browser TVSDK API docs.
Version 2.4.4
The following features were new in version 2.4.4:
- Chromecast sample app
This release provides support for a sender and receiver app that demonstrates playback of DASH VOD streams and DASH Widevine streams with client side ad insertion.
- Advanced failover support
This release contains support for advanced failover use cases (segment and server failover) for HLS VOD streams.
Version 2.4.3
The following features were new in version 2.4.3:
-
Custom tags for DASH VOD
Inline custom tags (Events) can be subscribed to and received as TimedMetadata object.
-
Playback of streams without extensions
HLS and DASH streams without extensions are now supported. For the manifest file, the resourceType needs to be specified when loading the resource. For segments and VTT files, the Content-Type response header is used to determine the content type.
Version 2.4.2
The following features were new in version 2.4.2:
- API Parity
For a complete list of the API parity, see the TVSDK for 1.4 DHLS to Browser TVSDK 2.4 Migration Guide.
-
Sample-AES support
This release adds support for Sample-AES encrypted content playback on MSE and Flash fallback. The requirement to host AES content over secure origin on Google Chrome have been removed.
-
Support for AAC containers
The playback of files with the .aac extension is now supported. This can be audio-only streams or alternate audio.
note note NOTE AC3 and enhanced AC3 codecs are not yet supported. -
Tokenized stream playback
HLS streams that are delivered through a Content Delivery Network (CDN) can sometimes use authentication tokens on the manifest and segment requests for verification, and these tokens can be provided as URL parameters or as cookie headers. The playback of such streams are now supported.
Version 2.4.1
The following features were new in version 2.4.1:
- UI framework
This framework, designed to accelerate UI development for JavaScript-based video player applications, consists of APIs for including basic controls like play/pause and volume and for easily adding or removing elements like scrub bar states and closed caption settings. You can specify the behavior associated with controls, create custom controls, and skin the player UI. This all happens through the framework, with no need for manipulating the DOM structure directly.
- HLS playback enhancements for Live streams
This release supports discontinuities caused by ad insertion. It uses the EXT-PROGRAM-DATE-TIME tag followed by the EXT-MEDIA-SEQUENCE tag to synchronize across adaptive bitrate profiles for smooth playback.
- VPAID 2.0 support
The video player ad-serving interface definition (VPAID), version 2.0, provides a rich media experience for users and allows publishers to better target ads, track ad impressions, and monetize video content. This release supports linear JavaScript VPAID ads for video-on-demand (VOD) content.
- Custom HLS tags
Media streams can carry additional metadata in the form of tags in the playlist/manifest file. Browser TVSDK lets you specify and subscribe to additional tags and be notified when those tags appear in the manifest.
- Ad markers displayed on the player timeline
This release supports showing ad markers on the player timeline for both VOD and Live content. You can see this behavior in the reference player.
Supported in 2.4
The following features were available in version 2.4:
-
MP3 audio playback
This release supports MP3 audio playback on browsers with Media Source Extensions (MSE) and with the Safari video tag.
-
MP4 video playback
The following features are supported:
- Single stream playback
- Pre-roll and Post-roll MP4 ads with ad behaviors and tracking
- Pre-roll and Post-roll HLS ads with ad behaviors and tracking
- Pre-roll and Post-roll DASH ads with ad behaviors and tracking
Supported platforms supported-platforms
Browser TVSDK has specific requirements for the levels of platforms and software that it needs to run on. The following platforms and software levels are supported:
Desktop configurations desktop-configurations
-
Microsoft Windows 7:
- Internet Explorer 11+
- Chrome 33+
- Firefox 38+
-
Microsoft Windows 8.1
- Internet Explorer 11+
- Chrome 33+
- Firefox 38+
-
Microsoft Windows 10
- Edge+
-
Apple OS X
- Safari 9+
- Chrome 33+
- Firefox 38+
Mobile Web configurations mobile-web-configurations
-
Android 4.4
- Native browser
- Chrome 33+
-
Android 5.0
- Native Browser
- Chrome 33+
-
Android 6.0
- • Chrome 33+
-
Apple iOS 9
- Safari 9+
- Chrome 33+
-
Apple iOS 10
- Safari 9+
- Chrome 33+
Google Chromecast (second-generation; for DASH playback only)
Feature matrix feature-matrix
Here is a list of the supported and unsupported features for this release:
- MP3 Audio Features — Core Playback
- MP4 Video Features — Core Playback
- MP4 Video Features — Core Ad Insertion
MP3 Audio Features mp-audio-features
Table 1: Core Playback {#table-core-playback}
1 The Browser TVSDK Video tag does not support streaming and DRM. The codec and container support is not the same across all browsers.
2 Firefox defaults to Flash Player for version 41 or earlier.
MP4 Audio Features mp-audio-features-1
Table 2: Core Playback
Table 3: Core Ad Insertion
For more information about HLS or DASH feature support, see below.
HLS feature matrix hls-feature-matrix
Here is the feature matrix for the HLS features in Browser TVSDK.
- HLS Core playback
- HLS Advanced playback features
- HLS Content protection features
- HLS Core ad insertion features
- HLS Advanced ad insertion features
- HLS Integrations
HLS Features hls-features
The following features are supported:
Table 4: HLS Core playback
Table 5: HLS advanced playback features
Table 6: HLS Content protection features
Table 7: HLS Core ad insertion features
Table 8: HLS Advanced ad insertion features
Table 9: HLS Integrations {#table-hls-integrations}
DASH feature matrix dash-feature-matrix
Here is the feature matrix for the DASH features in Browser TVSDK.
• DASH Core playback features
• DASH Advanced playback features
• DASH Content protection features
• DASH Core ad insertion features
• DASH Advanced ad insertion features
• DASH Integrations
DASH Features dash-features
The following features are supported:
Table 10: DASH Core playback features
Table 11: DASH Advanced playback features
Table 12: DASH Content protection features
Table 13: DASH Core ad insertion features
Table 14: DASH Advanced ad insertion features
Table 15: DASH Integrations
Issues fixed issues-fixed
Issues fixed in 2.4.12 Update (Build 204)
The following issues are fixed in Browser TVSDK verison 2.4.12 Update (Build 204):
• 21647- TVSDK should allow automatic video playback on iOS devices when audio is muted.
• 21465- Error Key System Access Denied is received when playing a DRM-protected DASH stream after a DASH Live stream is played.
• 21442- Enable content autoplay on iOS Web, after preroll ad is played with a user gesture.
• 21240- Provided API to filter VPAID ads parsed from Auditude/VMAP.
Issues fixed in version 2.4.11
The following issues are fixed in Browser TVSDK verison 2.4.11:
Core playback features:
• 19192: TVSDK now implements TextFormat:bottomInset and TextFormat:safeArea. Due to these enhancements, closed captions can be re-positioned if the control bar is displayed on the screen.
• 21009: Closed captions persist on the screen in case of seek across discontinuity till new captions appear.
• 21141: Seek back is rejected due to a race condition during segment append.
• 21142: Making seekable playback ranges available when the player is in INITIALIZED state. Due to these changes, start session at position is now supported.
• 21363: 608/708 closed captions are going out of sync after ad insertion for DASH streams.
Ad insertion features:
• 21179: Mid-roll related issues (long pauses, black frames) with VOD content are now resolved by correctly setting the ad.primaryAsset.adParameters property.
• 21257: The MP4 file with highest bit rate is selected for transcoding if MP4 is not a valid mime-type and the creative repackaging feature is enabled.
• 21361: TVSDK now passes ad system and creative ID from the VAST response as query parameters in the creative packaging request in order to support additional normalization rules.
Issues fixed in version 2.4.10
The following issues are fixed in Browser TVSDK verison 2.4.10:
Core playback features:
• 21060: Invalid codec error thrown with HLS streams that contain discontinuity and the ISO BMFF boxes run to end of stream.
• 21045: Auto play not working on iOS after the first video playback in a playlist is completed.
• 20975: Frame rate is returned as NaN by the QoS provider on Chrome browser.
• 20823: Unsupported codec error thrown on encountering segments with no data.
• 20769: SDK now starts with the current bit rate on seek instead of switching immediately based on ABR policy.
• 20031: When in portrait mode on IE11 (Windows 8.1), the video screen becomes small. Content protection feature:
• 19316: Skip segments that fail decryption in case of HLS AES-128 streams.
Issues fixed in version 2.4.9
The following issues are fixed in Browser TVSDK verison 2.4.9:
Core playback features:
• 13407: DASH streams may stall if Firefox stops sending “ontimeupdate” event during playback.
• 16380: During Muxed Audio Video Content Playback of segments having non-matching start times via MSE, Audio Sync Error between Representations accumulates on ABR switches, ultimately resulting in Error (Chromium issue #663686).
• 17985: On playing particular ISO-BMFF stream on Firefox browser, playback gets stuck(Firefox issue #1342913). This is fixed since Firefox v53.
• 19141: Uncaught (in promise) ReferenceError: width is not define.
• 18997, 19299: Video flicker issue at segment boundary. This was happening since SDK was not calculating the last sample’s Composition time offset correctly.
• 19780: Playback does not starts for HLS content and HLS Ad on Firefox v53 (Firefox issue #354653).
• 20046: Program Date Time is received as key instead of value when received as timed metadata object.
• 20047: useDefaultResizeHandler throws an error with Flash fallback.
• 20179: Flash Fallback not working with Flash Player v25.0.0.171.
• 20293: Firefox stops buffering data for certain HLS streams leading to stall.
• 20626: Player throws media decode error on Chrome due to incorrect handling of video samples with zero duration.
• 20078: Playback stalls on browser error ‘QuotaExceeded’.
• 18639: In HLS Live stream 608 CC text sometime appear as misspelled.
• 20028: ClosedCaptions size parameter doesn’t change font size.
• 20613: Closed captions boxes overlap with each other making them illegible.
Core Ad Insertion (CSAI) features:
• 20043: Missing Ad impression and Ad tracking calls with multiple ads and third party redirects.
• 20044: When using creative repackaging, all ads in the ad break need to be repackaged successfully otherwise the ad break is completely discarded.
• 20097: Ad playback is skipped and main content resumes immediately rather than wait for timeout of 20 seconds if ad manifest is not available.
Issues fixed in version 2.4.8 Update (Build 6002)
The following issues are fixed in Browser TVSDK verison 2.4.8 Update (Build 6002):
• 14126: Playback may stall on Firefox (issue #1316024) due to internal gap in MSE source buffer. Try seeking in order to resume playback
• 19608: Fix to honor the timeoffset value from Auditude VMAP response.
• 19635: Fixes Video Stall in Internet Explorer 11 on Windows 10.
• 19761: Fixes for ABR issues with HLS.
• 19780: Fixes the Ad playback with HLS content that was broken in Mozilla Firefox v53.
• 19877 and 19744: The issues fixes the inconsistency in selecting bitrate after a seek operation. Now the bitrate selection on seek is the lower value of the current bitrate and the bitrate at the start-up.
• 19881: Playback stuck and buffering overlay appears for infinite time after seeking is performed for 3-4 times.
• 19884: Confirm compliance with Chrome 59 Beta Verified Media Path (VMP) requirements. bTVSDK was able to playback Widevine DRM content with Chrome 59 Beta.
• 19916: DRM playback on UI-Framework was broken. Now, it invokes acquireLicense even if there is no policy in the metadata.
Issues fixed in version 2.4.8
The following issues are fixed in Browser TVSDK 2.4.8 release:
• 10075: When seeking ahead of timeline, play complete event was not received on Firefox and Chrome and seek event was not received on Firefox.
• 15775: Play complete event not received on Windows 8.1 Internet Explorer.
• 17306: For SSAI streams, playback is supported. Tracking of stitched ad is not supported.
• 19142: At times rewind causes the video player to remain in buffering state forever.
• 19218: Ad markers are not available through UI framework.
• 19219: Ads only playback not works through UI framework.
• 19222: AES-128 key is requested once for a playlist and subsequent requests are served from the cache. Earlier it was getting requested for each segment.
• 19597: “Uncaught TypeError: Cannot read property ‘log’ of undefined” was seen with Chrome canary builds.
• 19605: adRequestDomain was not available when in Flash Fallback mode.
• 19608: VMAP ads were not getting inserted for HLS Live streams. SDK now considers the cue markers and does not rely on time offset values in VMAP responses.
• 19637: Ads only playback leads to script error at end of ad.
• 19732: CRS playlist requests were failing with 404 error. The 1401 and 1403 requests from Browser TVSDK are now updated to take care of that.
• 19762: acquireLicense used to be called before setAuthenticationToken because of which a valid license was returned irrespective of the token validity. This is fixed now and acquireLicense is called only after setAuthenticationToken response.
Issues fixed in version 2.4.7
The following issues were fixed in version 2.4.7:
• 8397: HLS Live streams generated through Adobe Media Server might not play if the segments do not start with a Key frame.
• 13606: Multiple Seek related issues fixed for HLS stream on Chrome browser.
• 14807: On Chrome browser, if seek or pause is triggered immediately after play(), playback may stop with error DOMException: The play() request was interrupted by a call…(Chromium issue# 593273).
• 19085: MediaPlayer Params such as volume, abrControlParameters, and ccStyle are not set to Defaults on Resetting the Player.
Issues fixed in version 2.4.6
The following issue was fixed in version 2.4.6:
• 18093: TimedMetadata for the tag next to the subscribed tag is returned when you use Flash Player version 24 in Flash Fallback mode.
Issues fixed in version 2.4.4
The following issues were fixed in version 2.4.4:
• 8711: With MSE, 608/708 captions are left justified by default.
• 13934: ABR settings for ads are not applicable when playing with HLS Live streams.
• 14079: Longevity for HLS Live streams with low DVR window may fail since the playback may fall behind due to network latency issues. Click on the live point to resume playback.
• 15037: The samples shipped with the player UI framework does not work on Microsoft Internet Explorer 10 on Windows 7.
• 15913: For HLS VOD streams, on Chrome, stream will not play if manifest response is 304 not modified. This is fixed since Chrome v55 (Chromium issue 633696).
• 16103: On Android Chrome, under low bandwidth conditions, playback may stall with the Uncaught TypeError: Cannot read property ‘programDateTime’ of undefined error.
• 16265: For HLS VOD and Live streams, seek across discontinuities do not work.
• 16709: Resuming HLS Live stream with PDT and discontinuity marker may lead to player getting stuck in buffering.
Known Issues and Limitations known-issues-and-limitations
The limitations and known issues in Browser TVSDK are mentioned below.
Table 16: Core Playback Features
Table 17: Advanced Playback Features
Table 18: Content Protection Features
Table 19: Core Ad Insertion Features (CSAI)
Table 20: Advanced Ad Insertion Features (CSAI)
Table 21: Integrations
Helpful resources helpful-resources
- See complete help documentation at Adobe Primetime Learn & Support page.