SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Customizations
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Customizations This forums is for discussing and sharing user-created modifications for the SageTV application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss customizations for SageTV version 6 and earlier, or for the SageTV3 UI.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 11-24-2009, 09:10 PM
MrFusion MrFusion is offline
Sage Advanced User
 
Join Date: Aug 2009
Location: Sydney
Posts: 86
How to implement DVD .ISO support for Sage

Hi,

I've seen that there seems to be a lot of interest in getting Sage to support DVD ISOs, either for Sage Client or Extenders etc.

So I did a quick "Google&Wikipedia" and, as a result, am happy to present this as a way forward for Windows based machines. Note, this isn't necessary for linux servers, as you can just MOUNT the ISOs directly.

DISCLAIMER DISCLAIMER!
===================

1. I have absolutely no interest in the "files are better than ISOs" vs "ISOs are better than files" argument . If you want to discuss that, go bother the people in this thread.

2. The software I suggest using is not mine, and I have no association or interest in it other than "it works for me". I just found it - took 5 minutes. There are others out there, if you don't like this one.

3. I do NOT have dozens / hundreds / thousands of ISO files, so I can't tell you if this method is stable, scaleable, performant, makes you smell bad, or cures world hunger. I have a handful, and it works fine for me. I do not know what will happen if you point this at 20, 50, 700, or 10,000 ISO images.

I just use this 'cos it's easy & works for me, supports a number of different windows platforms (both 32 and 64 bit), is active (last update 23rd Nov '09), and BECAUSE IT IS OPEN SOURCE, LET'S YOU INVOKE IT FROM WITHIN YOUR OWN SOFTWARE, ALLOWS YOU TO INCLUDE IT WITH A COMMERCIAL PRODUCT, AND SHOWS HOW STRAIGHTFORWARD IT IS TO SUPPORT ISO FILES.

In short, looks like an excellent bit of software which, amazingly, the author is happy to freely give away to all parties without asking for any compensation. Olof deserves a medal!

Notwithstanding the above, I'm certainly very interested in other people's experience with this.


DESTRUCTIONS
============

First, download ImDisk from here, and install it. It installs a control panel applet, as well as a command-line tool (which is what we'll be using).

Second, create two directories (or even just the one if you want to be messy) -- one containing the ISO images, the other for the mount points. This second directory will end up containing multiple subdirectories (created by the following batch file), one subdirectory per ISO.

That is, if your source directory contains <file 1>.ISO, <file 2>.ISO... <file n>.ISO; then your destination directory will have multiple subdirectories named <file 1>, <file 2>... <file n>.

The batch file then invokes ImDisk to mount the disk images on each of these subdirectories.

Once done, these subdirectories will contain what looks like the full DVD, but is actually just ImDisk interpreting the contents of the ISO and presenting that to Windows as a virtual disk (which it mounts in our destination directory).

Third, create a batch file similar to this (change _source and _destination as required):

Code:
@echo off
setlocal

rem : Use DOS path name for source and destination directory. Do not use quotes or trailing
rem : backslashes as these are handled later

rem eg: e:\ISO\Image Files
rem or: e:\ISO\Target

rem : pretty primitive in that there's no error checking, nor does it check if the mountpoint directory already
rem : exists (just lets the md error & then does the next one), nor does it remove mountpoint
rem : directories which no longer have a corresponding iso.

rem : The above are simple to achieve, and are left as an exercise for the reader...

rem : (hint - iterate through the destination directory - for /D %%d in (*.*) etc - and, 
rem : (     - for each subdirectory, "if not exist" %_source%\<name>.iso then rd /s %%~fd etc etc)

rem : ("for /?" and "if /?" are your friends -- especially the end bit which talks about substitution of) 
rem : (for variable references and modifiers)


set _source=E:\Sage\Original ISOs
set _destination=E:\Sage\ISO-mounts

echo Sage ISO Mount
echo ..
echo .. will mount images from: %_source%
echo .. into the following directory: %_destination%
echo .. one subdirectory per ISO
echo ..
echo .. NOTE: %%~n will strip the .iso extension for directory names
echo ..       %%~f is the fully qualified path name
echo ..

for %%d in ("%_source%"\*.iso) do md "%_destination%\%%~nd"


echo ..
echo ..
echo .. mounting images --
echo ..

for %%d in ("%_source%"\*.iso) do imdisk -a -m "%_destination%\%%~nd" -o ro -f "%%~fd"
echo ..
echo .. Done.  I hope...
Fourth, run the batch file and marvel at the incredible success / failure / explosions / bad smell.

Have a look in the destination directory. If all went well, it should have multiple subdirectories (marked as JUNCTIONS if you do a "dir" in "DOS"), and each subdirectory should look just like a proper DVD image.

Fifth, point Sage at the destination directory to import the new "DVD"s. Try playing a few. Yay, it works (I hope).

Sixth, might want to think about automating the invocation of the above batch file every time the server is restarted, modifying the batch file to clean up directories of ISOs which no longer exist, etc.

Seventh, crack open a beer, sit down, relax, watch a movie, and smile quietly whilst basking in your sense of achievement...


Let me know how it works out for you.

Last edited by MrFusion; 11-25-2009 at 01:57 AM. Reason: typo
Reply With Quote
  #2  
Old 11-25-2009, 09:08 AM
stanger89's Avatar
stanger89 stanger89 is offline
SageTVaholic
 
Join Date: May 2003
Location: Marion, IA
Posts: 15,188
That's pretty slick.
Reply With Quote
  #3  
Old 11-25-2009, 03:41 PM
pjpjpjpj pjpjpjpj is offline
Sage Icon
 
Join Date: Feb 2008
Posts: 2,164
I think we should hire MrFusion as the official writer of all Sage customization instructions. With how much we collectively beat our brains in while fooling with our systems, we need as much humor as possible.
__________________
Server: AMD Athlon II x4 635 2.9GHz, 8 Gb RAM, Win 10 x64, Java 8, Gigabit network
Drives: Several TB of internal SATA and external USB drives, no NAS or RAID or such...
Software: SageTV v9x64, stock STV with ADM.
Tuners: 4 tuners via (2) HDHomeruns (100% OTA, DIY antennas in the attic).
Clients: Several HD300s, HD200s, even an old HD100, all on wired LAN. Latest firmware for each.
Reply With Quote
  #4  
Old 11-26-2009, 05:57 PM
MrFusion MrFusion is offline
Sage Advanced User
 
Join Date: Aug 2009
Location: Sydney
Posts: 86
Aww shucks. Thanks.

Always amazes me how uptight people get (me not excluded) over small stuff like HTPCs and forum posts. Hate to think how they handle the real issues!

So I always like to inject a bit of humour to help keep perspective.

Anyway -- very keen to hear about people's experiences with using this method!

Cheers!
Reply With Quote
  #5  
Old 11-26-2009, 06:45 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
eh... WinRAR worked for me.. did a wonderful of extracting the ISO's to folder... no need to use other tools or batch files... ;-)
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #6  
Old 11-26-2009, 10:18 PM
vhurst's Avatar
vhurst vhurst is offline
Sage Advanced User
 
Join Date: Oct 2004
Location: Northern California
Posts: 108
Sweet! I had tried to do this with Daemon Tools some time back, without success. I really wanted to store my DVDs as ISOs. Simple single file per movie, making burning spare images the easiest as well. I'll have to give ImDisk a whirl.

Thanks MrFusion, and Olof too!
__________________
Intel Skulltrail D5400XS, Dual Quad Core Xeon L5420, Windows Server 2012 R2 on 200Gb partition, 32Gb RAM, 8x WD 2Tb RE4 RAID6 on LSI 9690SA-8I (DVD/Blu-Ray), 2x 4Tb HDDs (TV), Colossus, 2x HD-PVR, HDHR3 Prime, DirectTV STB, USB-UIRT, Sage v2 v3 v4 v5 v6 v7.1.9, Java v1.6 build 45, 3 Placeshifter licenses, and 3 HD-300's.
Plugins: Phoenix API, PlayOn For SageTV, Comskip Playback, YouTube, Nielm's Sage Utiities
Software: PlayOn, ComSkip Monitor, ComSkip
Reply With Quote
  #7  
Old 11-27-2009, 06:51 AM
MrFusion MrFusion is offline
Sage Advanced User
 
Join Date: Aug 2009
Location: Sydney
Posts: 86
Quote:
Originally Posted by Fuzzy View Post
eh... WinRAR worked for me.. did a wonderful of extracting the ISO's to folder... no need to use other tools or batch files... ;-)
Oh dear...
Reply With Quote
  #8  
Old 11-27-2009, 09:19 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by MrFusion View Post
Oh dear...
hehe... it's true though...
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #9  
Old 11-28-2009, 08:21 PM
MrFusion MrFusion is offline
Sage Advanced User
 
Join Date: Aug 2009
Location: Sydney
Posts: 86
Quote:
Originally Posted by Fuzzy View Post
hehe... it's true though...
You miss the point in my first post?

Irrelevant.

Read the disclaimer, and then go give the people here your opinion.

I'm sure they'll be grateful...
Reply With Quote
  #10  
Old 11-29-2009, 01:47 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
hehe.. relax man.. this entire forum is about entertainment...
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #11  
Old 12-11-2009, 03:30 PM
ehfortin ehfortin is offline
Sage Advanced User
 
Join Date: Aug 2008
Posts: 132
Hi,

I would expect this to work on the SageTV server but will it work for SageTV Client or SageTV Extender? For the client, I can probably do the same script which should work but for the extender, how this work?


ehfortin
Reply With Quote
  #12  
Old 12-11-2009, 10:11 PM
MrFusion MrFusion is offline
Sage Advanced User
 
Join Date: Aug 2009
Location: Sydney
Posts: 86
Quote:
Originally Posted by ehfortin View Post
Hi,

I would expect this to work on the SageTV server but will it work for SageTV Client or SageTV Extender? For the client, I can probably do the same script which should work but for the extender, how this work?


ehfortin
Hi,

You just run it once on the server. Tell sage to import video from the destination directory and it is treated like any other import directory. SageTV will serve to any extender or other client, just like it would do with a directory full of DVD files.

Cheers.
Reply With Quote
  #13  
Old 12-13-2009, 04:31 PM
ehfortin ehfortin is offline
Sage Advanced User
 
Join Date: Aug 2008
Posts: 132
Ok. I seems to understand that the ISO are stored in someplace and that a virtual representation of the files will appear under a folder name (one folder by DVD).

Is that how it works?

Thank you for your answer.

ehfortin
Reply With Quote
  #14  
Old 12-14-2009, 04:18 AM
MrFusion MrFusion is offline
Sage Advanced User
 
Join Date: Aug 2009
Location: Sydney
Posts: 86
Quote:
Originally Posted by ehfortin View Post
Ok. I seems to understand that the ISO are stored in someplace and that a virtual representation of the files will appear under a folder name (one folder by DVD).

Is that how it works?

Thank you for your answer.

ehfortin
Yes.

ISOs are in the source directory; subdirectories with virtual 'files' (ie look exactly like ordinary files and directory structures to windows) are in the destination directory.

Point Sage at the destination directory and it will see what it thinks is a bunch of DVDs (one per ISO in the source directory), and serve them up, just as it would for 'normal' DVD file rips.

Cheers.
Reply With Quote
  #15  
Old 01-10-2010, 11:27 PM
d2tw4all d2tw4all is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: Boston, MA
Posts: 78
No worky for me

I'm trying to use this method to mount my 400+ DVD ISO collection that is stored on 4 different network shares on a freenas. I mapped each share as L, M, N, and O on the DVR server and can see all the ISO's through the mappings. The first part of the script seems to work fine as it creates all of the folder structures correctly, however when it goes to map each one it throws an error that the parameter is incorrect. Here's the bat file and an exemplar of the output (Ignore the horrible formatting, the bat file has each command on one line):

@echo on
setlocal

rem : Use DOS path name for source and destination directory. Do not use quotes or trailing
rem : backslashes as these are handled later

rem eg: e:\ISO\Image Files
rem or: e:\ISO\Target

rem : pretty primitive in that there's no error checking, nor does it check if the mountpoint directory already
rem : exists (just lets the md error & then does the next one), nor does it remove mountpoint
rem : directories which no longer have a corresponding iso.

rem : The above are simple to achieve, and are left as an exercise for the reader...

rem : (hint - iterate through the destination directory - for /D %%d in (*.*) etc - and,
rem : ( - for each subdirectory, "if not exist" %_source%\<name>.iso then rd /s %%~fd etc etc)

rem : ("for /?" and "if /?" are your friends -- especially the end bit which talks about substitution of)
rem : (for variable references and modifiers)


set _source=L:
set _destination=C:\ISOMOUNT\Movies

echo Sage ISO Mount
echo ..
echo .. will mount images from: %_source%
echo .. into the following directory: %_destination%
echo .. one subdirectory per ISO
echo ..
echo .. NOTE: %%~n will strip the .iso extension for directory names
echo .. %%~f is the fully qualified path name
echo ..

for %%d in ("%_source%"\*.iso) do md "%_destination%\%%~nd"


echo ..
echo ..
echo .. mounting images --
echo ..

for %%d in ("%_source%"\*.iso) do imdisk -a -m "%_destination%\%%~nd" -o ro -f "%%~fd"
echo ..
echo .. Done. I hope...

set _source=M:

for %%d in ("%_source%"\*.iso) do md "%_destination%\%%~nd"

for %%d in ("%_source%"\*.iso) do imdisk -a -m "%_destination%\%%~nd" -o ro -f "%%~fd"

set _source=N:

for %%d in ("%_source%"\*.iso) do md "%_destination%\%%~nd"

for %%d in ("%_source%"\*.iso) do imdisk -a -m "%_destination%\%%~nd" -o ro -f "%%~fd"

set _source=O:

for %%d in ("%_source%"\*.iso) do md "%_destination%\%%~nd"

for %%d in ("%_source%"\*.iso) do imdisk -a -m "%_destination%\%%~nd" -o ro -f "%%~fd"



Error is:

C:\ISOMOUNT>imdisk -a -m "C:\ISOMOUNT\Movies\Star Wars I The Phantom Menace" -o
ro -f "L:\Star Wars I The Phantom Menace.ISO"
Creating device...
Error creating virtual disk: The parameter is incorrect.


Tom
Reply With Quote
  #16  
Old 01-10-2010, 11:31 PM
d2tw4all d2tw4all is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: Boston, MA
Posts: 78
Just to add, I tried using the right click menu directly from the ISO file that I pasted in the last post, and selected to map it to drive Z, and I'm also getting an error "The parameter is incorrect" so I'm wondering if there needs to be another way to call this goofy iso mount program when the ISO's are not actually local (I think technically a mapped drive is just a mountpoint so maybe that's what the problem is). I don't know this program very well, any ideas?

Tom
Reply With Quote
  #17  
Old 01-11-2010, 08:49 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Try passing a UNC path to the program, instead of the mapped drive. Mapped drives are done user level, and if the IMDISK program is run at system level (I think it is), then it wouldnt' see that drive.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #18  
Old 01-11-2010, 06:15 PM
d2tw4all d2tw4all is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: Boston, MA
Posts: 78
Just tried that, no love. I'll have to dig into the documentation for that tool and see how to mount network ISO's, from the /? command list it looks like there is a way to do it...

Tom
Reply With Quote
  #19  
Old 01-15-2010, 08:38 PM
d2tw4all d2tw4all is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: Boston, MA
Posts: 78
Ugh I'm so stuck, I think this will work if I can only get it to mount network ISO's! Can anyone else mount ISO's on a network share somewhere? From what I see in the docs for the utility it seems like it supports it, but I can't for the life of me get past this invalid paramater!!! HELP!!!

Tom
Reply With Quote
  #20  
Old 01-20-2010, 08:15 AM
d2tw4all d2tw4all is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: Boston, MA
Posts: 78
I reached out to the guy who posted the tool and info and he has no idea why it doesn't work, he says he does it all the time with network ISO's so he thinks it's something with my environment... Lovely.

Tom
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Final word on DVD .ISO support? rusten SageTV Software 86 11-25-2009 09:09 AM
Feature Request: Enable the sub support in SageTVPlayer Patilan SageTV Beta Test Software 8 10-28-2009 07:27 AM
STV Import: Mount DVD ISO Images and External DVD Player Ver 0.12 jbuszkie SageTV Customizations 65 02-27-2009 01:15 AM
ISO Support in Latest Firmware?? Spanqboy SageTV Media Extender 35 11-12-2008 04:28 PM
Does Sage seriously not support ISO in anything? Seriously? htpcmaniac SageTV Software 25 09-07-2008 10:29 AM


All times are GMT -6. The time now is 12:02 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.