Nearing the filling of my 14.5TB hard drive and wanting to wait a bit longer before shelling out for a 60TB raid array, I’ve been trying to replace as many x264 releases in my collection with x265 releases of equivalent quality. While popular movies are usually available in x265, less popular ones and TV shows usually have fewer x265 options available, with low quality MeGusta encodes often being the only x265 option.

While x265 playback is more demanding than x264 playback, its compatibility is much closer to x264 than the new x266 codec. Is there a reason many release groups still opt for x264 over x265?

  • cmnybo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    125
    arrow-down
    1
    ·
    edit-2
    10 months ago

    A lot of TV shows are direct rips from streaming services and they don’t use H.265 because of the ridiculous licensing it comes with.

    I suspect AV1 will become much more popular for streaming in a few years when the hardware support becomes more common. It’s an open source codec, so licensing shouldn’t be an issue. Then we will see a lot more AV1 releases.

  • ChaoticNeutralCzech@feddit.de
    link
    fedilink
    English
    arrow-up
    62
    arrow-down
    2
    ·
    10 months ago

    x265 playback is more demanding than x264 playback

    By a factor of 2 with the same bitrate. But you only need half the bitrate for the same quality (SNR) so it really isn’t.

    However, encoding is about 10x more demanding in terms of bitrate, or 5x for the same quality. This may be worth it for long-term storage or wide distribution over limited bandwidth (torrenting), but not for one-time personal use.

      • Saik0@lemmy.saik0.com
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        1
        ·
        10 months ago

        Only if you’re disk limited or bandwidth limited. And in many cases will lead to transcoding the content, which could be a problem if you’re CPU limited or have no GPU for hardware transcoding.

        Everything (not literally… but figuratively) can do x264. Not everything can do x265…

        • iturnedintoanewt@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          10 months ago

          If your Jellyfin collection starts to grow big enough, and x264 transcoding on the fly is as easy as passing through the GPU these days…it’s pretty much a no brainer. You have small files, and if someone still needs x264 (which would need to be specifically a Firefox streamer, as I believe Chrome supports it, and the Jellyfin apps also support it if your computer/phone does), the transcoding on the fly can be done using about 1-2% of the server CPU. I did something like 12 simultaneous different transcodes once, and my oldish i5 9500T held its ground perfectly, I think it reached about 35% CPU at the peak of it.

          • Saik0@lemmy.saik0.com
            link
            fedilink
            English
            arrow-up
            2
            ·
            10 months ago

            9500T has quicksync. That’s why you’re transcodes were only 1-2% on the cpu. You were doing transcoding on the built in gpu.

            It is NOT trivial to do transcode without hardware decoding. How much utilization was on your 630 iGPU in that scenario?

            • iturnedintoanewt@lemm.ee
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              10 months ago

              Well it’s a Jellyfin server. I bought a CPU that CAN transcode, for this specific purpose. Without hardware decoding, CPU usage scales quite quickly, but it could still hold 3-4 streams at 60fps I believe. At any rate, I bought this 2nd hand microPC with the specific purpose of being a Proxmox server with Jellyfin transcoding. And so, between having to consider further hard drive upgrades, or using the transcode function…I kinda choose the cheapest one since it’s at hand.

              • Saik0@lemmy.saik0.com
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                10 months ago

                Congrats? I’m running my Plex server on enterprise hardware. There’s no onboard gpu for decoding because that’s not the purpose of that hardware. I do have a graphics card in there to do transcodes, and intimately monitor that usage. My original statement still holds. “which could be a problem if you’re CPU limited or have no GPU for hardware transcoding.”

                Transcoding may not be that accessible/useful for some people. I’d rather waste some drive space than do transcodes for every user, but that’s because I have 400TB(not a typo) of space but don’t have enough space to put in any card that takes up more than 1pci slot. In my mind throwing another 20TB drive into my configuration is easier and cheaper than transcoding. In a couple of years we’re going to be having this discussion for AV1 anyway.

                Edit: Oh, and 3-4 streams at 60fps, isn’t enough description… really doesn’t cover the most taxing part of the transcode process, which is resolution. 3-4 1080p streams is much easier than even 1-2 4k streams. Considering that content is trending towards higher resolutions rather than higher framerates, I’m not sure what you’re getting at. My T600 can do 3-4 4k streams before it starts running into problems. That should be something like 15-16 1080p streams. Considering my library, I’d still rather have the drives in a more accessible format that will direct play on more devices than transcode my 60-100mbps 4k videos. Keep the transcoding for those that really need it rather than making it the default answer.

      • JbIPS@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        10 months ago

        Did you do something specific to play x265 on JellyFin? Last time I tried, the video kept crashing every 5-8minutes, even with a low bitrate threshold.

            • WhyAUsername_1@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              There is an option to use an external player. So you could use VLC as an external player and use it. It would work better.

              • JbIPS@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 months ago

                I tried that, but the result is the same (and progress doesn’t seem to be saved). Maybe it’s specific to the Shield or to my files

        • iturnedintoanewt@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          Hmmm what do you mean the video kept crashing? Where is your server set up? What are you using for OS? Is it bare metal, is it running in a Windows, in a VM, in a container?

          In my case it’s running in a Proxmox LXC container (the container is running Ubuntu). I’m passing through the integrated GPU, as instructed in the Jellyfin docs. And then I enable Intel QSV transcoding on Jellyfin. The CPU consumption is close to negligible. Then again, you need an Intel CPU capable of x264 transcoding at decent rates. Anything after 8th gen should be able to do the trick (with this I mean, you can ALSO transcode whatever source to x265 on the fly, but that’s not a feature I’m actively using at the moment, as the resulting file is usually larger anyway). I’m using an i5 9500T, and I benchmarked something like 8 transcodes simultaneously to almost no impact. I think it was starting to be noticeable past 12 transcodes simultaneously. But that’s some heavy streaming there! That’d mean EVERYONE is connecting at once to your server using FF (I believe Chrome is x265 capable, and the apps also take x265 just fine if your phone/computer support it). So…in short, my i5 from a few generations ago is already overkill for x265

  • Shimitar@feddit.it
    link
    fedilink
    English
    arrow-up
    62
    arrow-down
    3
    ·
    10 months ago

    Go AV1… In my direct experience the space saving is simply amazing at the same quality.

    265 doesn’t seems to be the future since all Android are going to support AV1 by mandatory from A14.

    • shrugal@lemm.ee
      link
      fedilink
      English
      arrow-up
      33
      ·
      10 months ago

      I recently started transcoding my media to save some space, and I went with h265 instead. AV1 will be great in a few years, but the hardware support is just not there yet.

    • ryannathans@aussie.zone
      link
      fedilink
      English
      arrow-up
      20
      arrow-down
      1
      ·
      edit-2
      10 months ago

      Av1 would be great if everything supported playback, maybe soon. Tvs and chromecast with google tv 4k specifically. Somehow the 1080p one does

      • satan@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        13
        ·
        edit-2
        10 months ago

        Will still be at least 10 years away sadly for it to be truly ubiquitous… Remember I couldn’t play x265 properly for quite a while.

      • Shimitar@feddit.it
        link
        fedilink
        English
        arrow-up
        6
        ·
        10 months ago

        I got an amazon fire stick, all the new ones support av1 and all android devices from A14 must support av1 too.

        On PC vlc plays it just fine too.

    • Blackmist@feddit.uk
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      10 months ago

      It doesn’t play well on older kit though. Even the Nvidia Shield Pro won’t play them unless they’re really low resolution.

      265 is ideal for me, even if it’s hamstrung on open source browsers.

  • LainTrain@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    3
    ·
    10 months ago

    RARBG was so good for this, their releases were of such good consistent quality

    If you search for ORARBG on therarbg site you can still find some OG releases and not random YIFY crap

      • LainTrain@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        3
        ·
        edit-2
        10 months ago

        Didn’t even know that was a thing ngl and I use qbit nox on my server. Kinda obsoletes the *arr suite

        • Bigfoot@lemm.ee
          link
          fedilink
          English
          arrow-up
          8
          ·
          10 months ago

          Eh, the *arr apps are more about the freedom to be hands-off. Ideally you will just request something in a frontend like Overseerr from your phone and it will handle the rest. Or automatically grab upon release.

        • n3m37h@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          6
          ·
          10 months ago

          I only found out shortly after the closure of RARBG. Found this is the best way to find old RARBG torrents, just search for whatever then filter for RARBG or 265

        • jeanofthedead@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          4
          ·
          10 months ago

          Not if you have lots of specific filters set up in the *Arr suite. So much better getting a HQ rip automatically than choosing a random one in qbit.

  • Shimitar@feddit.it
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    3
    ·
    10 months ago

    Some notes: Don’t use GPU to reencode you will lose quality.

    Don’t worry for long encoding times, specially if the objective is long term storage.

    Power consumption might be significant. I run mine what the sun shine and my photovoltaic picks up the tab.

    And go AV1, open source and seems pretty committed to by the big players. Much more than h265.

      • Billegh@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        edit-2
        10 months ago

        I have some comments based on personal experiences with GPU av1 encoding: you will always end up with either larger or worse output with GPU encoding because currently all the encoders have a frame deadline. It will only try for so long to build frame data. This is excellent when you are transcoding live. You can ensure that you hit generation framerate goals that way. If you disable the frame deadline, it’s much much slower.

        Meanwhile CPU encoders don’t have this because CPU is almost never directly used in transcoding. And even with a frame deadline the output would still not be at the same speed as the GPU. However the CPU encoders will get frames as small as you ask for.

        So if you need a fast transcode of anything, GPU is your friend. If you’re looking for the smallest highest quality for archival, CPU reference encoders are what’s needed.

      • cuppaconcrete@aussie.zone
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        10 months ago

        Yeah that caught my eye too, seems odd. Most compression/encoding schemes benefit from a large dictionary but I don’t think it would be constrained by the sometimes lesser total RAM on a GPU than the main system - in most cases that would make the dictionary larger than the video file. I’m curious.

        • icedterminal@lemmy.world
          link
          fedilink
          English
          arrow-up
          23
          arrow-down
          2
          ·
          10 months ago

          It’s not odd at all. It’s well known this is actually the truth. Ask any video editor in the professional field. You can search the Internet yourself. Better yet, do a test run with ffmpeg, the software that does encoding and decoding. It’s available to download by anyone as it’s open source.

          Hardware accelerated processing is faster because it takes shortcuts. It’s handled by the dedicated hardware found in GPUs. By default, there are parameters out of your control that you cannot change allowing hardware accelerated video to be faster. These are defined at the firmware level of the GPU. This comes at the cost of quality and file size (larger) for faster processing and less power consumption. If quality is your concern, you never use a GPU. No matter which one you use (AMD AMF, Intel QSV or Nvidia NVENC/DEC/CUDA), you’re going to end up with a video that appears more blocky or grainy at the same bitrate. These are called “artifacts” and make videos look bad.

          Software processing uses the CPU entirely. You have granular control over the entire process. There are preset parameters programmed if you don’t define them, but every single one of them can be overridden. Because it’s inherently limited by the power of your CPU, it’s slower and consumes more power.

          I can go a lot more in depth but I’m choosing to stop here because this can comment can get absurdly long.

          • cuppaconcrete@aussie.zone
            link
            fedilink
            English
            arrow-up
            6
            arrow-down
            4
            ·
            10 months ago

            My understanding is that all of the codecs we are discussing are deterministic. If you have evidence to the contrary I’d love to see it.

            • RvTV95XBeo@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              11
              ·
              10 months ago

              GPU encoders like NVENC run their own algorithms that are optimized for graphics cards. The output it compatible with x265, but the encoder is not identical and there are far fewer options to tweak to optimize your video.

              The output is orders of magnitude faster but (in my experience) objectively worse, introducing lots of artifacts

            • Randomgal@lemmy.ca
              link
              fedilink
              English
              arrow-up
              6
              arrow-down
              2
              ·
              10 months ago

              This. It sounds really odd to me that the GPU would make what is pretty much math calculations somehow “different” from what the CPU would do.

              • entropicdrift@lemmy.sdf.org
                link
                fedilink
                English
                arrow-up
                11
                ·
                10 months ago

                GPU encoders basically all run at the equivalent of “fast” or “veryfast” CPU encoder settings.

                Most high quality, low size encodes are run at “slow” or “veryslow” or “placebo” CPU encoder settings, with a lot of the parameters that aren’t tunable on GPU encoders set to specific tunings depending on the content type.

              • conciselyverbose@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                6
                ·
                edit-2
                10 months ago

                So the GPU encoding isn’t using the GPU cores. It’s using separate fixed hardware. It supports way less operations than a CPU does. They’re not running the same code.

                But even if you did compare GPU cores to CPU cores, they’re not the same. GPUs also have a different set of operations from a CPU, because they’re designed for different things. GPUs have a bunch of “cores” bundled under one control unit. They all do the exact same operation at the same time, and have significantly less capability beyond that. Code that diverges a lot, especially if there’s not an easy way to restructure data so all 32 cores under a control unit* branch the same way, can pretty easily not benefit from that capability.

                As architectures get more complex, GPUs are adding things that there aren’t great analogues for in a CPU yet, and CPUs have more options to work with (smaller) sets of the same operation on multiple data points, but at the end of the day, the answer to your question is that they aren’t doing the same math, and because of the limitations of the kind of math GPUs are best at, no one is super incentivized to try to get a software solution that leverages GPU core acceleration.

                *last I checked, that’s what a warp on nvidia cards was. It could change if there’s a reason to.

        • db2@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          ·
          10 months ago

          The way it was explained to me once is that the asic in the gpu makes assumptions that are baked in to the chip. It made sense because they can’t reasonably “hardcode” for every possible variation of input the chip will get.

          The great thing though is if you’re transcoding you can use the gpu to do the decoding part which will work fine and free up more cpu for the encoding half.

      • Kissaki@feddit.de
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        10 months ago

        GPU encoding means it’s using the encoder the GPU and driver provides. Which can be worse than software encoders. For software encoders they exist for encoding. On a GPU it’s one feature of many, and doesn’t necessarily seek out the same high bar.

      • Shimitar@feddit.it
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        3
        ·
        10 months ago

        Not really, I don’t do GPU encoding anyway so can’t say first person.

        But everybody says so on all forums so maybe its true.

    • Zedstrian@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      10 months ago

      In order to encode to a specific format without unintentionally losing quality, doesn’t the initial file have to be a remux?

      • kamiheku@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        7
        ·
        10 months ago

        Yes, that’s right. But the point stands, you indeed shouldn’t do such encoding on the GPU, it’s a tradeoff of (fast) speed vs (poor) quality and (big) size. Good for when you need realtime encoding.

      • zeluko@kbin.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        10 months ago

        You can downsample from BluRay, which would give you least loss.
        But if you only have some good h264 version and want space savings, you can also reencode that, while probably loosing some small amount of quality, depending on your settings.

      • Shimitar@feddit.it
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        Indeed, but YMMV and to me quality is still good if source was not a remix but a top quality encoding

  • Gravitywell@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    28
    arrow-down
    1
    ·
    10 months ago

    MeGusta and Im pretty sure all other x265 groups aren’t really considered official scene releases and usually the sources are the larger x264 scene releases. I’ve found that you can get the same if not better results as MeGusta encoding with a simple -cq 27 with the nvenc_h265 encoder which is reasonably fast.

    A good portion of the world thats pirating media is playing it cheap junk with 10+ year old CPUs that can’t handle x265, most do not have terabytes of media they just watch and delete so overall size isnt a huge issue, most likely when a new codec does become more mainstream, it won’t actually mean smaller releases anyway, it will just mean better quality ones.

    In the 00’s the standard everyone used was 800mb DivX because thats the size CD-Rs came in, over time, going into the 2010s we got x264 releases but the targets were around 4-8gb usually and by that point the size of optical media didn’t really matter since flash drives are cheap and reusable and overall internet speeds for people continues to increase as well so its more likely that when the day comes, the scene will probably coalesce around something like 8-16gb per release.

    • iopq@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      10 months ago

      That’s why I grab the Chinese versions of stuff in the original language, they seem to not care about license and encode in h265 in the app

  • Bobby Turkalino@lemmy.yachts
    link
    fedilink
    English
    arrow-up
    18
    ·
    10 months ago

    I’d be interested to know how many of the streaming services natively offer x265. If it’s not many, then I could understand why release groups wouldn’t wanna re encode (e.g. it wouldn’t be a true WEB-DL anymore)

    • n3m37h@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      10 months ago

      Prob 0 % as h265 is like HDMI and needs to be licensed to be used. Sadly this has set up 265 to be a failure outside of piracy

      • entropicdrift@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        12
        ·
        edit-2
        10 months ago

        It’s used for the majority of HDR streams and all Dolby Vision streams. h265 is the only codec that supports DV

  • nintendiator@feddit.cl
    link
    fedilink
    English
    arrow-up
    15
    ·
    10 months ago

    There’s always the chance that compatibility / breadth can be a factor. I don’t know how much more demanding 265 is than 264 but if it is “noticeable” / “enough”, if it means someone can’t play the content in their (smart) TV set or on their phone, it makes sense then to release for the more compatible option / avoid a dual release.

    • blindsight@beehaw.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      10 months ago

      My old laptop can’t handle h265. I don’t think my old SmartTV can, either. We need h264 for those devices since they both have dedicated h264 decoding hardware.

      • nintendiator@feddit.cl
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 months ago

        Word! My daily driver phone is old enough that I think it can only handle like, h236 or something at most.

  • iopq@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    10 months ago

    I only download h265 because my drive is filling up as well. I can usually play it back easily in software, except for film grain that wrecks the performance

  • Nimmo@lem.nimmog.uk
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    10 months ago

    I’ve just recently started using tdarr to convert all of my media to x265on 14/02 and so far I’ve saved 4.02 TB of what was 28.12TB media collection. (The number isn’t a true reflection though because new episodes and shows have been added to that library since I started)

    I’m letting tdarr manage the conversion process and once up and running meant that my NAS, desktop, my NUC and a mini pc are all plodding through and converting when I’m not using them for other things.

    If you are worried about the disk space being taken and have some CPU time you can devote to the conversion process then I’d suggest it’s worth looking into tdarr.

    • Kir@feddit.it
      link
      fedilink
      English
      arrow-up
      3
      ·
      10 months ago

      I’ve always wanted to do that, but how do you handle seeding?

      • zeluko@kbin.social
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        10 months ago

        Just keep it seeding?
        Of course if you want both, best space saving would be to use the same file.
        I have multiple servers, so it doesnt really matter anyways, one machine downloads and seeds via its SSD and theother is just for storage on HDDs. Though i could setup tiered storage in this scenario to be able to seed more with same SSD strorage amount.

      • Nimmo@lem.nimmog.uk
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 months ago

        Ah, fair point. I don’t use torrents, my media comes from usenet, so that doesn’t need to factor into my thinking.

        My (overly?) Complex setup does allow me to resort to torrents as a last resort, but that happens on another machine outside my home network and gets synchronised into my home via a one-way syncthing share, so even on the rare occasion I have to resort to torrents I can leave it on that server seeding for a few weeks or months.

  • legios@aussie.zone
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 months ago

    I’ve done a bunch of transcoding of things to x265 in the past (as I’m sure everyone is aware transcoding isn’t GREAT but cuts down on storage costs). With that said I’ve now moved to AV1. I don’t use GPU encoders at all as I found the quality to be pretty terrible. I just use a custom written ZSH script to go through and check the current format (it also converts audio to OPUS too)

  • merthyr1831@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    10 months ago

    My raspberry pi doesnt transcode h265 very well at all. Much easier to expand the storage until I can upgrade to something better

      • merthyr1831@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        10 months ago

        Oh my apologies, my pi doesnt handle it well on plex. Didnt realise it at the time and sorta just went with what was easiest to set up before realising I’d need to pay to get transcoding 😔

        • Swarfega@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          10 months ago

          I stick to 264 for the same reason. I’m happy running Plex from my Pi4. Multiple streams are fine to devices around the home.

          Also streams fine on my phone when external.

      • cartoon meme dog@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        10 months ago

        at least on a 4, this command will misleadingly return “disabled” even though your programs are able to use hwdec, because the h.265 decoder isn’t part of the Pi 4’s GPU, it’s elsewhere.

        • cartoon meme dog@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          10 months ago

          nor decoding 264 :(

          a rather annoying regression from the 4 to the 5, especially when the 5 now supports more MIPI cameras where live encoding is crucial.