this post was submitted on 12 Jul 2023
3 points (100.0% liked)

Linux

47237 readers
3343 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.)

all 10 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 year ago (1 children)

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

[–] [email protected] 1 points 1 year ago

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

[–] [email protected] 1 points 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.

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 0 points 1 year ago (1 children)

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.

[–] [email protected] 0 points 1 year ago (1 children)

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?

[–] [email protected] 0 points 1 year ago (1 children)

Yup, edited my post. Thanks. :)

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 1 points 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. :)