shaka-player | JavaScript player library / DASH & HLS client | Video Utils library
kandi X-RAY | shaka-player Summary
kandi X-RAY | shaka-player Summary
We have another project called Shaka Player Embedded which offers the same features and similar APIs for native apps on iOS. This project uses its own media stack, which allows it to play content that would otherwise not be supported. This supports both DASH and HLS manifests.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of shaka-player
shaka-player Key Features
shaka-player Examples and Code Snippets
Community Discussions
Trending Discussions on shaka-player
QUESTION
Azure Media Service is used to deliver widevine license, I used shaka-packager with key-id and key-value get from license to package and encrypt video, and output two types of files, MPD, and MP4 encrypted video.
When I test the encrypted content with the Dash test player, everything works fine and without a license, I can not play video.
Then when I override policies and set license_duration_seconds = 1800
The player stops after 30 minutes and displays "DRM: KeyStatusChange error! -- License has expired"
However, when I click on Load again or refresh the page and use the same license and MPD URL, the same content plays again!
I'm not sure if I missed something when I package the video with shaka-player.
Is this the expected behavior?
...ANSWER
Answered 2022-Jan-09 at 22:31When you "click on Load again or refresh the page", are you sure the player did not get a new Widevine license (hence another 30 min of playback window)?
Is this a browser app or native/non-browser app? The reason I ask this: not every Widevine environment supports persistent license. Android native app and Android Chrome support it. If you expect license re-use, persistent license is required and needs to be supported.
QUESTION
Thank you so much for taking your time and reply. Lets say I have to play live stream with the following requirements; How can I make a working Player for a browser?
Manifest URL = "https://live-stream-manifest.mpd"
Manifest URL require special headers which are;
HeaderName = "manName1" HeaderValue = "manValue1"
HeaderName = "manName2" HeaderValue = "manValue2"
Widevine License URL = "https://widevine-license.com"
Widevine License require special headers which are;
HeaderName = "licName1" HeaderValue = "licValue1"
HeaderName = "licName2" HeaderValue = "licValue2"
With the above info I made the following player but I don't know where to put the headers for manifest which are required when request is made.
...ANSWER
Answered 2021-Nov-14 at 01:51I'm running on Clappr filled with Shaka (& Clappr ext) and used settings below. Instructions should apply to any other Shaka based video client as well. Refer to https://shaka-player-demo.appspot.com/docs/api/tutorial-license-server-auth.html.
In my case, there was possibly mismatch between documentation and the way of catching type returning from player.getNetworkingEngine().registerRequestFilter
. Unlike in documentation, I found 2 to correspond WV request.
QUESTION
When I installed shaka player in Nuxt and mode: universal
, I received this error:
In spa
mode shaka is working but in universal
it doesn't work.
Thanks to the answer, the issue was solved with the following:
...ANSWER
Answered 2021-Jul-06 at 10:05You did not provided any code, but I'm 90% sure that this is coming from the fact that window
is not present when run on the server.
My answer can be found here: How to fix navigator / window / document is undefined in Nuxt
QUESTION
I want to wrap the shaka-player
example in an AngularJS directive.
The example player works fine on its own and can play the MPEG-DASH version of Big Buck Bunny hosted on Akamai's CDN.
However, when trying to use shaka-player
within an AngularJS directive, player.load(url)
fails with this.target.addEventListener is not a function
.
It also reports TypeError: Cannot read property 'textTracks' of null
. (Depending on the browser, the order of these errors is sometimes reversed)
I don't know why it works standalone but not in a AngularJS directive...
The HTML fragment for the directive looks like:
...ANSWER
Answered 2021-May-21 at 14:04The angular.element
function returns a jQuery element, as does the jQuery find function. Consequently your videoTag
variable refers to a jQuery object.
On the other hand, the shaka.Player
constructor expects an HTMLMediaElement
. So passing videoTag[0]
should work.
QUESTION
I am trying to configure shaka-player to play the UHD representation from my manifest instead of the SD. My question is:
- How does it decide which Representation to play?
- How can you define which representation to play?
ANSWER
Answered 2021-Mar-01 at 23:39I finally used Dashjs instead of shaka-player which starts with highest bitrate instead of lowest one.
QUESTION
I'm trying to build a component on ReactJs which basically wraps the [Dash.js][1] web-player to handle working with MPEG-DASH format.
What I have in my file is:
...ANSWER
Answered 2021-Jan-27 at 02:10Your import statement should be like below
QUESTION
I'm trying to build a simple webview in Android Pie that is able to play DRM content, using for example Bitmovin or Shaka Player. I have collected some snippets from other stackoverflow posts, but while Bitmovin/Shaka can apparently detect widevine support and play sound, the video isn't loading.
Here's my code so far:
...ANSWER
Answered 2020-Jul-17 at 13:07It was failing because the device only had widevine L3, it worked for L1
QUESTION
I am working on an app which have a media server and this media server provide me the URL's of different video files and these videos are in dash
format or .mpd
format. I go through react-native-video and it have exo-player
on android
which already have a support of dash
,
I have tested exo-player
on andriod
and it works but on the other hand it uses AVPlayer
for IOS
which don't have any support of dash.
I spent some time to find some solution on IOS side which could also support React-Native android
and IOS
but didn't find a proper way, Found two solutions but not works for both.
dash.js - https://github.com/Dash-Industry-Forum/dash.js/wiki
Google Shaka Player - https://github.com/google/shaka-player
dash.js
have only support for web
and shaka-player
have some embeded solution available on IOS
and which i have bridge and then i can use.
I am looking for some quick work around on react-native, Is there any player available which can play dash
on both platforms or any other work around that can work for me.
ANSWER
Answered 2020-Mar-11 at 15:48A key reason you may not see as much attention for DASH players in iOS as you expect is that current apple iOS rules require you to use HLS on iOS devices for any video over 10 minutes, assuming your app is available on mobile networks which is nearly always the case:
2.5.7 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 192 kbps HTTP Live stream.
(https://developer.apple.com/app-store/review/guidelines/)
This is a key reason most video streams at this time are available in both HLS and DASH streams.
Note that the CMAF format promises to eventually allow you only store and server single copy of your content by effectively having the segmented video streams be the same with different HLS and DASH 'index' or 'manifest' files to refer to them. Because of some differences in the way encryption has been done in the past, and the time it will take for all devices and players to support the new format and new agreed encryption support, in practice nearly all encrypted streams will be both HLS and DASH for some time.
QUESTION
I am trying to configure shaka player with ClearKeys Like
...ANSWER
Answered 2020-Mar-03 at 17:26Clearkeys can be used in two ways:
- You can explicitly specify the keys in your player configuration
- you can provide a server URL for a server which recognises and will server clearkefs in response to a license request
The first case does not require a license server.
In the example you show above from the Shaka documentation, the first entry is the key_id and the second the key itself in case that is not clear:
QUESTION
I am trying to enable my Azure-hosted video for offline viewing in Chrome with a "rental period" so that it expires after a few days. I started with the OfflinePlayReadyAndWidevine java example project. I updated this method to specify 30 seconds for all three durations.
...ANSWER
Answered 2020-Feb-20 at 22:36In your Widevine template, the 3 attribute names:
- RentalDurationSeconds
- PlaybackDurationSeconds
- LicenseDurationSeconds
look different from the corresponding 3 attribute names in Widevine proxy spec or in Azure Media Services doc on Widevine template (https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-widevine-license-template-overview)
They should be, respectively
- rental_duration_seconds
- playback_duration_seconds
- license_duration_seconds
This way it would be consistent with Widevine proxy doc or AMS doc above.
For the time being, could you set the Widevine template as a JSON string instead of thru property setters?
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install shaka-player
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page