HandBrake, MakeMKV and libvdvdcss

hb-iconThis repository contains HandBrake with supporting programs MakeMKV and libdvdcss packages for Fedora distributions. None of these packages can be distributed inside the main Fedora repositories due to patent and licensing issues.

By the combination of these 3 packages any video title can be ripped or transcoded without problems.

This repository requires that the RPMFusion repository be enabled on your system if you’re on Fedora and that the EPEL one be enabled if you’re running CentOS/RHEL 6.

Package descriptions

HandBrake HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs.

MakeMKV is a one-click solution to convert video into free and patents-unencumbered format that can be played everywhere. It converts the video clips from proprietary (and usually encrypted) disc into a set of MKV files, preserving most information but not changing it in any way. Additionally MakeMKV can instantly stream decrypt video without intermediate conversion and can decrypt Blue Ray discs and protected DVD discs.

libdvdcss is a support library designed for accessing DVDs without having to bother about the decryption.

These packages try to comply as maximum to the Fedora Packaging Guidelines; which means they have debuginfo packages, default Fedora’s GCC compile time options (where possible) and standard locations for binaries, data and docs.

Additional libraries that are normally fetched during HandBrake compilation have been pre downloaded and are shipped in the source rpm. This to avoid unnatural behaviour when compiling packages with Fedora tools such as mock or Koji.

HandBrake is made of two separate packages; HandBrake-gui and HandBrake-cli. The former being the GTK main GUI interface, and the latter the command line program. MakeMKV contains both graphical and command line interfaces into one package.

Supported Fedora distributions for HandBrake, MakeMKV and libdvdcss:

  • Fedora 21 – i686/x86_64
  • Fedora 22 – i686/x86_64
  • Fedora 23 – i686/x86_64
  • CentOS/RHEL 6 – i686/x86_64

Fedora ships the latest HandBrake with the GTK 3 interface enabled, while CentOS/RHEL 6 version is at 0.9.8; as it is the last version available that still builds with GTK 2.20 as shipped in the distribution.

Bundled libraries

Historically, HandBrake has always linked statically the libraries required by the program. Since version 0.9.9 there’s the option to have them as external libraries and link them to the main executable. This does not mean thought that they can be used straight from Fedora repositories; some have restrictive licenses, some are forked and some do not contain the required patches for HandBrake.

All the libraries that can be linked are now linked from the main repositories, while the rest is left as bundled. Still left as bundled libraries inside the build due to versioning/patches are the following modules (libav is a fork of ffmpeg):

  • CentOS/RHEL 6: faac, mp4v2, ffmpeg, libbluray, libdca
  • Fedora 19: faac, fdk-aac, mp4v2, libav
  • Fedora 21+: fdk-aac, libav

The CentOS/RHEL 6 builds still bundle libbluray and ffmpeg, as the packages currently in EPEL 6 are too old. There’s an effort for updating libbluray to the same Fedora version, but the current RPMFusion maintainers don’t want to grant a buildroot override for MPlayer rebuilds, even if the MPlayer maintainer is willing to rebuild it.


To install the repository on a supported Fedora 22+ distribution, run as root the following command:

dnf config-manager --add-repo=http://negativo17.org/repos/fedora-handbrake.repo

To install the repository on CentOS/RHEL:

yum-config-manager --add-repo=http://negativo17.org/repos/epel-handbrake.repo

Then, to install the HandBrake packages (as an example both the graphical interface and the command line tool), perform the following commands:

yum -y install HandBrake-gui HandBrake-cli

For MakeMKV:

yum -y install makemkv

For libdvdcss:

yum -y install libdvdcss

Please note that the 64 bit MakeMKV tarballs contain a 32 bit binary. The binary is required by the main MakeMKV program (makemkvcon) for proper operation and comes only in binary format. This means that the 64 bit MakeMKV package will pull in the 32 bit mmtdsdec and associated glibc packages; which in a normal 64 bit desktop system should be already installed:

$ rpm -qvl makemkv mmdtsdec | grep bin
-rwxr-xr-x    1 root    root                 25229512 Sep 19 12:42 /usr/bin/makemkv
-rwxr-xr-x    1 root    root                  6545248 Sep 19 12:42 /usr/bin/makemkvcon
-rwxr-xr-x    1 root    root                    63428 Sep 19 12:42 /usr/bin/mmdtsdec
$ file /usr/bin/{makemkv,makemkvcon,mmdtsdec}
/usr/bin/makemkv:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=bf54cf759a9a9c7f820cfac177c3a4e2e7da2f86, stripped
/usr/bin/makemkvcon: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, stripped
/usr/bin/mmdtsdec:   ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, stripped
$ tar -tzf makemkv-bin-1.8.5.tar.gz | grep bin

Registering MakeMKV to avoid expiration

Please use the provided beta registration key published by the developers:


After starting MakeMKV just press the “Register” button and paste the provided code.


Playing protected Blu-Ray discs

Starting with version 1.8.5, MakeMKV comes with the libmmbd library. This library provides a simple API that any application can use to decrypt M2TS/SSIF files from a Blu-Ray disc. The library is licensed under the open-source LGPL license; although the way the library works, it launches a MakeMKV instance in background and communicates with MakeMKV in order to get decryption keys; so a working MakeMKV installation is required for the library to function. The libmmbd library is designed to be updated very infrequently – all the logic is inside MakeMKV (in makemkvcon), and libmmbd is just a proxy. The libmmbd source code is part of MakeMKV oss linux package.

Also, libmmbd emulates two popular open-source libraries, libaacs and libbdplus. What this means, that after a one-time setup, any application that uses libbluray/libaacs for decryption will be able to open a protected Blu-Ray disc, as long as MakeMKV is installed. Most notable application that uses libbluray is Videolan VLC player.

The libbluray library, starting from version 0.5.0 supports setting two environment variables to ease libmmbd loading, so the MakeMKV package already contains what’s required for the override (of course adjusted for 32/64 bit environments):

$ cat /etc/profile.d/makemkv.sh 
export LIBBDPLUS_PATH=/usr/lib64/libmmbd.so.0
export LIBAACS_PATH=/usr/lib64/libmmbd.so.0

This is equivalent to set an explicit library override in your library directory:

ln -sf libmmbd.so.0 libaacs.so.0
ln -sf libmmbd.so.0 libbdplus.so.0

For additional details see the original announcement and how to page on MakeMKV‘s forums.

To debug such a setup, you can use the variable MMBD_TRACE prepended to the command you want to run. For example, to decrypt and print information from a Blu-Ray disc:

MMBD_TRACE=1 bd_info /dev/sr0

Or to make sure MakeMKV is doing it’s part for VideoLan:



The address for contacting me is in the package’s changelog, otherwise leave a comment in the post, I’ll do my best to reply to everyone.

128 thoughts on “HandBrake, MakeMKV and libvdvdcss”

  1. Something is weird with the 64-bit makemkv package for Fedora 19. It pulls in the 32-bit version of glibc:

    $ sudo yum install makemkv
    Loaded plugins: langpacks, show-leaves
    Resolving Dependencies
    --> Running transaction check
    ---> Package makemkv.x86_64 0:1.8.5-1.fc19 will be installed
    --> Processing Dependency: librt.so.1(GLIBC_2.2) for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: librt.so.1 for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: libpthread.so.0(GLIBC_2.2) for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: libpthread.so.0(GLIBC_2.1) for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: libpthread.so.0 for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: libm.so.6(GLIBC_2.0) for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: libm.so.6 for package: makemkv-1.8.5-1.fc19.x86_64
    --> Running transaction check
    ---> Package glibc.i686 0:2.17-19.fc19 will be installed
    --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.17-19.fc19.i686
    --> Processing Dependency: libfreebl3.so for package: glibc-2.17-19.fc19.i686
    --> Running transaction check
    ---> Package nss-softokn-freebl.i686 0:3.15.2-2.fc19 will be installed
    --> Finished Dependency Resolution
    Dependencies Resolved
     Package                     Arch            Version                Repository                 Size
     makemkv                     x86_64          1.8.5-1.fc19           fedora-HandBrake          4.8 M
    Installing for dependencies:
     glibc                       i686            2.17-19.fc19           updates                   4.2 M
     nss-softokn-freebl          i686            3.15.2-2.fc19          updates                   176 k
    Transaction Summary
    Install  1 Package (+2 Dependent packages)
  2. Unfortunately that’s by design. Even the 64 bit package contains a 32 bit binary from the non-OSS part of MakeMKV:

    $ rpm -qvl makemkv | grep bin
    -rwxr-xr-x    1 root    root                 25229512 Sep 19 12:42 /usr/bin/makemkv
    -rwxr-xr-x    1 root    root                  6545248 Sep 19 12:42 /usr/bin/makemkvcon
    -rwxr-xr-x    1 root    root                    63428 Sep 19 12:42 /usr/bin/mmdtsdec
    $ file /usr/bin/{makemkv,makemkvcon,mmdtsdec}
    /usr/bin/makemkv:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x7392512f3a8c8f426fba2882e55f0f41f714f82b, stripped
    /usr/bin/makemkvcon: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped
    /usr/bin/mmdtsdec:   ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped
    $ tar -tzf makemkv-bin-1.8.5.tar.gz | grep bin

    I will make a note in the page.

    1. As you can see from their forum the update to 1.8.6 is severely limited, it requires ffmpeg 2.x which is only available in Fedora 20. There’s currently no way to make MakeMKV 1.8.6 work with FFMpeg 1.x.

      I’ve update the repository for Fedora 20 yesterday, until the issue is solved upstream you should just register MakeMKV with the current beta key that is provided directly by the software house:


    1. I think you should read the repository page. I would say more carefully, but apparently you did not read it at all.

      – You have installed the Fedora repository on CentOS and this will never work; you have to install the EPEL repository. Have you looked at the path? “Fedora 6″…
      – Even if you install the repository on CentOS there’s a clear statement that the HandBrake GUI is not available on CentOS/RHEL 6.x due to graphical libraries being too old; only the command line interface is available.
      – As described in the page, the GUI is available for all supported Fedora releases:


  3. I need some help, I have installed MakeMKV & Handbrake using repositories above following the instructions.
    When running MakeMKV on any Bluray disc I get the following error:

    MakeMKV v1.8.6 linux(x64-release) started
    Using direct disc access mode
    Evaluation version, 26 day(s) out of 30 remaining
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0D5C9837BD226116B946D9EA18B5B750187 to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0709C88BDAA671518E61B72D5D1634543AF to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0577967BE76973EF9641D4D0BF9B9B0698E to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0A93DCBDE2815D02756466F4B801507B131 to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..091F2FD58EAFBF602DFC09C03E8DCD9E864 to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED' occurred while issuing SCSI command AD010..080002400 to device 'SG:dev_11:0'
    Error 'Scsi error - ABORTED COMMAND:NO ADDITIONAL SENSE INFORMATION' occurred while issuing SCSI command AD010..080002400 to device 'SG:dev_11:0'

    I also have errors on VLC & Handbrake when trying to read any Bluray disc as well.
    I am running Fedora 20/Mate.
    MakeMKV/Handbrake & VLC all work 100% when using a normal DVD.
    Do you perhaps have any idea where to start looking for the problem?

    1. I’ve just discovered that I made a mistake in version 1.8.6 during packaging. The library links of MakeMKV when obsoleting libaacs should be like the following:

      lrwxrwxrwx. 1 root root     23 Nov 27 14:15 /usr/lib64/libaacs.so.0 -> /usr/lib64/libmmbd.so.0
      lrwxrwxrwx. 1 root root     23 Nov 27 14:15 /usr/lib64/libbdplus.so.0 -> /usr/lib64/libmmbd.so.0
      -rwxr-xr-x. 1 root root  26896 Nov 27 14:15 /usr/lib64/libdriveio.so.0
      -rwxr-xr-x. 1 root root 503136 Nov 27 14:15 /usr/lib64/libmakemkv.so.1
      -rwxr-xr-x. 1 root root  35056 Nov 27 14:15 /usr/lib64/libmmbd.so.0

      I’m pushing an update in a few moments. In the meanwhile upstream has created an updated 1.8.6 to fix FFMpeg issues; so I’ll be pushing 1.8.6 also on Fedora 18, 19 and 20. Can you please make a test with the following rpm in Fedora 20?


      1. I am getting the following error:

        [root@danie-laptop danie]# rpm -q makemkv
        [root@danie-laptop danie]# makemkv
        Qt: Session management error: None of the authentication protocols specified are supported
      2. Now both 1.8.5 and the current beta key no longer work (sounds like it may take a day or two for a new beta key to be posted). Any update on the 1.8.6 build for Fedora 19?

          1. Ah, thanks for the info. Well, they posted a new beta key that’s good through the end of January, so I’m back working on 1.8.5. Thanks for building and packaging this! Very handy.

  4. I have the libdvdcss2.x86_64 package from AtRPMs installed, per mjwired’s Personal Fedora Install Guide(s) at http://www.mjmwired.net/resources/ (I am on Fedora 20 release (beta?), he doesn’t have F20 guide up yet, but F19 with the right mods to commands works fine). The version in the AtRPMs repo is slightly later than you have, they have 1.2.13-7.fc20 vs your 1.2.13-2.fc20. However since their package is labelled ‘libdvdcss2’ and yours is ‘libdvdcss’ there is not a warning of conflict from yum until it tries to do the transaction test:

    Running transaction test
    Transaction check error:
    file /usr/lib64/libdvdcss.so.2.1.0 from install of libdvdcss-1.2.13-2.fc20.x86_64 conflicts with file from package libdvdcss2-1.2.13-7.fc20.x86_64

    Can you add in a satisfies requirement like an ‘or’ statement in a SPEC file? Maybe like this in Handbrake:

    Requires: libdvdcss >= 1.2.13 || libdvdcss2 >= 1.2.13

    I am not sure that would work, I have not had to do that before in my RPM builds. Or maybe you could do a provides in the libdvdcss package, since you appear to have the same codebase:

    Provides: libdvdcss libdvdcss2

    I am not sure this would work well either, it might just conflict with the other package in AtRPMs.

    1. I can add it, but to avoid disrupting other dependencies relationship I need to know if there are any dependencies on the libdvdcss2 package in ATrpms. Is it pulled in by any other package? For the moment, my suggestion is to remove the ATrpms’ package, I have put a dependency on libdvdcss inside HandBrake so it is able to read protected DVDs.

      1. Sorry for the late reply, life got in the way.

        I have uninstalled the libdvdcss2 from ATRPMs. I found that VLC was the main cause for it being installed, needed to play protected DVD content as you said. I installed the one from your repo, and VLC can use it to play the protected content. There is no specific dependency on the lib, if it is there VLC uses it. I suppose other system players use it too but I have not tested them.

        I now am installing Handbrake from the repo and notice the following (I uninstalled libdvdcss earlier in testing VLC):

         Package               Arch      Version           Repository           Size
         HandBrake-cli         x86_64    0.9.9-9.fc20      fedora-HandBrake    3.4 M
         HandBrake-gui         x86_64    0.9.9-9.fc20      fedora-HandBrake    3.9 M
         makemkv               x86_64    1.8.8-1.fc20      fedora-HandBrake    6.9 M
        Installing for dependencies:
         glibc                 i686      2.18-12.fc20      updates             4.2 M
         libdvdcss             x86_64    1.2.13-2.fc20     fedora-HandBrake     53 k
         libmkv                x86_64    fedora               26 k
         nss-softokn-freebl    i686      3.15.4-1.fc20     updates             183 k
        Transaction Summary
        Install  3 Packages (+4 Dependent packages)

        Why is a 32-bit GNU C Library needed? It appears in the dependencies that makemvk is calling for a lot of libs that state (GLIBC_2.0), …_2.1), and …_2.2). Not that I won’t install the 32-bit C libs, but it just seemed odd to me that a 64-bit labelled package would be calling a 32-bit LibC.

        1. Unfortunately the MakeMKV package contains a 32 bit binary (/usr/bin/mmdtsdec) that is required when extracting DTS audio, it is noted at the end of the installation section above. The current RPM packages do not allow to create subpackages with an i686 architecture, only a noarch package can be generated; so for now it’s bundled in the main package.

          I would need to disassemble the binary tarball, create two separate packages and create a dependency on the mmtdsdec.i686 package from the main MakeMKV package.

        1. Thanks for pointing this out, I’ve added a note to the MakeMKV page. I don’t have a Blue Ray drive to test (next in the list for Christmas) so I was not aware of this bug. I use it mainly to rip DVDs. The bug though, is not in MakeMKV but instead in the kernel, so this has nothing to do with MakeMKV; if the kernel package is fixed, the binaries here will work as expected.

          1. I have just tested it on my laptop and it is now working for me without any SCSI errors. Thanks a lot of fixing it. :)

  5. I have HandBrake-gui-0.9.9-7.fc19.i686, and the rpm is missing the post-install scripts to set up the icon cache, etc.:

    $ rpm -q --scripts HandBrake-gui
    (no output)
    1. Thanks for noticing, by mistake I’ve added the %post, %postun and %posttrans sections to the base package instead of the gui subpackage. Update coming!

  6. I updated to all the latest packages. I’m getting the SCSI error again. Anyone else notice this with the latest FC20 packages? Tried un-installing/re-installing makemkv but no luck.

    Happening on previously ok Blu-ray too.

  7. Hello

    and first of all a big, big thank you for your efforts to make the popular HandBrake available for Fedora-users in a very easy way. I’m using both, the cli- and the gui-version and HandBrake 0.9.9-9 was running fine on Fedora 20 (64bit). Updated yesterday to 0.9.9-10 and now I get a “segmentation fault” as soon as the encoding-process starts. The gui-version opens and load the video I want to encode, but when I hit the “start encoding”-button HandBrake crashes immediately.

    poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=17, events=POLLIN}, {fd=14, events=POLLIN}], 5, 0) = 2 ([{fd=4, revents=POLLIN}, {fd=14, revents=POLLIN}])
    read(4, “\2”, 16) = 8
    write(4, “\1”, 8) = 8
    write(16, “[10:52:08] * video track\n”, 26) = 26
    write(18, “[10:52:08] * video track\n”, 26) = 26
    +++ killed by SIGSEGV +++
    Speicherzugriffsfehler (= Segmentation fault in english)

    If you need any further informations, please let me know and thanks again!

    1. This seems related to the latest libdvdnav/libdvdread change, but the crash happens also on some non-dvd source files. I will push an update ASAP (currently away from computer/internet). Thanks for reporting.

      1. The crash happens from the CLI as well if I select the Normal preset.

        HandBrakeCLI –preset “Normal” -i /share/DVDs/SHREK_2_US_16X9/title02.mkv -o ./title02.mkv


        [11:51:45] + loose anamorphic
        [11:51:45] + storage dimensions: 720 * 460, mod 2
        [11:51:45] + pixel aspect ratio: 32 / 27
        [11:51:45] + display dimensions: 853 * 460
        [11:51:45] + encoder: H.264 (x264)
        [11:51:45] + x264 preset: veryfast
        [11:51:45] + h264 profile: main
        [11:51:45] + h264 level: 4.0
        [11:51:45] + quality: 20.00 (RF)
        [11:51:45] * audio track 1
        [11:51:45] + decoder: English (AC3) (5.1 ch) (track 1, id 0x1)
        [11:51:45] + bitrate: 448 kbps, samplerate: 48000 Hz
        [11:51:45] + mixdown: Dolby Pro Logic II
        [11:51:45] + encoder: AAC (faac)
        [11:51:45] + bitrate: 160 kbps, samplerate: 48000 Hz
        [11:51:45] reader: first SCR 7470 id 0x0 DTS -2970
        [11:51:45] encx264: min-keyint: 24, keyint: 240
        [11:51:45] encx264: encoding with stored aspect 32/27
        [11:51:45] encx264: Encoding at constant RF 20.000000
        x264 [warning]: –psnr used with psy on: results will be invalid!
        x264 [warning]: –tune psnr should be used if attempting to benchmark psnr!
        x264 [info]: using SAR=32/27
        Segmentation fault (core dumped)

        1. Fixed in version 0.9.9-11, now in the repository. It was not related to the libdvdnav/libdvdread changes. Please let me know of any other issues.

  8. The latest version of Handbrake from 3-14 is crashing here:

    0x0000003aeeb5cc15 in __memcmp_sse4_1 () from /lib64/libc.so.6
    (gdb) where
    #0 0x0000003aeeb5cc15 in __memcmp_sse4_1 () from /lib64/libc.so.6
    #1 0x00000000009d364e in x264_cqm_init ()
    #2 0x00000000009a0eb4 in x264_encoder_open_130 ()
    #3 0x000000000049f360 in encx264Init ()
    #4 0x00000000004989ef in work_func ()
    #5 0x00000000004a11ab in hb_thread_func ()
    #6 0x0000003aef207f33 in start_thread () from /lib64/libpthread.so.0
    #7 0x0000003aeeaf4ded in clone () from /lib64/libc.so.6

    1. Fixed in version 0.9.9-11, now in the repository. It was not related to the libdvdnav/libdvdread changes. Please let me know of any other issues.

  9. I had the same problem as jfc. After updating and rebooting, I got “Aborted (core dumped)” when scanning a DVD. I fixed the issue by going to Preferences and unchecking “Use dvdnav” in the Advanced tab. Video is encoding without a crash. I’m on an AMD FX6300 machine (just in case this has something to do with SSE4.

    1. Hello, I’ve updated the builds (currently uploading). They contain a libdvdnav that has been updated with an HandBrake patch that has been accepted upstream and will be contained in libdvdnav 5.0.0.

      It fixed the crash for me on my only DVD where I could reproduce it. There is a fairly recent Debian bug (still unresolved) that seems to indicate the bug itself is in libdvdnav and not in HandBrake support for the library:


  10. Thanks a bunch for maintaining the HandBrake package for Fedora users!

    I have Handbrake 0.9.9-12 on a Fedora 20 x86_64 system that I used with compiled MakeMKV (the latest version, forgot the number and typing this from my work computer). I have this particular blueray movie ripped in a folder that I am trying to encode with HandBrake with my default settings. The encode starts and continues up until 1.14%, stalls there and then crashes with segmentation fault. I tried running ghb -x from console, with essentially no useful additional information. I tried disabling libdvdnav from preferences, again with no change in behavior. On the other hand I can watch the movie without any problems up until 20% or so from the unencoded mkv file in the rip folder; therefore I don’t think the source mkv file is the problem. Do you have any suggestions or pointers for me?

    1. I am sorry to reply to my own post, but I downloaded the source code of HandBrake (6160 svn) today and compiled it. It does not crash anymore and does the job. Therefore, I think the current rpm package for Fedora 20 may be defective, probably not due to a packaging defect, but due to a problem in the code. This is a pure speculation on my part, since I am happy to admit that I don’t have a clue :). I just wanted to inform you all.


      1. I have had the same issue; my encode goes to 1% or so and crashes with a seg fault. It occurs on 5 different Blu-ray and DVD rips, so it looks like it is something in the 0.9.9-12 version and not a particular Blu-ray source. I am also on Fedora 20 x86_64 so it may be some interaction with Fedora 20 64 bit and the new build. I was also able to download the source code (6161 svn), compile it, and it works fine.

  11. Same issue on Fedora 20 with the latest version from your repo.

    Apr 27 09:25:25 pepwul81385 kernel: [ 1411.593461] ghb[2822]: segfault at 18 ip 00007f85bee83c5c sp 00007f858d7fd940 error 4 in libavcodec.so.55.39.101[7f85beabe000+6a1000]
    Apr 27 09:25:25 pepwul81385 kernel: ghb[2822]: segfault at 18 ip 00007f85bee83c5c sp 00007f858d7fd940 error 4 in libavcodec.so.55.39.101[7f85beabe000+6a1000]

    Does this when starting to process a blu-ray rip .mkv file.

    Please email me with additional info you need.


    1. Also experiencing the same 55.39.101 segfault due to libavcodec.so:

      [1522295.520438] ghb[16604]: segfault at 18 ip 00007f077f1c6c5c sp 00007f0742d59900 error 4 in libavcodec.so.55.39.101[7f077ee01000+6a1000]

      Thanks very much for maintaining this package!

  12. The latest version from 8-6 is dumping the following on startup:

    ghb: Symbol `vpx_codec_vp9_dx_algo’ has different size in shared object, consider re-linking
    ghb: Symbol `vpx_codec_vp8_cx_algo’ has different size in shared object, consider re-linking

    When selecting a file to convert it crashes

  13. I am on Fedora 20 x64 and HandBrake GUI (svn6304) not longer works properly using dvdnav. It worked in the recent past. I cannot pinpoint exactly when it began failing. If ‘Use dvdnav (instead of libdvdread’ is selected under Preferences -> Advanced tab, HandBrake reads the DVD, reaches the last title in the disk and then spontaneously closes. No error message is displayed before closure. If ‘Use dvdnav (instead of libdvdread’ is *not* selected then the faiure behavior does not present and HandBrake performs normally.

    1. I can’t reproduce it here, all the DVDs I have tried are scanned succesfully with libdvdnav version 5. One thing you could try (I doubt it will solve any issue) is to downgrade libdvdnav to the bundled Fedora 20 version; but I doubt it will solve any issue.

      HandBrake developers left the flag to use libdvdread for a reason. :)

  14. I am having the same issue as Hal. This is the issue I described in the repository thread.

    I wonder if recompiling libdvdnav from srpm would help?

  15. Anyone else having problems with sub-titles always being burn-in.

    * subtitle track 1, English (track 2, id 0x2) Picture [VOBSUB] -> Render/Burn-in

    Some update back around Aug, seems they’re no longer:

    * subtitle track 1, English (track 3, id 0x3) Picture [VOBSUB] -> Passthrough

    1. I see it in all repositories:

      $ find . -name "*makemkv*" | sort

      Which repository are you referring to?

  16. On Fedora 20, trying to install Handbrake, I get this:

    --> Finished Dependency Resolution
    Error: Package: HandBrake-cli-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
               Requires: libx264.so.138()(64bit)
    Error: Package: HandBrake-gui-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
               Requires: libx264.so.138()(64bit)
    Error: Package: HandBrake-cli-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
               Requires: libmp3lame.so.0()(64bit)
    Error: Package: HandBrake-gui-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
               Requires: libmp3lame.so.0()(64bit)

    I’m new to Fedora and haven’t been able to find mp3lame or x264, (a page on fedoraforums.org dates back to 2004/2005…), where can I download them? Thanks!

  17. I have installed Fedora 21. When I load makemkv into fedora 21 I get this message. /usr/bin/makemkvcon: error while loading shared libraries: libavcodec.so.55: cannot open shared object file: No such file or directory

    Could it be an idea to get an ffmeg-compat2 as workaround fro makekvm?

    1. Hello, makemkvcon is linked to ffmpeg 2.4:

      $ ldd /usr/bin/makemkvcon | grep av
      	libavcodec.so.56 => /lib64/libavcodec.so.56 (0x00000033ece00000)
      	libavutil.so.54 => /lib64/libavutil.so.54 (0x00000037b8600000)

      You should not have that error. this means you have the package for another distribution installed. Correct version at the time of writing is:


      Can you do the following?

      yum distro-sync makemkv
      1. Same thing here, distro-sync didn’t do anything.

        $ ldd /usr/bin/makemkvcon | grep av
        libavcodec.so.55 => not found
        libavutil.so.52 => not found
        $ rpm -qf /lib64/libavcodec.so.56.1.100 /lib64/libavutil.so.54.7.100
        $ rpm -qf /usr/bin/makemkvcon

        There seems to be a disconnect between the current version of makemkv and ffmpeg-libs.

        1. Hello,

          there is something wrong with your system; your yum should complain every time you perform some operation about the missing dependencies. Can you reinstall the makemkv package (yum -y reinstall makemkv)? I have the same binary and it is linked to the correct libraries:

          $ ldd /usr/bin/makemkvcon | grep av
          libavcodec.so.56 => /lib64/libavcodec.so.56 (0x0000003c43000000)
          libavutil.so.54 => /lib64/libavutil.so.54 (0x0000003c44200000)
          $ rpm -qf /usr/bin/makemkvcon
          $ rpm -q ffmpeg-libs

          1. Okay, this is very strange, can you tell me the checksum of your version of makemkvcon?

            # yum -y reinstall makemkv
            Loaded plugins: fastestmirror, langpacks
            Loading mirror speeds from cached hostfile
            * fedora: fedora.mirror.gtcomm.net
            * rpmfusion-free: mirror.us.leaseweb.net
            * rpmfusion-free-updates: mirror.us.leaseweb.net
            * rpmfusion-nonfree: mirror.us.leaseweb.net
            * rpmfusion-nonfree-updates: mirror.us.leaseweb.net
            * updates: less.cogeco.net
            Resolving Dependencies
            --> Running transaction check
            ---> Package makemkv.x86_64 0:1.9.1-1.fc21 will be reinstalled
            --> Finished Dependency Resolution

            Dependencies Resolved

            Package Arch Version Repository Size
            makemkv x86_64 1.9.1-1.fc21 fedora-HandBrake 3.5 M

            Transaction Summary
            Reinstall 1 Package

            Total size: 3.5 M
            Installed size: 30 M
            Downloading packages:
            Running transaction check
            Running transaction test
            Transaction test succeeded
            Running transaction (shutdown inhibited)
            Installing : makemkv-1.9.1-1.fc21.x86_64 1/1
            Verifying : makemkv-1.9.1-1.fc21.x86_64 1/1

            makemkv.x86_64 0:1.9.1-1.fc21

            # ldd /usr/bin/makemkvcon
            linux-vdso.so.1 => (0x00007fff46b20000)
            libmakemkv.so.1 => /lib/libmakemkv.so.1 (0x000000338fa00000)
            libdriveio.so.0 => /lib/libdriveio.so.0 (0x0000003079400000)
            libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003317600000)
            libc.so.6 => /lib64/libc.so.6 (0x0000003317200000)
            libdl.so.2 => /lib64/libdl.so.2 (0x0000003317a00000)
            libstdc++.so.6 => /lib64/libstdc++.so.6 (0x000000331ca00000)
            librt.so.1 => /lib64/librt.so.1 (0x0000003319600000)
            libcrypto.so.10 => /lib64/libcrypto.so.10 (0x0000003328c00000)
            libz.so.1 => /lib64/libz.so.1 (0x0000003317e00000)
            libexpat.so.1 => /lib64/libexpat.so.1 (0x000000331ce00000)
            libavcodec.so.55 => not found
            libavutil.so.52 => not found
            libm.so.6 => /lib64/libm.so.6 (0x0000003318200000)
            libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003318a00000)
            /lib64/ld-linux-x86-64.so.2 (0x0000003316e00000)
            # md5sum /usr/bin/makemkvcon
            b2d6140250ed34d626e34f77399031f4 /usr/bin/makemkvcon

          2. Doh! Found the problem, I had an old makemkv library in /usr/lib, removing that fixed the problem,

            # rm /usr/lib/libmakemkv.so.1

  18. I could not get the gui to start on Fedora 20. Then I tried the CLI and found that a shared library that was missing is my problem. Installed libass and all is well. Thanks!

    Here is the message that the CLI spit out:

    HandBrakeCLI: error while loading shared libraries: libass.so.4: cannot open shared object file: No such file or directory

    1. The library is linked by the main executable, so unless you forced the installation of HandBrake through rpm ignoring dependencies the library is already pulled in by HandBrake:

      $ rpm -q --requires HandBrake-cli | grep ass
      1. Precisely, its looking for libass.so.4 but it installed libass.so.5 and so isn’t finding it. I have the same issue on FC21.

        I had to create a symlink “ln -s /usr/lib64/libass.so.5 /usr/lib64/libass.so.4” so it would find the library but surely this should not necessary if packaged correctly for this distro?

          1. I am having the same issue, and so far have not been able to get by it. rpm -q –requires HandBrake-cli shows libass.so.5()(64bit) which is what is installed (libass-0.12.0-1.fc21.x86_64) but ghb and HandBrakeCLI both say they want libass.so.4.

            I have the latest HandBrake release 0.10.1 also.

            yum whatprovides “*/libass.so.4” produces nothing.

          2. Don’t know where you are getting those packages, but the one I produce have the correct dependencies. libass.so.4 is not in Fedora 21. All packages have correct requirements:

            $ rpm -qp --requires HandBrake-{gui,cli}-0.10.1-1.fc21.x86_64.rpm | grep libasslibass.so.5()(64bit)
            $ ldd /usr/bin/{ghb,HandBrakeCLI} | grep libass
            libass.so.5 => /lib64/libass.so.5 (0x0000003c50600000)
            libass.so.5 => /lib64/libass.so.5 (0x0000003c50600000)

          1. SOLVED!
            strace HandBrakeCLI does indeed show it looking for libass.so.4

            ldd /usr/local/bin/HandBrakeCLI also lists libass.so4 which is where strace found the command. BINGO!

            The current bin files are in /usr/bin !

            SOMEONE left old executable files in /usr/local/bin. I removed ghb and HandBrakeCLI from /usr/local/bin and it all WORKS now.

  19. Hi,
    I’ve been using handbrake for a couple of years now on fedora. I recently upgraded to fc21 and upgrade handbrake after that. I normally generate mkv using Theora and Vorbis. this stopped working after i upgrade HB. It generates a file that is only 10M and no video but some sound. If i choose some other type like mp4 it works fine. any ideals how i can debug this? I’ve tried different videos and it does the same for all of them.


    1. I just applied the lastest rpm update and i still can’t generate video using theora. The sound is fine, but the picture is black, makes for a very small mkv file. fc20 version still works and thankfully i didn’t upgrade all my servers at the same time. however until i can resolve this i can’t upgrade the last of my servers to fc21

      1. just upgrade my server to fc22 and still the same ole problem. i can’t generate mkv containers but others work fine. i still would like some ideals how to debug this since handbrake isnt’ reporting any issues in the logs. i have reinstalled the libraries before the upgrade and they were installed again as part of the upgrade to fc22. It is only working on fc20 for me.

  20. Is anyone else noticing large icons on the toolbar and a few other places for HandBrake on Fedora 21 x86_64? From what I can tell the source icons are in SVG and in inkscape the dimensions are set to 64×64. Maybe it’s not downsizing the icons for the toolbar? See http://imgur.com/ZEW0qH7

    1. Yes, me too. Will test a new build in the weekend with the latest commits and post it next week if it solves the issue. I’m currently off for the weekend. Thanks for notifying.

  21. Mine shows exactly what yours does too. I am wondering if this has to do with upgrading from Fedora 20 to 21 or something because HB used to work. Since I don’t use it all that often, I am not positive when it stopped working.

    Is there a way to trace when I run HandBrakeCLI what is producing the requirement for the .4 version?

  22. Hello, I just followed the install instructions and it works great.
    However I cannot get MP4 in the ripping format, as I used to running an Ubuntu distro.
    Are there some smart workaround this ?


    1. You’re using an EOL distribution. As you can see from the repository page and from the repository itself there is no Fedora 19 support.

        1. Well, thanks for letting me know, I’ve removed it :)
          Basically I track the current distributions (where possible) that are not EOL, that is, at the moment of writing:

          Fedora 20+
          CentOS/RHEL 5+

          Depending on the software, someone may be missing (there is no RPMFusion RHEL 7 for multimedia libraries, etc)

  23. I am running Fedora 22… trying to get this going. i have installed the RPMFusion repository. Any idea why i’m getting the below message?

    # dnf install –add-repo=http://negativo17.org/repos/fedora-handbrake.repo
    Last metadata expiration check performed 1:54:10 ago on Tue May 26 11:46:45 2015.
    No package –add-repo=http://negativo17.org/repos/fedora-handbrake.repo available.
    Error: no package matched: –add-repo=http://negativo17.org/repos/fedora-handbrake.repo

  24. I’m using Fedora 22 and Handbrake 0.10.1 (x86_64). I’m trying to encode a DVD and as soon as the encoding process starts I get a “Segmentation fault (core dumped)” and the program closes inmediatly.

  25. You wrote that the command works for Fedora 22+.
    I have a fedora 20.
    Does this command works also for Fedora 20:
    dnf config-manager –add-repo=http://negativo17.org/repos/fedora-handbrake.repo


    1. Fedora 20 will be available until the end of June, at which time it will go EOL and I will delete the relevant repositories. Command is the same but with yum:

      yum config-manager --add-repo=http://negativo17.org/repos/fedora-handbrake.repo

  26. Hi, looking for handbrake for RHEL 7. Does this exist, or can some one give me pointers on building it from source?

    1. Hello, I will build 0.9.9 for it; I’m a bit swamped by daily stuff. 0.10.x requires newer GTK libraries than what RHEL 7 provides.

    1. Hello, I’m literally swamped with apartment move and daily work. Have updated it today to 1.9.4, new build being pushed in a few hours.

  27. i’ve been using handbrake since fredora 18. I have it running on one server running FC20. On another server that i have upgraded to FC21 and then FC22 i can not get handbrake to generate a working Theora video file, i get no video and the file size is less than 20mb big. I can create a mp video files. I’ve tried reinstalling handbrake, i’ve also tried reinstalling the various lib packages it depends on. no luck. I’ve traced and don’t see any issues. Looking for some additional insights as to how to troubleshoot this.

  28. I notice in your instructions on this page you say to:

    ln -sf /usr/lib64/libmmbd.so.o libaacs.so.0

    …but there is no libmmbd.so.o on my system, only libmmbd.so.0 (replace the last letter “o” with the number “zero”).


  29. Unable to indtall handbrake, or makemkv from repository.

    um command has been deprecated, redirecting to ‘/usr/bin/dnf update’.
    See ‘man dnf’ and ‘man yum2dnf’ for more information.
    To transfer transaction metadata from yum to DNF, run:
    ‘dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate’

    Failed to synchronize cache for repo ‘fedora-HandBrake’ from ‘http://negativo17.org/repos/HandBrake/fedora-23/x86_64/’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling.
    Last metadata expiration check performed 0:27:23 ago on Tue Oct 27 12:56:01 2015.
    Dependencies resolved.
    Nothing to do.

    sudo yum install HandBrake-cli
    Yum command has been deprecated, redirecting to ‘/usr/bin/dnf install HandBrake-cli’.
    See ‘man dnf’ and ‘man yum2dnf’ for more information.
    To transfer transaction metadata from yum to DNF, run:
    ‘dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate’

    Failed to synchronize cache for repo ‘fedora-HandBrake’ from ‘http://negativo17.org/repos/HandBrake/fedora-23/x86_64/’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling.
    Last metadata expiration check performed 0:27:39 ago on Tue Oct 27 12:56:01 2015.
    No package HandBrake-cli available.
    Error: Unable to find a match.

    1. There is no HandBrake for Fedora 23 at the moment, as it depends on Fedora 23 RPMFusion packages which are not yet released.

  30. Starting with HandBrake-gui-10.2-3 I am getting segfaults when opening most multi-title blurays (the more titles, the higher the chance of the crash). I can remux those titles with makemkv then open them in HandBrake one by one (annoying, but it works).

    I’ve also recreated this with a fresh install of Fedora 22 (Install base, RPMFusion repos, and yours. Update and install HandBrake-gui) on a separate hardware platform and a VM.

    Looking at the stack trace, it looks like it might be crashing in “decavcodecvInfo”. Though admittedly, this is not my area. Possible a regression of the previous libavcodec.so segfaults discussed earlier due to the change to local libraries?

    Kern message:
    kernel: ghb[2077]: segfault at 0 ip 00000000004610ef sp 00007ff842cb9a08 error 4 in ghb[400000+896000]

    Crashed thread stack trace:
    { "crash_thread": true
    , "frames":
    [ { "address": 4591855
    , "build_id": "0c7e4a13524e14706761c7e4b0f2153bede79db6"
    , "build_id_offset": 397551
    , "function_name": "decavcodecvInfo"
    , "file_name": "/usr/bin/ghb"
    , { "address": 4642970
    , "build_id": "0c7e4a13524e14706761c7e4b0f2153bede79db6"
    , "build_id_offset": 448666
    , "function_name": "DecodePreviews"
    , "file_name": "/usr/bin/ghb"
    , { "address": 4647983
    , "build_id": "0c7e4a13524e14706761c7e4b0f2153bede79db6"
    , "build_id_offset": 453679
    , "function_name": "ScanFunc"
    , "file_name": "/usr/bin/ghb"
    , { "address": 4571083
    , "build_id": "0c7e4a13524e14706761c7e4b0f2153bede79db6"
    , "build_id_offset": 376779
    , "function_name": "hb_thread_func"
    , "file_name": "/usr/bin/ghb"
    , { "address": 140711485863253
    , "build_id": "6e1fb69fc4248ca0819107eed38c9e8db0b645b3"
    , "build_id_offset": 30037
    , "function_name": "start_thread"
    , "file_name": "/lib64/libpthread.so.0"
    , { "address": 140711413853085
    , "build_id": "5e86d81f6b21b75b08b19cd1574e14ec0ec098f3"
    , "build_id_offset": 1059741
    , "function_name": "__clone"
    , "file_name": "/lib64/libc.so.6"
    } ]

    1. Ouch. Could be, actually. Will look into it, thanks for reporting.
      Actually I am in the process of updating to newer ffmpeg/x264/x265 and HandBrake, will see if it happens.

  31. There is an issue with HandBrake-1.0-3.6d66bd5 in the F23 repository. When trying to encode with VP8, the CQ settings aren’t working – the output is of extremely low quality. The workaround is to use the previous version in the F22 repository. I compiled for F23 and appears to be working fine.

    1. Sorry for not replying to your email, I’m a bit swamped at the moment. I have a big multimedia reorganization in mind and also to update HandBrake. Will look into it, thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *

I'm not dumb. I just have a command of thoroughly useless information.

%d bloggers like this: