DRm support for html5 player - drm

I am trying to run angular js application on mobile device with html5 player for video playback.
I would like to know whether html5 supports drm by default or is there a way to support drm in html5.
Regards,
Raj Dugar

HTML5 supports DRM through the Encrypted Media Extensions (EME) mechanism, which in turn relies on the Media Source Extensions (MSE) mechanism.
Essentially, the DRM system provides a Content Decryption Module (CDM) which is built into or added to the browser and which is accessed by the HTML5/Javascript via EME to decrypt and possibly to playback encrypted media.
Not all browser support all CDMs - in general Chrome supports Widevine CDM, MS Edge supports Playready CDM and Safari supports FairPlay CDM. Firefox supports Adobe Primetime and Widevine CDM, although the momentum seems to be with the latter.
You can read more about EME here:
https://www.html5rocks.com/en/tutorials/eme/basics/
and the spec is here:
https://www.w3.org/TR/2016/CR-encrypted-media-20160705/

Related

Azure Media Player HLS support

I'm using Azure Media Player in my project to play Azure Media Service assets and it works great for that. However, I'd also need to play some HLS content within the same project and would like to use the same player.
Microsoft claims that AMP supports HLS, but when I put any HLS source into it and set the the format to HLS, I'm ending up with a "No compatible source was found for this media." error.
Has anyone managed to successfully play HLS content with AMP?
Azure Media Player only supports playing content from Media Services. If you want to use a single player for any HLS source including non Media Services content then you'll probably want to use a different player like Shaka, Video.js, or JWPlayer. That said, you might have success with AMP if you disable to URL rewriter as per https://learn.microsoft.com/en-us/azure/media-services/azure-media-player/azure-media-player-url-rewriter.
See https://learn.microsoft.com/en-us/azure/media-services/azure-media-player/azure-media-player-playback-technology. AMP uses "html5" and "html5FairPlayHLS" for HLS playback which both rely on native HLS support vs support via javascript. If you need to use HLS on windows / or older versions of android you would need to use another player.

PlayReady for offline content protection in Azure Media Services

I want to protect my uploaded content after it is downloaded. This link provides some pointers about doing that. The link refers to using a .ismv file for this. But as far as I know, the Media Encoder used to encode MP4 to Smooth Streaming is deprecated.
How to generate smooth streaming files given an MP4 file using Azure Media Services ? Also, since it only supports PlayReady, how to play it on other browsers which don't support PlayReady ?
See the documentation links below for information on offline DRM in Azure Media Services. These cover offline HLS and offline MPEG-DASH. The Smooth static encryptor has been deprecated in favor of using dynamic encryption.
https://learn.microsoft.com/en-us/azure/media-services/media-services-content-protection-overview
https://learn.microsoft.com/en-us/azure/media-services/offline-widevine-for-android

MPEG-DASH support on Android via NDK (C++)

I am looking to support playing DRM into custom player which is built using NDK C++ library as plugin which decodes, converts and then perform some image processing before final presentation. In this scenario, what is the best way to support DRM (I will use NDK's Crypto and DRM interfaces) given that documentation hints at only supporting MPEG-DASH format, which is not natively supported.
Clarify if any of my assumptions are incorrect or there are simple libraries (like libdash) which can solve the problem. Extreme solution in ExoPlayer but current infrastructure is built using C++ and NDK interface to leverage hardware decoders, which excludes that as an option.
If your image processing requires access to the raw image then unfortunately you won't (or you shouldn't!) be able to do this as encrypted video is designed to play via a secure media path which does not allow access to the raw video.

Is it actually possible to play SmoothStreaming videos on Chromecast without using (format=mpd-time-csf)?

I'm trying to get a video playing on Chromecast - it's available as an MS Smooth Streaming manifest (example), but I can't specify format=mpd-time-csf (example), as it's not available in that format.
Directly passing the manifest URL to the Chromecast doesn't work yet, but will be available for the final SDK release, as stated by Les Vogel here:
Playing Smoothstreaming URL by providing Manifest file of smoothstreaming to Chromecast device
As I understand it can play dash/smooth videos by embedding the dash.js player into the receiver app. However, dash.js only plays smooth streaming videos if (format=mpd-time-csf) is specified - normal smooth manifests don't work.
Does this mean that in its current state, Chromecast only supports smooth video in the mpd-time-csf format? I assume the Netflix app uses Smooth for its Chromecast app - is this how they're doing it?
Currently, unless you write your own (javascript) player than can handle smooth streaming (i.e. parse manifest, fetch fragments, use MSE extension, etc), you cannot play smooth streaming content on chromecast.
Ali.
Just following up my own question in case anyone stumbles across this from Google - with the release of the SDK SmoothStreaming should be playable out of the box with the Media Player Library: https://developers.google.com/cast/docs/player.

Play Sound Using HTML 5 on Web Application

I'm building a web application to support RPG games, like Dungeons & Dragons. It's
like a AJAX chat room with dice rollers, avatars, shared information, character sheets and
so on...
One of my desired features is to let the game master to play music to all game members.
How can I implement that?
I'm building the application with Asp.NET, using C# 3.5.
In the client side I'm using jQuery (latest version).
I intend to avoid Flash and Silverlight (even if the music resource will be available to
some browsers only).
I tryed to use ogg format, but I don't know how to make it work with my own audio
files. Do I need to implement a stream or something?
The application already is online. If someone want to see it, let me know. But
it's only available in portuguese (Brazil).
Any tip will be apreciated.
You have a better chance of integrating the sound if its a mp3, then using javascript or HTML5.
HTML5 Code:
<audio src="anyone-there.mp3" autoplay controls></audio>
Read more here - http://www.html5laboratory.com/playing-with-audio-files.php
HTML5 is not supported by many browsers, so using a javascript to play the sound would be alot better.

Resources