Roving Thoughts archives

2018-03-31

Some notes on watching Crunchyroll shows on Linux (March 2018 edition)

I use Linux and I I subscribe to Crunchyroll, which gives me a set of interesting problems since Crunchyroll's desktop video player is still Flash-based. There probably aren't many other people that this applies to, but I'm still going to write down some notes about whole area. Note that I'm using X, not Wayland; things very likely will be different for Wayland for various reasons.

First off, I use Chrome for this, not any other browser (including Chromium). Google's official binary Chrome packages include a bundled version of Adobe Flash that's more up to date and featureful than the separate 'NPAPI' Linux version that Adobe somewhat reluctantly still makes available as a separate download. This is especially relevant because apparently one of the things not in the NPAPI version is GPU acceleration (per here; Chrome is using the 'PPAPI' version).

(You can apparently download the PPAPI version from Adobe and integrate it into Chromium, but I don't know anything about this. I'm lazy, so I just use Chrome and hold my nose.)

The Linux version of Flash has historically not had the best support for efficient video playback, including hardware acceleration. Based on investigation with radeontop and intel_gpu_top on Fedora 27 on two difference machines, the current version of Chrome's Flash appears to not use hardware video acceleration for Crunchyroll's non-windowed full screen mode. Full screen video seems to be entirely CPU-based, and apparently single core only (so what matters is high single-core performance). However, playback inside a Chrome window is hardware accelerated, including their 'pop out' mode. Thus, if you want to be sure you're getting hardware accelerated video playback (and you probably do) and full screen, you want to use the 'pop out' mode and then maximize the resulting browser window (probably with your window manager's feature for this, not with F11).

(This probably won't be ideal if you have a 16:9 screen, because you'll lose some space to window manager decorations and probably shrink the video slightly. Luckily I have a 16:10 display so I'm not affected by this. Sufficiently clever people using the right window manager might be able to hack their window manager to skip decorations on these windows.)

I've mostly tested with Crunchyroll's 720(p) streams. I'm not entirely convinced that either of my Linux machines can really smoothly play back its 1080 streams even with (some) hardware acceleration at work, although it's hard to know for sure without some way of getting access to stats on frame drops. I'm also not sure how much improvement there really is in Crunchyroll's version of 1080 in general; I've at least heard rumblings about bitrate limits and other things (especially once an episode's been out for a few days), and also that a certain number of shows are not really 1080 to start with and the biggest benefit you might get is a slightly better upscale from 720.

As a disclaimer, your mileage may vary based on the specific GPUs involved. I expect these results to apply to any reasonably modern AMD and integrated Intel graphics, but I don't know about nVidia cards. Hopefully they're at least as accelerated for video playback from Flash in Chrome. Also, I'm not completely sure what's happening with Intel graphics, because I seem to get the same sort of GPU usage reported in straight playback and in fullscreen mode (unlike the AMD GPU, where Crunchyroll's full screen mode shows no GPU activity in radeontop).

I assume that Crunchyroll will someday switch over to HTML5 video playback (hopefully before browsers stop supporting Flash, unless CR intends to entirely abandon desktop users). When that happens, much of this will hopefully stop being an issue, since HTML5 is hopefully much better integrated and much more likely to be hardware accelerated. Certainly on my machine with integrated Intel graphics, full screen HTML5 playback of this pretty dynamic 720p YT video is smooth in both Firefox and Chrome.

(Conveniently, the Youtube HTML5 video player will give you data on frame drops, as part of the 'stats for nerds'. I see no drops in my playback runs.)

If you're playing videos in gmplayer and quite possibly other standalone Linux video players, you likely want to make sure you're using VDPAU on modern hardware (see also the Arch wiki page on hardware video acceleration). As I found out recently, if you ever explicitly told gmplayer to use some video output driver (perhaps to override its defaults to pick a better one on your system at the time), it remembers this and won't automatically switch to the best video acceleration method that it can find. To fix this you can either explicitly give it an appropriate -vo output (eg '-vo vdpau') or manually delete the vo_driver line from ~/.mplayer/gui.conf, which resets gmplayer to using whatever it decides is the best option.

(Using VDPAU may require additional Linux packages that aren't installed by default, but hopefully not.)

PS: radeontop confirms that video playback in gmplayer with VDPAU is hardware accelerated, probably more so than Flash in Chrome based on the amount of GPU usage.

PPS: If you want to know system details for the two machines I'm testing on, they're this machine with a Radeon RX 550 and this machine with current-generation Intel UDH 630 integrated graphics. Both have very good CPUs, so their CPU should not be a limit unless there's no hardware acceleration going on at all.

Sidebar: Why it's hard to tell with integrated Intel graphics (and Wayland)

These days, even basic X uses the GPU with integrated Intel graphics, which complicates trying to tell if Flash is using special hardware acceleration; even perfectly normal X things can light up the GPU. This usually isn't the case on AMD GPUs. Also, for what it's worth, Flash playback on the integrated Intel graphics system seems to use more CPU than on the AMD GPU system.

(It's also possible that intel_gpu_top only captures some information about GPU usage. Strikingly, it reports no GPU usage for HTML5 video playback in Firefox on my test video, although the playback is drop-free and Firefox's CPU usage is not saturating a single core. Playing the same video in Chrome with HTML5 reports some GPU usage.)

Similarly, Wayland intrinsically uses OpenGL and thus the GPU's hardware acceleration for it. This may be at a different and lower level than genuine hardware accelerated video playback, but one would have to pay close attention (including to CPU usage) to be sure.

I guess the ultimate moral here is that Linux users won't know for sure unless video playback problems become clear and obvious, or Crunchyroll someday gives us access to stats on frame drops, bitrate reductions, and so on so we can see if there are quiet problems in our setups. Sane people probably use Windows (or Macs) and likely don't have to care about this.

anime/CrunchyrollLinuxVideo written at 03:17:15; Add Comment

2018-03-22

Checking in on the Winter 2018 anime season 'midway' through

I know, calling this 'midway' is a bit rich, even for me. But I haven't seen the end of any of the shows I'm watching, so I want to write down some things before I start changing that, as an update on my earlier impressions of this season.

Smash hit of the season:

  • Laid-Back Camp: This has stayed ridiculously engaging all the way through, with hardly a misstep. As I expected I'm much more interested in Rin's solo camping sections, with their focus on the mechanics and the beauty of the experience, than on the Outclub's 'gang of friends' segments. But even the latter are a solid experience (in moderation), and the whole show is my clear winner this season.

Generally excellent:

  • March comes in like a Lion: After stalling on this for quite a while, I motivated myself into watching it and it's still as solid and as good as always.

Popcorn with flashes of something more:

  • Darling in the FranXX: It's not that the show is bad; it's just that it's disappointing on multiple levels. But every so often it pulls off a surprise or a very good episode, and outside of that it's good popcorn entertainment if you can hold your nose about certain aspects.

Surprisingly good, I think:

  • The Ancient Magus' Bride changed my opinion of it with the last episode, which is the first episode that I hadn't read the manga version of first. It came across as a quite good episode, so I'm swinging around to the idea that I've been somewhat too hard on the show because it generally hasn't been living up to the manga.

Either on the edge of being dropped or dropped:

  • Violet Evergarden (#10): The show is beautiful (and I'm not just talking about the art), and when I watch an episode it mostly pulls me in to the moment. But then the episode ends and I immediately wind up pulling back from it. I don't think I feel intrinsically engaged with any of the characters; the show is so well put together that it makes me care anyway when I'm watching, but outside of that I feel distant from it, with very little urge to watch it. Between episodes, watching feels more like an obligation than anything else.

    I may finish up the show just because, but ultimately if you told me that I couldn't watch any more than I already have, I wouldn't feel at all annoyed.

Dropped:

  • Katana Maidens - Toji no Miko (#9): I got tired of the show's generally slow pacing and gave up on it after a while. I like the characters and when things happened it was okay, but I couldn't take the stop/start plot development any more. Even Evirus calls it 'okay'.

    (I could say that I started picking nits in things, but when I start doing that it's because I'm growing disenchanted with the show.)

In Netflix mass dropped shows, I watched B - The Beginning and have been working through A.I.C.O. - Incarnation, which somehow feels like a show from a decade ago (it's not anywhere near as compulsive a watch as B was).

In general this has been a quiet, laid-back season for me. There's nothing I'm watching that really inspires passion, for all that Laid-Back Camp is a great charmer.

anime/Winter2018Midway written at 23:14:24; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.