Closed jiri-janousek closed 6 years ago
Google Play Music has an experimental support for HTML5 Audio (can be enabled in Settings > Labs), unfortunately I have it disabled in all browsers. I think it could be disabled for Google Play Music Unlimited subscribers since HTML5 Audio has no DRM support, thus Flash playback is enforced.
I think it could be disabled for Google Play Music Unlimited subscribers since HTML5 Audio has no DRM support, thus Flash playback is enforced.
That might be true. I think HTML5 Audio is supported only in Google Chrome as it depends on some experimental technologies included in that browser. Not sure whether these technologies also include DRM nowadays or Flash is still hard requirement for All Access subscribers.
Google Play Music has an experimental support for HTML5 Audio (can be enabled in Settings > Labs), unfortunately I have it disabled in all browsers.
Have you tried also Google Chrome? Not Chromium, as it might lack some proprietary techs needed for DRM.
Have you tried also Google Chrome? Not Chromium, as it might lack some proprietary techs needed for DRM.
Yes, in fact the screenshot above is from Google Chrome.
Just to shed some more light on this, the HTML5 option is disabled for me as well, even though I am a Google Play Music Unlimited subscriber. I use Google Chrome (dev), and run Arch Linux.
The format support dialog (Menu → Format support) contains two new options to disable Flash plugin and/or GStreamer HTML5 Audio backend. These options are intended for web app script maintainers to find out whether a streaming service requires Flash plugin or supports HTML5 Audio.
Related: #191
Format requirements flags will be mandatory for Nuvola Player 3.2.
There are four format requirements flags:
FlashAudioRequired
- app requires Flash, don't check HTML5 audio support at all, enable Flash pluginFlashAudioPreferred
- app prefers Flash to HTML5 Audio, check support for both technologies, enable Flash pluginHTML5AudioRequired
- app requires Flash, don't check Flash support at all, disable Flash pluginHTML5AudioPreferred
- app prefers HTML5 Audio to Flash, check support for both technologies, disable Flash plugin if HTML5 Audio is supportedThe semicolon-separated flags are specified in the "requirements"
string field in metadata.json
:
{
"id": "test",
"name": "Test",
"requirements": "FlashAudioRequired;AnotherFlag;Whatever",
...
}
To obtain a proper format requirement flag for your service, follow this procedure:
FlashAudioRequired
.HTML5AudioRequired
.HTML5AudioPreferred
.When adding this new "requirements" flag to metadata.json of Service Integration, do I also have to update api_minor? Currently I have api_major = 3 and api_minor = 0.
When adding this new "requirements" flag to metadata.json of Service Integration, do I also have to update api_minor? Currently I have api_major = 3 and api_minor = 0.
You should update API version only if your script doesn't work with older API. For example, if Nuvola Player adds a new feature into API 3.X that is so essential for your script that it cannot function properly without it, you will increase API requirement to 3.X. However, all Nuvola Player versions with API less then 3.1 won't be able to load your script any more. In conclusion, the format requirement flag is not a reason to increase API requirement.
From tiliado/nuvolaplayer#91 - please post your feedback to that ticket, not here.
[Google Play Music with] HTML5 Audio seems to work in Nuvola Player 3.1 in Debian Jessie for songs in the library, not sure about All Access Music subscription. Can anybody interested investigate? First, disable the Flash plugin in App menu/Gear menu → Format support → Web plugins → Toggle "Load web plugins (Flash)" off, then restart Nuvola Player.
It is necessary to have more detailed format requirements because the degree of HTML5 Audio support depends on WebKit's version and various technologies, e.g. Media Source Extensions and Encrypted Media Extension. For example, Google Play Music's requirements would be as follows (providing MSE lands in WebKitGTK+ 2.16.0).
{
"id": "google_play_music",
"name": "Google Play Music",
"requirements": "FlashAudioPreferred",
"checks": {
"html5audio": "codec(mp3) && webkit(2.16.0) && mse",
"flashaudio": "flash(any)"
}
}
Checks:
codec(X)
- GStreamer codec X is installedwebkit(X)
- WebKitGTK+ X or newer is installedmse
- Media Source Extension is supportedeme
- Encrypted Media Extension is supportedflash(X)
- Flash plugin X is installedunknown(X)
- unknown checks are evaluated as false with a console warningOn the second thought, it could be simplified to "requires": "WebKitGTK[2.15.3] Codec[MP3] Codec[H264] Feature[MSE] Feature[Flash]"
etc.
Current status:
Temporary on hold until CEF port is complete.
Codec[mp3]
Codec[mp3] Feature[MSE]
Feature[flash]
as the last resort.The Logitech Media Server service is a special case because it doesn't use any form of local playback. It doesn't require any codec.
@Tar-Dingens Thanks for info :+1:
Temporary on hold until CEF port is complete.
Closing in favor of #424.
Some services might be able to use HTML5 Audio for playback and we could disable Flash for them.
TasksTemporary on hold until CEF port is complete.
Codec[mp3]
Codec[mp3] Feature[MSE]
Feature[flash]
as the last resort.Status
8tracksamazon-cloud-playerCodec[MP3] Codec[H264] Feature[Flash]
bbc-iplayerCodec[MP3] Codec[H264] Feature[MSE] Feature[Flash]
deezerFeature[flash] Codec[mp3]
HTML5AudioRequired
→Codec[mp3]
logitech-media-servermixcloudChromium[43] Codec[MP3]
Codec[mp3]
spotifyChromium[63] Feature[widevine]
youtubeChromium[63] Feature[MSE]
Feedback from Sasan Namiranian: