Page 1 of 1

Multi-core CPU support??

Posted: Thu Aug 28, 2014 2:18 am
by chefjeff1373
Finally decided to take the leap from DVD to Blu-Ray. (Just ordered Blu-Ray on Amazon today)
*Does MakeMkv support multi-core processors?
*Does this feature really make a big difference?
I've been using Handbrake for ripping DVD to hdd. It takes ~2.5hrs. for decent quality 1GB compressed MP4. I have been chalking this up to Handbrake not being multi-core processing capable. (I keep getting warning "handbrake using 100% of at least one core.")
I'm running a higher end HTPC with AMD 3.9GHZ 4 core / 16GB ram so I don't think the system is the culprit.

Thanks in advance for your time and patience.

Re: Multi-core CPU support??

Posted: Thu Aug 28, 2014 3:16 am
by Woodstock
MakeMKV can keep up whatever your system can read from the optical drive and write to the hard drive, without using 100% of a single CPU, so why would it need to use more than one?

One of my fastest systems for ripping is a Dell running at 2.2GHz, able to rip BDs at 10x speed.

Re: Multi-core CPU support??

Posted: Sun Aug 31, 2014 4:47 am
by etrask
I don't know if MakeMKV is threaded or not, but keep in mind that, unlike Handbrake, MakeMKV doesn't do any transcoding itself. It just takes the audio/video/subtitle/chapter data and muxes it into an MKV, which is not CPU intensive. I would assume the bottleneck on 99% of systems is the Blu-Ray drive speed.

Some conversion profiles will transcode tracks (converting DTS-HD MA audio to FLAC, or compressing subtitles with zlib, for example). This work isn't done by MakeMKV directly, it is done by ffmpeg. Some of that CAN be threaded:

Code: Select all

<outputSettings name="FLAC" outputFormat="FLAC">
    <description lang="eng">Compress Audio with FLAC</description>
    <extraArgs>-threads 4 -compression_level 12 -lpc_coeff_precision 15 -lpc_passes 4 -lpc_type 3</extraArgs>
</outputSettings>
See the "-threads 4" part. There may be other options for subtitle compression threading, I'm not sure.

This won't significantly increase the speed of your rip but you can do it if you'd like.

Re: Multi-core CPU support??

Posted: Mon Sep 01, 2014 6:32 pm
by mike admin
etrask wrote:Some conversion profiles will transcode tracks (converting DTS-HD MA audio to FLAC, or compressing subtitles with zlib, for example). This work isn't done by MakeMKV directly, it is done by ffmpeg. Some of that CAN be threaded
MakeMKV is heavily multi-threaded, so it should use all available CPUs if necessary. On the other hand the ffmpeg library that comes with MakeMKV is build without threads support, so -thread would do nothing. But each ffmpeg transcoding task is using a separate thread anyway.

Re: Multi-core CPU support??

Posted: Wed Sep 03, 2014 3:23 pm
by Romansh
In addition to MakeMKV having a threadless libavcodec, libavcodec only features threaded audio *decoding*, not encoding. Plus, as an FFmpeg developer just mentioned on IRC, decoded threading is automatically enabled, not controlled by -threads

Re: Multi-core CPU support??

Posted: Thu Sep 04, 2014 4:42 am
by etrask
Good to know... I had been using the "-threads" flag to set it to 1 anyway. Guess that was unnecessary! :P

Re: Multi-core CPU support??

Posted: Thu Sep 04, 2014 4:46 am
by etrask
Also, is the ffmpeg against which MakeMKV is linked singlethreaded in the Linux version? I mashed up the instructions here and here to get myself a nice install of ffmpeg that supported all the extraneous/non-free formats [and enabled YASM, not sure why the MakeMKV devs suggest disabling this].

Threads aren't going to make a blu-ray drive any faster, but it'd be nice for other encoding jobs...!

Re: Multi-core CPU support??

Posted: Sat Sep 06, 2014 12:13 am
by chefjeff1373
:) Thanks for all of the replies. I can see I've a lot to learn. It's cool to have a Guru squad available. Notice: "Guru" not the ill equipped "Geek" squad.

Re: Multi-core CPU support??

Posted: Thu Sep 11, 2014 12:29 pm
by Romansh
etrask wrote:Also, is the ffmpeg against which MakeMKV is linked singlethreaded in the Linux version? I mashed up the instructions here and here to get myself a nice install of ffmpeg that supported all the extraneous/non-free formats [and enabled YASM, not sure why the MakeMKV devs suggest disabling this].
Not sure why they're disabling YASM assembly either, would b nice to have some feedback?

That configure line does not appear to disable threads, no.