I’m well aware that I can rip most Blu-rays with MakeMKV and then convert to mp4 with Handbrake; however, the former just rips everything raw from the disk so the file size is humongous and the conversion via Handbrake for just a single file is terribly long and puts a lot of strain on my computer.

I’ve heard that EaseFab LosslessCopy is decent, but they only have a Windows and a Mac version, and I’m unsure how well it’d run under Wine.

I am willing to pay for it, but only as long as it’s not a subscription thing. Has to be a one-time payment.

Does anyone know any decent Blu-ray ripping software that fits these conditions and run well on Linux? Specifically, it would be either Pop!_OS or Linux Mint. (I’m still using Windows because I want to figure out some software alternatives before I do so I’m not caught with my pants down, so to speak.)

  • Kata1yst@kbin.social
    link
    fedilink
    arrow-up
    95
    arrow-down
    1
    ·
    edit-2
    1 year ago

    You can link the makeMKV libs to handbrake so it’s a one step process disk -> compressed form.

    #!/bin/bash
    
    # Intention: replace aacs decoding with makemkv's superior libmmbd programatically
    
    # elevate privilages to sudo
    [ "$UID" -eq 0 ] || exec sudo bash "$0" "$@"
    
    # test if libmmbd is installed already, exit otherwise
    libmmbdpath=$(find /usr -name libmmbd.so.0)
    echo "libmmbd path is $libmmbdpath"
    if [[ ! $libmmbdpath == *"/lib/"* ]]; then
        echo "libmmbd not found, please install makemkv first"
        exit 0
    fi
    
    # test if libaacs is installed already, set desired path otherwise
    libaacspath=$(find /usr -name libaacs.so.0)
    echo "libaacs path is $libaacspath"
    if [[ ! $libaacspath == *"/lib/"* ]]; then
        libaacspath="/usr/lib/libaacs.so.0"
    else
        echo "libaacs found, you must uninstall libaacs"
        exit 0
    fi
    
    # test if libbdplus is installed already, set desired path otherwise
    libbdpluspath=$(find /usr -name libbdplus.so.0)
    echo "libbdplus path is $libbdpluspath"
    if [[ ! $libbdpluspath == *"/lib/"* ]]; then
        libbdpluspath="/usr/lib/libbdplus.so.0"
    else
        echo "libbdplus found, you must uninstall libbdplus"
        exit 0
    fi
    
    # if we made it here, it's time to take action
    
    # softlink mmbd to aacs
    ln -s $libmmbdpath $libaacspath
    
    # softlink mmbd to bdplus
    ln -s $libmmbdpath $libbdpluspath
    
    echo "successfully set up libmmbd as the system decrypter"
    exit 0
    
    
    • wallmenis@lemmy.one
      link
      fedilink
      arrow-up
      30
      arrow-down
      1
      ·
      1 year ago

      Bro answers with a complete bash script just for this dude’s conveniance! Hats off to you sir!

      • entropicdrift@lemmy.sdf.org
        link
        fedilink
        arrow-up
        9
        arrow-down
        1
        ·
        1 year ago

        You copy that whole thing into a terminal after you have both makeMKV and Handbrake installed, then press enter

        • IsoKiero@sopuli.xyz
          link
          fedilink
          suomi
          arrow-up
          10
          ·
          1 year ago

          While in this case it is the solution (and Kata1yst really seems to know what they’re talking about), I feel like there’s a need to remind people every now and then to be careful with shell scripts. There’s loads of instructions on the internet where they suggest just to pull random script from the internet and pass it trough as is to run with root privileges. When you do something like ‘curl https://stackoverflow…|bash -’ it’s quite literally the same than letting a random guy from the street to your computer and let them do whatever they want with it.

          • entropicdrift@lemmy.sdf.org
            link
            fedilink
            suomi
            arrow-up
            4
            ·
            1 year ago

            Yeah, that’s totally fair. My prior comment was about that exact script, which you and I can both see isn’t malicious, but OP can’t since they don’t know how to read it yet.

            It’s good to point this out. No matter how often reminders are written people still will go and download and run random programs without vetting them. Frankly, I blame how software is distributed for Windows for this general acceptance of blind faith in other peoples’ code without a trusted third party like e.g. the Debian maintainers validating that it works as intended.

    • pensivepangolin@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Oh my god I can’t even tell you how much I love you for posting this!

      This is a question I had oh….a decade, I think?….ago and gave up on! Glad there are people smarter than I am out there!

  • Octagon9561@lemmy.ml
    link
    fedilink
    arrow-up
    19
    ·
    1 year ago

    Well, if the file sizes are too big you need to reencode them. That’s just how it is, regardless of the software you’re using. If your computer is too slow at that, you may want to use faster settings. For example, you could use a codec that’s hardware accelerated by your GPU.

    • EveryMuffinIsNowEncrypted@lemmy.blahaj.zoneOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I understand that. That’s what I was talking about with Handbrake. Problem is, when a single 23 min video file is 5 GiB in size, having Handbrake re-encode that just takes too long.

      (I tried doing it and the estimated time remaining around start was something like 3 days worth of having my computer run 12 hours a day without stopping. I want to make the file sizes smaller, not burn out my computer components. Lol.)

      • Octagon9561@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Handbrake’s speed depends entirely on your settings. For example, in the video tab next to video encoder you can select codecs like H.264, H.265 or AV1. The newer the codec, the more efficient and space saving your result will be but also the more time it will take. You may or may not also see the same codec twice but with NVENC or some other hardware feature next to it. Those will be significantly faster. If you have a choice between multiple hardware acceleration options, I’d recommend picking Nvidia > Intel > AMD for the best results. If none appear, you could buy a newer graphics card that support those features if budget allows. Other than that, something else that also significant affects how fast Handbrake will be is the preset option in encoder option (also in the video tab). You can select everything from placebo to slow to fast to ultrafast. The slower the higher the quality but also the slower it will be. Faster presets will be faster but will offer lower quality.

      • NoDignity@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Depending on your hardware you should be able to have Handbrake use your GPU to reencode the video much faster than your CPU. If you have Nvidia it would be Nvenc, Intel is Quicksync, and AMD is VCE. If you select one of those as your codec it should go much faster. Check the hardware encoders section on the Handbrake documents https://handbrake.fr/docs/en/1.4.0/technical/video-nvenc.html . Even if you were using windows you would run into the same problem at some point you are limited by how fast your hardware can process the video and no software can make up for that.

      • cmnybo@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        What settings are you using and what CPU?

        I used to transcode blu-ray movies with handbrake in H.264 using an i7-950 and it only took a few hours for a 2 hour movie.
        Try using the x.264 encoder in handbrake set to constant quality mode. Set the CRF to around 20-22 and use the fast preset.
        The slower presets significantly increase the encode time with only a small decrease in file size.

        • Octagon9561@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Keep in mind that the RF values will be completely different if you use other encoders like H.265 or even H.264 with a hardware acceleration encoder. For 1080p, 20-22 is indeed appropriate but lower res like 480p will require a lower RF like 16-18 for the same quality. Meanwhile 4K will be fine with 24. Again, assuming you use the x264 encoder which is not hardware accelerated. For best results, I’d really recommend playing around with the settings and see what works best for you.

  • EveryMuffinIsNowEncrypted@lemmy.blahaj.zoneOP
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Edit 1: A number of people have said that knowing my Handbrake encoding settings and my hardware specifications. So, here they are:

    Handbrake encoding settings:

    Hardware specs:

    • CPU: Intel Core i7 10700K @ 3.80 GHz
    • RAM: 32 GiB Dual-channel DDR4 @ 1066 MHz
    • GPU: Nvidia GeForce RTX 2060

    Edit 2: My goal is to add the TV shows / movies in my Blu-ray collection to my NAS server, for use with services such as Jellyfin, Emby, Plex, etc.

    • GnuLinuxDude@lemmy.ml
      link
      fedilink
      arrow-up
      11
      ·
      1 year ago

      There are multiple VERY inadvisable things you’re doing here. Darkcalling has good points, but in addition:

      You are using a CRF of 0, which will create an insanely huge result video size for no perceptual benefit. There is no reason to do this. You may as well just use makemkv to create mkv files directly and use those. The underlying video encoding is AVC in both cases, just placed into differing containers. This is kind of a misuse of Handbrake. You use handbrake to reencode videos either from one encoding to another, or for satisfactory file size reductions from source materials.

      You are also using an encode speed preset of placebo, which if you have ever done a comparison you will find offers basically exceedingly minimal file size reduction advantages over slow or very slow, but for a MUCH longer encode time.

      I recommend trying to encode samples of quality RF 20-24 and determine which looks best to you (if they end up looking very different). Lower numbers are higher picture quality. I recommend an encode speed of as slow as you can bear, but not slower than Very Slow. I recommend the Encoder Profile being set to High (from Main). Basically the spec for h264 has changed slightly and while Main is super compatible, High has some potential for file savings/quality improvements and is compatible with basically any player since… God knows when, maybe 15 years ago?

      One thing I don’t recommend is using nvenc, the gpu encoder, for non real time contexts. x264, the software renderer, will produce higher quality results. Higher quality means either the videos will look the same but the size will be smaller, or the sizes will be the same but the picture looks better.

      Also, even though you don’t have it set, I also do not recommend the Fast Decode checkbox. Maybe useful for a device from the year 2002, but at the cost of a noticeably larger file size.

      Finally, you should state what your actual goal is. Yes you are ripping your blu rays, but what are you trying to really achieve with this? Further advice can be dispensed with that info.

        • datendefekt@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          IIRC, you only need 2 pass if you need to fit a size target. So you can safely deactivate both options.

        • GnuLinuxDude@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          2-pass and turbo first pass is only valid if you use average bit rate, but you should just stick with the constant rate factor. CRF will actually use a higher bitrate in more complex scenes, anyway.

          Some additional thoughts: Since you are encoding animation you can try to change the Encoder Tune option to Animation. It will increase the amount of deblocking (smooths out blocks that become visually apparent at low bit rates) which works well in animation where there are lots of flat colors.

          You could change the output container from MKV to mp4. This will increase compatibility for playback and will have no effect on the result, because mp4 is designed to contain AVC video and AAC audio, and I think even a subtitle, too. HOWEVER I do not think mp4 can support DTS audio. In your current audio settings your audio streams are being converted to 160kbps AAC, which is decent. If you do switch to mp4 you can check the “web optimized” option, too, if your plan is to internet stream these videos. It just moves some metadata to the start of the file so your browser can play back immediately without having to download all the contents. There really isn’t any downside that I am aware of for choosing this setting. I am also not sure if it makes any difference in a Jellyfin/Plex setup to have those checked.

          You don’t have to worry about the subtitle being burned in because in the settings in your screen shot that will only burn in “foreign” subs – seems like English is the only match and English won’t be burned in. For peace of mind you can remove the foreign audio scan anyway.

          On both the audio and subtitle screens there’s a button which says “Selection Behavior.” You can click it and change what languages handbrake will automatically include when you load files for encoding. It’s very useful to do that instead of selecting/deselecting each time you load something to encode. You can consider only choosing English if that’s your desired language.

          • 2-pass and turbo first pass is only valid if you use average bit rate, but you should just stick with the constant rate factor. CRF will actually use a higher bitrate in more complex scenes, anyway.

            I always set the output framerate as “Same as source”, and when I do that the only options change from CBR & this other one I can’t remember to CBR & VBR. When it does this, it defaults to VBR. Should I change it to CBR instead?

            Some additional thoughts: Since you are encoding animation you can try to change the Encoder Tune option to Animation. It will increase the amount of deblocking (smooths out blocks that become visually apparent at low bit rates) which works well in animation where there are lots of flat colors.

            I will try this! Thank you!

            You could change the output container from MKV to mp4 …

            I would prefer to keep it in mkv format, mainly for consistency’s sake, but also because

            • as far as I know MKVs tend to have smaller file sizes typically than MP4s for the same media
            • I’ve read that mkv is more tuned for backups of TV shows & movies, and mp4 is more tuned for backups of web content (due to the streaming thing you mentioned)
            • mkv is both an open format and libre, unlike mp4 which is only the former
            • I’ve never had any issues with compatibility vs mp4
            • Aside from the content being encoded with lossy codecs, I mainly see my backups first and foremost in an archival light and streaming material as second. So as long as it works in the latter context, I’m satisfied even if it’s not perfect. (And, yes, I do realize I should have mentioned this before when I said what my goal is. Whoops.)

            I’m no expert, so please feel free to correct me if I’m wrong on any of this.

            You don’t have to worry about the subtitle being burned in because in the settings in your screen shot that will only burn in “foreign” subs – seems like English is the only match and English won’t be burned in. For peace of mind you can remove the foreign audio scan anyway.

            On both the audio and subtitle screens there’s a button which says “Selection Behavior.” You can click it and change what languages handbrake will automatically include when you load files for encoding. It’s very useful to do that instead of selecting/deselecting each time you load something to encode. You can consider only choosing English if that’s your desired language.

            Well I do have some non-English content in my library. Also, as I said: archiving first, streaming second. So I like to have all the languages available in the container file.

            • GnuLinuxDude@lemmy.ml
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              I always set the output framerate as “Same as source”, and when I do that the only options change from CBR & this other one I can’t remember to CBR & VBR. When it does this, it defaults to VBR. Should I change it to CBR instead?

              Do you mean Constant Framerate and Variable Framerate? Because CBR and VBR mean Constant/Variable Bitrate. Anyway, I always set my stuff to same as source as well, with a constant frame rate. I don’t think this really matters because the video you are feeding to Handbrake is itself probably constant framerate, and therefore the result ends up being constant frame rate even with the variable frame rate option.

              as far as I know MKVs tend to have smaller file sizes typically than MP4s for the same media

              This is not correct. MKV and MP4 are just container formats. The stuff that actually makes up the size is what goes into those containers (the video stream, audio stream, and to a much lesser extent the subtitle files, chapter markers, and any other metadata).

              I’ve read that mkv is more tuned for backups of TV shows & movies, and mp4 is more tuned for backups of web content (due to the streaming thing you mentioned)

              MKV is an unbounded container. You can pretty much stuff anything into it, which is why it’s used for archiving. MP4 technically isn’t limited to its normal expected codecs through some clever use of metadata, but it is basically unexpected and mostly unsupported. It’s certainly unconventional to use it like how you would use an MKV.

              mkv is both an open format and libre, unlike mp4 which is only the former

              This is true, but not realistically relevant. Mp4 is old. I don’t know if it still has patents but judging by the date it was defined I would have to believe most if not all of its patents are expired. Though I am just guessing at that. But even then, that’s not important because basically everything plays mp4s because its open format is implementable by anyone. Given everything you’ve said, though, I agree that MKV is probably the better format to use.

              I mainly see my backups first and foremost in an archival light

              Then you should not use Handbrake, unless you plan to keep two copies of your media. MakeMKV should remux the blu ray discs directly into MKVs (I’ve never used it to do blu rays, but I have used it with DVDs to do this job). If you do anything to your media with Handbrake, it’s not really an archive anymore, it’s just a good copy. For many people this tradeoff is worthwhile because if you encode it at high enough settings you won’t get any visual loss but you will get a much smaller and more easily manageable file. But I would only call it an archive if it’s untouched from the source. That’s what the term “remux” implies: Taking the original video/audio stream contents and putting them into a new container such as MKV.

              As an aside comment, I don’t understand how the term remux came into use, since a multiplexer selects a single signal among multiple…

              • EveryMuffinIsNowEncrypted@lemmy.blahaj.zoneOP
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 year ago

                Do you mean Constant Framerate and Variable Framerate?

                Sorry, what I meant is under the Video tab in Handbrake, there’s the Framerate (FPS) setting and below that are 2 bubble options. Due to the profile Handbrake starts up to (I haven’t gotten around to setting up my own preferred profile just yet), the framerate is set to “30”, and the two bubble options are “Constant Framerate” and “Peak Framerate”.

                However, when I change the framerate from “30” to “Same as source”, the two bubble options change to “Constant Framerate” and “Variable Framerate”.

                What I wanna know is if you know why that changes? And if so, what does it mean?

                This is not correct. MKV and MP4 are just container formats. The stuff that actually makes up the size is what goes into those containers (the video stream, audio stream, and to a much lesser extent the subtitle files, chapter markers, and any other metadata).

                facepalm Holy bicycles, I knew that. Seriously, I did. I don’t know what the fuck was going through my head to make me forget that. Lol. Sorry!

                Then you should not use Handbrake, unless you plan to keep two copies of your media. MakeMKV should remux the blu ray discs directly into MKVs (I’ve never used it to do blu rays, but I have used it with DVDs to do this job). If you do anything to your media with Handbrake, it’s not really an archive anymore, it’s just a good copy. For many people this tradeoff is worthwhile because if you encode it at high enough settings you won’t get any visual loss but you will get a much smaller and more easily manageable file. But I would only call it an archive if it’s untouched from the source. That’s what the term “remux” implies: Taking the original video/audio stream contents and putting them into a new container such as MKV.

                This is all true. I think rather “archiving” may have been a poor choice of word on my part, though it is partly accurate. I do think of this as an archive, but not so much that it needs to be an exact 1:1 ripping. As long as it is perceptually the same audibly & visually, it is largely good enough. I guess by “archive”, I mostly meant as a backup; I didn’t necessarily mean it as archival-level quality. Sorry about the confusion! That was on me!


                Edit: a word

                • GnuLinuxDude@lemmy.ml
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  1 year ago

                  Honestly I’m not sure about the frame rate part. Just my observation from my own encodes is that as long as you set the frame rate to same as source your result will have the same frame rate as the source, regardless of the radio options beneath it. I have never encountered a video with a variable frame rate, nor have I ever seen Handbrake produce one, regardless of setting choices.

    • darkcalling@lemmygrad.ml
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      1 year ago

      Decomb filter is set and will increase the effort needed. Unless the video is noticeably interlaced (line artifacts, not likely for most blurays) and you’re trying to fix that there’s no reason to run it. (Note however this is the least time intensive thing you’re doing, I just mention it for completeness, to be honest handbrake may have detection so it only runs while needed but I’ve always set it manually and only as needed)

      Besides that though you’re using software encoding which while better will take much longer. Try setting the encoding tune under video settings to something faster.

      Alternatively set your encoder to use NVENC version of the scheme you want (264) With NVENC encoding 30 minutes without anything else should take 7 minutes or so.

      One last thing. You seem to have it set to burn subtitles in. This generates a lot of extra work and is not advisable unless your hardware or software does not support soft-subs as a separate stream in for instance an mkv file. Most modern streaming devices will handle plain text and PGS image subtitles in my experience. Try instead to set the default and forced flags if you want subtitles to be on by default.

  • acedelgado@kbin.social
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    MakeMKV (at least in windows) lets you rip a remuxed mkv without having to rip everything. So you can just select the titles, audio, and subtitle tracks you want without ripping all the other stuff. You don’t need to make a full backup and then pull all that out.

  • exu@feditown.com
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Reencoding video will always put a lot of strain on your computer, regardless if it’s Handbrake or some other tool doing the conversion. With that said, it also depends a lot on the settings you use to transcode.

    Can you share what video settings you tried in Handbrake?

      • exu@feditown.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Ok, so two things stand out.
        First, you’re using placebo as your encoder preset. This is slow, stupidly slow.
        Searching for some comparisons between the different presets that show how slow it is was more difficult than expected, most people don’t even test this setting. Found one comparison here anyways luckily. The first graph (red line) shows how many fps/second were achieved on average. The fastest preset they tested, veryfast, is 68 times faster than placebo.
        For reasonable values I’d use medium or slow, which are still 20 times or 10 times faster with minuscule quality differences. Also see the FFMPEG FAQ on why placebo is stupid.

        Now for the second thing. I get why you put 0 as CRF, but that’s not a good idea. You’ll most likely have a bigger file in the end than what you started with.
        The bluray itself does not contain enough details to actually need such a low CRF. 17 or 18 is visually lossless, as in you won’t be able to tell the difference with your eyes. For my encodes I use 20 most of the time, as it still more than good enough. Reasonable values, if you want a smaller file size are up to ~28.

        TLDR: use slow with CRF 20 as a starting point.

        I hope some of this made sense to you and sorry if it comes over as too agressive.
        Still, hope this helps you get what you want.

        Edit: One more thing I thought about. You can use the hardware encoder in your GPU if you want. However, that will come with worse quality and bigger files than encoding on the CPU. Still something you might want to look at just to compare.

        • EveryMuffinIsNowEncrypted@lemmy.blahaj.zoneOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I…uh…feel like a dumbass now. I didn’t know a lot of this. When I first started using Handbrake, a lot of articles I read suggested to use Placebo / CRF 20 if I wanted no loss in quality. I also do this when I rip DVDs and the file sizes and everything have always been perfectly reasonable. Though I suppose maybe that was because DVDs are 480p max typically and those naturally have much smaller file sizes than Blu-rays hold.

          I just don’t want a loss in quality, that’s all. :(

          Also,

          TLDR: use slow with CRF 20 as a starting point.

          Thanks. You didn’t come across as agressive to me. :) I appreciate the information. I’m no noob as I’ve been ripping DVDs for years using Handbrake but I am very much a beginner when it comes to ripping Blu-rays, which seem to be a slightly different beast than the former, so I’m glad that everyone is so willing to share tips. :)

  • donut4ever@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I’ve ripped the entire 10 seasons of the show “friends” using makeMKV. Just make sure you give it a couple of trial and error runs so you can understand what you’re getting. Some blurays have many options that you may or may not need.