Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Any way to have MakeMKV Open DVD Files as a virtual disk

Featured Replies

Hello,

 

I'm running unRaid Version 6.12.13 2024-08-22. 

 

I've recently added a Plex Docker to my system.  Previously to running Plex, I had ripped my DVD collection to VIDEO_TS file format because my preferred player handled that well.  My BluRays I've ripped to .iso format.  With Plex, I need to convert my films to mkv format.  So I've installed jlesage/makemkv docker.  This has worked great to convert my BluRay .iso files to .mkv files.  But, near as I can tell, MakeMKV won't open the dvd file format from a folder, only from an optical disk.

 

In the past, on a Windows machine, I've used Elby's Virtual Clone Drive to present a folder as an optical drive to MakeMKV.  This then allows MakeMKV to open my DVD folder as if it were a drive, rather than a file.  If possible, I'd like to do something similar all on my unRaid machine.

 

Has anyone done something like this, whether using Elby's VCD or something else, to enable MakeMKV to open a folder as if it were a physical disk?  Any ideas or instructions?

Thank you,

 

 

  • Community Expert

untested essential you need to make a virtural drive and mount it. Theoretical possible... If i'm understanding this correctly...
Both options would require working knowledge of installing 3rd party slackware packages using the extra folder / nerdtool...

To enable MakeMKV in your unRAID setup to handle VIDEO_TS folders as if they were physical DVDs, you can use a combination of tools and approaches to "mount" the folder as a virtual drive. Here's how you can approach this on unRAID:
 

 

Option 1: Use vfs_mount to create a virtual optical drive

 

Install the Required Packages(not sure if they exist in native unraid....)

 

You'll need to use a tool like vfs_mount (Virtual File System mount) or similar Linux tools for mounting. Since unRAID is based on Slackware Linux, ensure you have the required packages available in your unRAID system.

 

To install additional tools like fuseiso or dvdbackup:

?Use the NerdPack plugin or the Community Applications plugin to add missing packages.

the application in terminal your trying to run is vfs_mount.... It may be buried within another folder within libvirt stuff...

 

Mount the VIDEO_TS Folder

mount --bind /path/to/VIDEO_TS /mnt/disks/virtual_dvd

 

Point MakeMKV Docker to Virtual DVD

Update the MakeMKV Docker container to point to /mnt/disks/virtual_dvd as an input source. You can do this by updating the container's settings and mounting this path as a volume.

 

Test

Run MakeMKV, and it should detect the VIDEO_TS folder as if it's a DVD.

 

Option 2: Convert VIDEO_TS to ISO (Recommended for Compatibility)

If you have many VIDEO_TS folders, converting them to ISO format can simplify the process:

 

Install genisoimage (or mkisofs)

 

You can use tools like genisoimage to convert a VIDEO_TS folder to an ISO image.

genisoimage -o /output/path/movie.iso -dvd-video /path/to/VIDEO_TS

 

Add to MakeMKV

Point MakeMKV to the mounted ISO path (/mnt/disks/virtual_dvd) as the input source.

 

Option 3: Use an Alternate Docker Container for Mounting

You can run a small Docker container that mounts folders as virtual drives. For example:

Use a Docker container with tools like fuseiso preinstalled, or create your own container to handle the mounting process.

Mount the folder into this container and expose it as a volume to your MakeMKV container


https://forums.docker.com/t/mount-iso-inside-a-container/3911/4

 

 

 

 

  • Community Expert

You will need to fix any pathing or not replace any exisitng /dev/loops/files...

https://slackbuilds.org/repository/15.0/system/fuseiso/?search=fuseiso

cd /boot/extra
wget https://slackbuilds.org/slackbuilds/15.0/system/fuseiso.tar.gz


In Slackware, the vfs_mount utility is not included in the standard package repositories. However, you can achieve similar functionality using the fuseiso tool, which allows you to mount ISO images and other filesystem images as virtual filesystems.
 

Using fuseiso to Mount ISO Images:

mkdir /mnt/virtual_dvd

 

Mount the ISO image:

fuseiso /path/to/your.iso /mnt/virtual_dvd

 

check:
 

ls /mnt/virtual_dvd

 

Unmounting the ISO Image:

fusermount -u /mnt/virtual_dvd


^This is jsut to confirm you can mount the iso to a path...
 

Then the trickey part...

docker pathing. to tell the docker to use taht as a disk drive...
you can mount a folder or ISO image to emulate a DVD drive by binding it to one of the sr0 or sg0 devices for MakeMKV in Docker. However, this requires some specific setup because MakeMKV expects physical devices to function correctly.

 

Step 1: Bind Mount a Virtual Optical Drive

If you want to trick MakeMKV into thinking your folder or ISO is a physical optical drive:

Use a Tool to Mount as a Virtual Optical Drive

Install a utility like fuseiso (for ISO images) or similar on your unRAID system to handle the mounting:

 

fuseiso /path/to/movie.iso /mnt/disks/virtual_dvd



If you are working with a VIDEO_TS folder, convert it to an ISO first using genisoimage working with iso is much easer then a folder....

genisoimage is apart of trhe cdrkit package https://slackbuilds.org/repository/15.0/system/cdrkit/?search=cdrkit

 

cd /boot/extra
wget https://slackbuilds.org/slackbuilds/15.0/system/cdrkit.tar.gz

 

genisoimage -o /path/to/movie.iso -dvd-video /path/to/VIDEO_TS

 

to pass devcie /dev/sr0 /dev/sg0 in makemkv docker...

Lets Create a Bind Mount to /dev/sr0 or /dev/sg0

UnRAID doesn’t allow directly replacing device files like /dev/sr0, so you’ll need to create a loopback device. Use losetup to map your ISO to a loop device:

 

UnRAID doesn’t allow directly replacing device files like /dev/sr0, so you’ll need to create a loopback device. Use losetup to map your ISO to a loop device:

*loloop does exit make a new one that is not in use...
 

losetup /dev/loop0 /path/to/movie.iso

 

Once mapped, make it accessible as /dev/sr0

mount -o loop /dev/loop0 /mnt/disks/virtual_dvd


this should make /dev/loop# the virtual disk for make mkv...
or try pathing...
Insure the Docker container has access to /mnt/disks/virtual_dvd.
...
in the edit tab for docker example:
--device /dev/loop0:/dev/sr0
or
-v /mnt/disks/virtual_dvd:/mnt/disks/virtual_dvd
 

loop may need updated permissions:
chmod 666 /dev/loop0
 

Edited by bmartino1

  • 3 weeks later...
  • Author

Thank you everyone.  I appreciate your help.

 

I ended up simply "Opening File" rather than trying to open a virtual disk, in MakeMKV.  If I point that to the VIDEO_TS.IFO file under the DVD's VIDEO_TS directory, or the movie.iso file for my BluRays, it converts most all of them fine.

I got a couple of errors for which I had to go back to the original disk.  That worked fine opening the disk from MakeMKV.

 

Again, Thank you for taking the time to lend me some help.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.