11 ms·
Ask HN: Why does nobody support h.265/HEVC anymore?
It seems that right now there is no browser that supports h.265/HEVC even on hardware that can decode it - "Old Edge" used to, but "New Edge" does not. Neither Chrome nor Firefox support it (actually, both of those refuse to use any form of hardware decoding at all on my Windows box, only Edge uses it for VPx and h.264 - and of course every media player).
The only exception is Apple with Safari.
Why is this? h.265 can do a lot better than h.264 in some scenarios, but certainly isn't worse.
And why, oh why, is debugging hardware video acceleration still such a nightmare, even on Windows? Firefox doesn't even seem to have it in about:support any more!
And why is hardware video acceleration only a problem with browsers? I've never had any kind of problem with it with any media player, regardless of OS. It just works. But browsers - it seems to never work OOTB. Except for Edge, apparently. Which I thought was just a Chromium reskin with MS tracking.
- ZYinMD 5y agoI'm under the impression that VP9 is in the same generation with H265 (in terms of video size and encoding/decoding performance) but VP9 is free and open, so as a consumer, I'll happily accept if everybody just uses VP9.
- ummonk 5y agoIt claims to be from the same generation but realistically it’s half a generation behind.
- Vladimof 5y agoprobably a patent issue... I love x265 for the video file size and a decent video quality
- PaulHoule 5y agoBack in the DVD era there was a conscious attempt to converge between the PC industry and consumer electronics. Since then (when they decided that Blu-Ray drives weren't going to be standard in PC) there has been a decoupling. HEVC is a consumer electronics standard, the PC industry is going towards VP9, AV1 and other royalty free codecs. Up until HEVC most codecs had one patent pool you could pay a royalty to and be good. HEVC had the problems that two entities claim to control essential patents https://en.wikipedia.org/wiki/Access_Advance https://en.wikipedia.org/wiki/Access_Advance https://en.wikipedia.org/wiki/MPEG_LA https://en.wikipedia.org/wiki/MPEG_LA
- gjsman-1000 5y agoIt also occurred with 4K Blu Ray, which was a real pain in the neck on PC requiring Intel SGX, Intel Secure Media Path, and a billion other DRM things. Then Intel removed SGX in 11th generation onward, and the Blu Ray developers have basically decided that being unable to play 4K Blu Ray on modern PCs is apparently just fine and haven't done anything to fix that. To this day, the only official way to play 4K Blu Ray on a PC is to get a 10th gen Intel and play back using Integrated Graphics using one of the internal drives made by a drive manufacturer who was utterly shafted by this nonsense. (It's got to hurt more though that 4K Blu Ray's new and improved DRM was, despite all this, broken less than a year after release. If you are a drive maker, knowing your drives are useless on modern PCs because of broken DRM that Blu Ray developers still insist is necessary must be the most infuriating thing ever.)
- theandrewbailey 5y agoH.265 requires getting a license from at least 2 patent pools[0], and who knows how many other patents are out there waiting to get sued over. If you want a new cross platform video codec, check out AV1.[1] [0] https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Patent_licensing https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#P... [1] https://aomedia.org/av1/ https://aomedia.org/av1/
- formerly_proven 5y agoBut if an application merely uses the graphic's drivers API to decode a stream, presumably the GPU vendor (and therefore the buyer) already paid for those licensing costs? Otherwise the hardware wouldn't support h265, right?
- mimsee 5y agoPerhaps there are software patents involved in the codecs and a license for those is different from the hardware ones
- galad87 5y agoRight, but neither Google neither Mozilla wants to support it even if they don't need to pay a cent.
- ZeroGravitas 5y agoThey'd both have supported it if the codec was offered freely to all users for any purpose. But it wasn't, so they'd be letting the entire internet be held to ransom if they supported it.
- AshamedCaptain 5y agoThat's actually not entirely clear to me. Which is another reason to avoid H265 altogether.... I mean, even if say Chrome started using the hardware decoders, do you think someone from the MPEG-LA would _refrain_ from suing Google since "they're just using the Windows API"? It's already not rare to have to pay both for the hardware _and_ the software in this world.
- throwaway67743 5y agoThe other problem is like competing codecs (vpx comes to mind), they all require much more resources for little gain, both for encoding and decoding - even in hardware vp9 requires more than h264 (and 5), patents are not the only reason. Also with a million competing codecs which do you choose....
- SemanticStrengh 5y agoI have not seen evidence that hardware accelerates h265 decoding consume that much more energy. Generally the complexity increase is biased toward the encoder
- throwaway67743 5y agoNot 265. its almost as simple as 264, but vpx (and their new fangled one which is even worse) - sorry if it wasn't clear from my comment
- _23sd 5y agoActually it’s not just browsers, HEVC can’t be hardware decoded out of the box on Windows applications that rely on Media Foundation, you have to open the Microsoft store and pay $0.99 for the privilege of using those codecs.
- rasz 5y agoBecause Fuck Patents.
- bush-bby 5y agoStupid question but… why?
- aaa_aaa 5y agoI am not the OP, but here is my take. In practical sense, because they do more harm than good. In logical sense, IMO, IP (patents, copy rights etc.) is not `property`, so it cannot be owned. Thus it can be copied indefinitely and used once it is exposed. World would be a better place without this nonsense.
- bozhark 5y agoThey serve unintended purposes better than their intended purpose. There’s something better and no one cares to try.
- fsflover 5y agohttps://www.eff.org/issues/patents https://www.eff.org/issues/patents
- lanstin 5y ago1. The software patent examination process is pretty broken - a lot of companies try to patent everything without regard to is it obvious or innovative so if they get sued for patent violations they can counter sue; the patent examiners for whatever reason (law, lack of expertise, lack of staffing) keep approving patents for software that is obvious not-innovate normal state of the art things) then all of a sudden people can't use linked lists or whatever. 2. The idea of patenting algorithms themselves seems to fly in the face of free speech. An algorithm is a disembodied mathematical thing, and not a device for selling. The same logic that allowed PGP to be exported as a book despite export laws would seem to apply to patens on algorithms. 3. An industry that is harmful to the free development and operation of business has sprung up where firms (that don't do anything economically or socially productive) buy a lot of patents up and then file nuisance law suits to get revenue streams for their investors. (Disclaimer I am the inventor on a couple patents; I had prepared my notes and list of innovations on the systems involved for the meeting with the lawyer filing the patent, and the discussion never got to any of the innovations involved, so there is no way that the patents were awarded for innovation.)
- JDW1023 5y agoI think there are a few patches that can enable HEVC hardware decoding with chromium. Though I am a firefox user so I didn't test whether these patches works or not. https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...
- teekert 5y agoThis is also behind heic? Right? Man what a pain, I love hdr and Live Photos but anywhere outside the Apple ecosystem it is pain. I really wouldn’t mind paying some dollars for some codecs to just be able to see my pics in Windows, Linux, Nextcloud etc.
- projektfu 5y agoWindows 11 appears to read HEIC in the photos app.
- freeone3000 5y agoWith the required codec from the store, yes.
- projektfu 5y agoHmm, I didn't do that. Maybe support gets installed by the iCloud Drive client?
- floatboth 5y ago> Windows https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg/ https://www.microsoft.com/en-us/p/heif-image-extensions/9pmm... + https://www.microsoft.com/en-us/p/hevc-video-extensions/9nmzlz57r3t7 https://www.microsoft.com/en-us/p/hevc-video-extensions/9nmz... > Linux https://github.com/strukturag/libheif https://github.com/strukturag/libheif (includes gdk-pixbuf loader and nautilus thumbnailer)
- dopa42365 5y agoNew Edge supports it, if you have the h265 extension from the microsoft store (cmd "start ms-windows-store://pdp/?ProductId=9n4wgh0z6vhq"). It's also the only (?) browser that supports AC-3 audio. Thanks for nothing, Dolby. There's barely any content though (possibly premium VODs on Netflix etc). Bilibili (kinda like Chinese youtube) offers HEVC (and AV1) playback, if your browser supports it. Example: https://www.bilibili.com/video/BV1Q44y1372Q https://www.bilibili.com/video/BV1Q44y1372Q In general it's kind of a moot point by now, just go with AV1.
- Sunspark 5y agoIt's odd that the browser supports AC-3 but the MS video player does not unless you pay for the codec, while all the other video players include it. Going with AV1 is not an option for the vast majority of people as it requires hardware support. If you try using AV1 on a computer that didn't come with a hardware decoder for it, your machine will crawl. I force h264 in YouTube for this reason instead of using VP9.
- dopa42365 5y agoYou can easily watch 4k AV1 videos on any recent 6+ cores CPU. So, not an issue unless you're using hardware from 2015 or so? In which case you're unlikely watching a ton of 4k+ content anyway.
- Sunspark 4y agoI'm still using a Broadwell CPU. 2 cores. It works perfectly fine. I don't use the computer for gaming and do try whenever possible to do so to use h.264 which is fully hardware accelerated. The machine does not feel slow to me. I have a fast SSD in it and lots of RAM so it is actually quite responsive. It just can't handle certain things like AV1.
- cesarb 5y ago> If you try using AV1 on a computer that didn't come with a hardware decoder for it, your machine will crawl. My computer doesn't have a hardware decoder for AV1 (as shown by "vainfo"), yet AV1 videos play perfectly fine on it, both within the browser (including on Youtube) and outside it. Playing the AV1 demo (https://demo.bitmovin.com/public/firefox/av1/ https://demo.bitmovin.com/public/firefox/av1/) on the browser at its maximum resolution uses only around half of the CPU.
- gjsman-1000 5y agoHEVC has a long and complicated history. With H.264, it was easy - one patent pool. Any questions? Contact MPEG LA. How much did it cost? About $2 or so per device, no problem. Did you spend more than (IIRC) $14 million on licensing each year? It's free past that point. As for open-source software like Firefox, Cisco actually struck a deal to pay all the royalties if you used their OpenH264 decoder (they needed H.264 to be widely supported for WebRTC), so Firefox and other software was able to use the binary of that and have Cisco covering the royalties for them. With H.265, everything splintered. There are three patent pools: MPEG LA, Access Advance (formerly known as HEVC Advance), and Velos Media. Between them, you have to pay royalties on the hardware, the software, and a royalty per-item created past a certain point. Some had royalty caps, others did not and would rack up royalties indefinitely and unpredictably high. Some patent pools had you licensing patents available in other pools, so you were paying twice for the same patents. And some major patent holders (such as Technicolor) weren't in any pools, so you needed to approach them manually and hash out a deal on your own which could have as favorable or unfavorable terms as they pleased. Also, Cisco (not surprisingly) said they weren't paying the royalties for an OpenH265, as it was only a ~30% improvement for a exponential increase in royalties, easily several times or more as much as H264. Bloody hell. So, it shouldn't be a surprise that Windows decided, screw it, you're paying $0.99 if you want HEVC, but we're not supporting it with every Windows license because that could easily cost hundreds of millions of dollars because of the lack of caps. Apple used their sheer market power to get HEVC on all their devices mainly for HEIC (HEVC for images), which reduces storage space needed for photos and iCloud costs, and once you have it on every iPhone, adding macOS is cheap. Presumably this is because Apple struck a deal with the patent holders individually and didn't need to accept the ludicrous patent pool terms. Did I mention that Access Advance alone operates their patent pool at an absurd 40% margin for its directors? (Yes, 40% of Access Advance's pool royalty, which is already the highest of any pool by far, is pure profit for the pool itself rather than going to patent holders. It's asinine!) You might wonder why in the world H.265 licensing fell apart so badly. The answer is, well, streaming. H.264 got its first release in 2003, before YouTube or internet video was really a thing. HEVC was released in 2013 and patent holders were eager to extract rent from Netflix (distribution royalties), PC Makers (hardware royalties), Microsoft and Apple (software royalties), content producers (per-title royalties), basically everyone involved had a royalty somewhere because they thought HEVC was going to be the best thing ever for reducing streaming costs and people would pay for it. They didn't. The only real place H.265 lives on is in 4K Blu-ray... and Next-Gen TV / ATSC 3.0 which is going to allegedly hopefully replace ATSC 1.0 for OTA Antenna-based TV Transmissions someday. Though, unlike the first digital transition, it's not mandated by the FCC and it also requires licensing HEVC, Dolby AC-4, and a billion other standards so... maybe it will die of patent exhaustion.
- silicon2401 5y agoCan someone help me understand why my windows 10 laptop with the latest VLC can't run x265 video files, but my windows 10 desktop with the latest VLC can? My desktop definitely runs circles around my laptop, but I'm not very well versed on video tech, so I haven't been able to figure out what the issue is on my laptop.
- scrlk 5y agoWhat CPU and GPU do you have in each machine? Low powered laptops without HEVC hardware decoding will probably struggle.
- paulmd 5y agoFYI (not just you but generally): one tool that is very useful in this situation is called "DXVA Checker", it checks the DirectX video acceleration modules that are available for the current hardware/driver and then you can compare that against the file ("codec information" in VLC) and see what's going on. I would hazard a guess that your laptop probably doesn't have a hardware H265, or that the H265 file you're using doesn't match up to the decoder module (eg 8 vs 10 bit, or color space, etc). It is then falling back to software-decode or hybrid mode, and then it doesn't have enough oomph to do the file. https://bluesky-soft.com/en/DXVAChecker.html https://bluesky-soft.com/en/DXVAChecker.html
- silicon2401 5y agoThanks very much. I wouldn't be surprised if it's a hardware shortcoming; my laptop is from 2015/2016, I just never really notice because I only use it for the most barebones needs (I hate using laptops). You're probably right, so I'll check out that tool and see what I learn. thanks!
- windowsrookie 5y agoBecause the GPU in your laptop does not support x265 hardware acceleration. You need and intel 7th gen or newer for 10bit h.265. 6th gen only supports 8bit. AMD APU's started getting h.265 support around the same time.
- 5y ago
- rowanG077 5y agoYou are completely right. I have never gotten HW accel to work in ANY browser. It's honestly baffling that hobby project level video player get this to work without a hitch but Google and Mozilla can't. Even of decades.
- heavyset_go 5y agoH.265 works for me in Firefox using hardware acceleration via VA-API.
- akersten 5y agoBecause the US endorses the concept of "essential patents," meaning you need to pay a licensing fee to be lawfully allowed to perform the math that transforms data into A/V content. Never to mention the two blatant issues with this, being: 1) video codecs are the exemplary "we'll patent math and there's nothing you can do about it" scam, since that's literally all a video codec is 2) a process being "essential" to a particular outcome (i.e. no other way to do it) was the main motivation mathematics was explicitly excluded from patentability in the first place, so the idea of "essential patents" just underlines the absurdity of the entire system Anyways, yearly reminder that software patents are a blight to innovation and a scourge on our industry, and no you won't change my mind.
- cmrdporcupine 5y agoI mean, is a video codec really just "math"? There's a binary payload description and algorithms involved for applying said math as well. I'm no expert in the field, so I'm actually asking in good faith here...
- akersten 5y agoEverything you can instruct a computer to do is just math, yes. "Instructions on how to use the math" is, unsurprisingly, also more math. https://en.m.wikipedia.org/wiki/Lambda_calculus https://en.m.wikipedia.org/wiki/Lambda_calculus
- cmrdporcupine 5y agoI am well aware of the foundations of CS and the lambda calculus, but this is more than a bit reductionist, like saying "everything is made of subatomic particles." Patents on processes and methods are pretty common. Dismissing it as "they just patented some math" and then falling back to saying "oh, lambda calculus" -- I think you can do better :-) But, yes, I'm sure the patents suck.
- akersten 5y ago
- NelsonMinar 5y agoFWIW the pirate scene supports it; a lot of video release are H.265 (marked "x265" usually). H.264 is still more popular in general, particularly for TV. There's still no AV1.
- marcodiego 5y agoAV1.
- karmakaze 5y agoAnother question is why don't browsers support MKV container format? From an arbitrary search "The Matroska project is supported by a non-profit organization and is a fork of the Multimedia Container Format. It was first announced to the public at the end of 2002 and is a completely royalty-free open standard that's free for both private and commercial use."
- nabakin 5y agoI guess because adding full support would be a pain and the average consumer doesn't use it anyway
- astrange 5y agoThey do; WebM is MKV. General MKV support is approximately impossible because the subtitle format is extremely complicated and not specified. libass only implements it by being bug-compatible to an old piece of Windows software. Also, MKV isn't a great file format; the way it does timestamps is all wrong for instance. It stores them as decimals when they're naturally rational fractions, so it's a strange choice for an archival format since it literally cannot be accurate.
- karmakaze 5y agoInteresting about the relation between WebM and MKV found in google search: "Many Web browsers support WebM, which is a restricted version of MKV. The most important restriction is in the allowed video codecs. WebM video uses only the VP8 and VP9 codecs, which are open and royalty-free. All WebM files are MKV files, but not all MKV files are consistent with WebM" So the question comes back to supported codec moreso than container format.
- mmis1000 5y agoMKV can literally contains anything includes but not limited to text based effected subtitle, image based subtitle, multi alternative audio channel, chapter separated video and even font. And the used codec also isn't even limited. H265 10bit + flac 96khz? Fine. You can pack it as long as you want. And it's your own problem to play it. And that is basically why you see youtube-dl merges best audio + best video into MKV. Because it is the one only format that allow you to merge something like vp9+opus into playable single file. It is basically a 'one format rule them all' format. The browser is unlikely to actually properly implement all of them. (In fact, there are only a few players actually implement all of them outside of players on windows) And even browser does want to implement everything, there isn't proper API for browser to expose these capabilities to the DOM and JavaScript to properly control them. (I think we are unlikely to see browser support native multi audio track video)
- SemanticStrengh 5y agoBecause people prefer to destroy ecology and user experience than pay one symbolic dollar for a lifetime license
- _carbyau_ 5y agoThat symbolic dollar causes so much overhead though. Who tracks who has bought or not bought it? Should users/software devs/hardware makers pay? For potentially billions of users/software copies/devices across many national jurisdictions. I click the x265 video link. And now the browser/OS/hardware have to do a dance to determine if I am allowed to watch the video or not. Or because that is a big hassle, don't bother. Use x264 until AV1 is supported.
- hedora 5y agoAre windows codec packs still a thing? That worked fine back in the day. They're welcome to talk to me about licensing their $1 patent for personal use after they track me down (though, chances are, I already accidentally own a license to it anyway.)
- SemanticStrengh 5y agoI've seen bigger dances.. https://apps.microsoft.com/store/detail/extensions-vid%C3%A9o-hevc/9NMZLZ57R3T7 https://apps.microsoft.com/store/detail/extensions-vid%C3%A9...
- _carbyau_ 5y agoHa! That doesn't apply to Mac, Linux, iOS, Android. Which the browsers support and consist of far more devices. Relying on every user to honorably-do-the-right-thing AND every OS/browser/video software to coordinate to make it happen is foolish. Nice in an ideal world, doesn't work in practice. Don't get me wrong. I am all for the maker of the codec getting some monetary reward for their clever work. But this is a dumb way to do it.
- 4y ago
- scottlamb 5y agoThe frustrating thing IMHO is that IP security cameras support H.264 and H.265, while browsers support H.264 and VP9/AV1. It's good that they have one codec in common, but I'd prefer they share a modern one. I think much of it is geopolitical. Browser vendors are mostly in the West, can't just ignore the patents, and don't want to pay for the patents. Camera and chipset makers are mostly in China and simply ignore patents and licensing. (They don't honor LGPL/GPL conditions either.)
- ac29 5y agoGive it time. HEVC hardware support was available before AV1 hardware support. I think thats the only reason - realtime encoding of these modern codecs necessitates hardware support on a device like a security camera.
- hedora 5y agoHow much time? The codec licensing shitshow was already going strong before web browsers were a thing.
- ksec 5y ago>Browser vendors are mostly in the West, can't just ignore the patents, and don't want to pay for the patents. Google already pay for it via their hardware business.
- pornel 5y agoAnother thing to consider is that whenever a format works in "all" browsers (for some small values of "all" that devs care to test in), it becomes a de-facto part of the Web platform, and browsers end up having to support it forever. This makes browser vendors very cautious about adding anything, because even if it's easy now, it's may haunt them later. Maybe they could use HW accell on current-gen GPUs, but what if the next-gen GPUs move to a newer codec and drop H.265? Browsers will still be expected to play existing web content encoded in the old codec, but now with a patent liability and no hardware to subsidize it.
- sally1620 5y agoOne of the main advantages would be hardware accelerated encode/decode, but because every manufacturer supports it differently most software refuses to use it. And once you go to software encoding, why not use a more efficient and open codec.
- navjack27 5y agoEh it's fine. All my local videos get transcoded to X265
- ksec 5y agoI wonder if there is a term similar to Rust Evangelism Strike Force for AOM. But generally speaking AOM supporter refuse to accept anything but AOM. This isn't just the case with patented video codec like HEVC or VVC. But even something like JPEG-XL. I would not be surprised if whole team of Google engineers threaten to quit if the company were to support HEVC in their browser. One could also argue, in the context of Internet video, [1] HEVC doesn't actually provide that much cost saving. The cost of bandwidth have reduced by 90%+ in the past 10 years. And we should see continue cost reduction in the next 10 years. While the cost of storage is extremely slow if not risen due to the usage of NAND. Hence there isn't really a need to switch. H.264 is still the most efficient video codec in terms of complexity / compression. ( May be MPEG-5 EVC is better in this scenario, but it is still very new ) [1] Video codec has lot of usage outside of internet, HN and internet/Tech comments tends to have a world view where everything is internet and ignore broadcast or other media usage.
- zhusidayoyo 4y agoWe have finish the development of chromium hevc hardware decoding support on macOS/Windows this month, not sure when will this feature be embedded into chrome, but you can atleast try this link to download the prebuilt version: https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding/releases https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...
- fucksamsung 5y agofirst thing that comes to mind for me is AV1 nobody wants to pay the absurd price for teh licensing and royalties for things like codecs
- fucksamsung 5y agonot to mention they're talking about like h266 now https://en.wikipedia.org/wiki/Versatile_Video_Coding https://en.wikipedia.org/wiki/Versatile_Video_Coding