git-developer / marvyn

MARVYN - Mastering Audio, Ripping & Video tasks automaticallY & Nicely
GNU General Public License v3.0
15 stars 3 forks source link

multiple optical drives? #3

Closed emmakat closed 4 years ago

emmakat commented 4 years ago

Thank you again for responding to my inquiry, I appreciate it! I seem to have worked out many of the getting started hiccups.

One big question I have is whether this project can support multiple drives, and rip from each of them. I have a blu ray drive, a regular dvd drive, and 5 optical drives. When I add all of the drives, or even 1 additional drive, it causes my working rip (the blu ray) to fail. Based on https://askubuntu.com/questions/921235/udev-rules-for-launching-scripts-when-dvd-loaded-multiple-drives and what I see in udev disc detection rules, it appears as though it does support multiple drives.

I have a makemkv container which if I run it without loading any drives, it will tell me what I have available but didn't expose to the container. (I used this to inform what I put in rip-disc.yml)

cont-init.d] 95-check-optical-drive.sh: executing... 
[cont-init.d] 95-check-optical-drive.sh: looking for usable optical drives...
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr0, /dev/sg0], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr0 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg0 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr2, /dev/sg3], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr2 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg3 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr3, /dev/sg4], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr3 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg4 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr4, /dev/sg5], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr4 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg5 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr5, /dev/sg6], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr5 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg6 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr6, /dev/sg7], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr6 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg7 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr1, /dev/sg2], but it is not usable because:
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sr1 is not exposed to the container.
[cont-init.d] 95-check-optical-drive.sh:   --> the host device /dev/sg2 is not exposed to the container.

Based on this, I loaded this into the rip-disc.yml. I have commented out everything except the blu ray device though, because when I try to include even 1 additional drive, nothing works.

devices:
      - /dev/cdrom:/dev/cdrom
      - /dev/dvd:/dev/dvd
      - /dev/sg0:/dev/sg0
      - /dev/sr0:/dev/sr0
    #  - /dev/sg2:/dev/sg2
    #  - /dev/sr1:/dev/sr1
    #  - /dev/sg3:/dev/sg3
    #  - /dev/sr2:/dev/sr2
    #  - /dev/sg4:/dev/sg4
    #  - /dev/sr3:/dev/sr3
    #  - /dev/sg5:/dev/sg5
    #  - /dev/sr4:/dev/sr4
    #  - /dev/sg6:/dev/sg6
    #  - /dev/sr5:/dev/sr5
    #  - /dev/sg7:/dev/sg7
    #  - /dev/sr6:/dev/sr6

2020-05-21T03:22:33.614239038Z Error 'Scsi error - NOT READY:MEDIUM NOT PRESENT - TRAY OPEN' occurred while reading '/BDMV/STREAM/00800.m2ts' at offset '2626289664' 2020-05-21T03:22:34.014817843Z Backup failed 2020-05-21T03:22:34.014833119Z Backup failed. 2020-05-21T03:22:34.149328316Z Kopie von 'ATTACK_OF_THE_CLONES' mit Erfolg beendet. It was happily ripping Attack of the clones, then I opened one of the cdrom drives, and put music disc in there. It immediately crashed the bluray rip and gave me the above error.

git-developer commented 4 years ago

Multiple drives are currently not supported because the drive to use (e.g. /dev/sr0 or /dev/sg1) is not specified explicitely at the moment.

It should be possible to implement that feature. Things to consider:

Please don't expect an implementation in the near future. I'm currently quite busy, and testing would be a challenge because I own just a single drive. I'd like to encourage you to implement the feature and create a pull request against branch develop.

git-developer commented 4 years ago

The feature is now implemented in branch develop (commit 51aa173). @emmakat Please try and report back.

emmakat commented 4 years ago

wow! that's amazing - thank you! I will try it today.

emmakat commented 4 years ago

So far so good. First, a compliment: The instructions work out of the box with no modifications! I'm currently ripping a bluray and it's proceeding nicely. I will try multiple drive configuration next (it gave me errors initially, will try again shortly).

git-developer commented 4 years ago

@emmakat Could you give a short status report?

emmakat commented 4 years ago

Yes, so sorry for the delay. I will re-run with multiple drives later today and give you an update.

emmakat commented 4 years ago

and thank you again for working on this! I know you're busy, but it's just awesome that you took the time to add this feature.

emmakat commented 4 years ago

SUCCESS! I'm happily ripping 3 disks at the moment. The order in which they are listed in rip-disk.yml is important. The /dev/sg1 has to be listed first, then the /dev/sr1, if you put it the other way around, it fails. Thank you!!

git-developer commented 4 years ago

Thanks for your feedback!

I don't understand why the order of devices should make any difference... is an error message returned?

If you think that the issue is solved, please close it.