YAMJ on unRAID


Recommended Posts

As both unraid boxes are linux based and NFS is the native protocol it just makes sense to use this between both. You may then use SMB to export the share from your main unraid box to the C200.

 

Do something like this on the main unraid box (unraid1) where share is the name for your media folder on unraid1 and share2 is the media folder on unraid2:

mkdir /mnt/user/share/unraid2

mount -t nfs unraid2-ip-address:/mnt/user/share2 /mnt/user/share/unraid2

 

then you would be able to see the unraid2 box down below the single /mnt/user/share and only this one needs to be mounted on the C200.

 

 

That worked great, I needed to export the "movies" share on server two read only:

 

"server-1-ipaddress(ro)"

 

Then added:

 

  <library>
    <path>/mnt/user/Share/unraid2/movies</path>
    <playerpath>file:///opt/sybhttpd/localhost.drives/NETWORK_SHARE/tower/unraid2/movies/</playerpath>
    <exclude name="sample,tmp/,temp/,RECYCLER/,RECYCLE.BIN/"/>
    <description>PCH3</description>
    <prebuf></prebuf>
    <scrapeLibrary>false</scrapeLibrary>
  </library>

  <library>
    <path>/mnt/user/Share/unraid2/tv</path>
    <playerpath>file:///opt/sybhttpd/localhost.drives/NETWORK_SHARE/tower/unraid2/tv/</playerpath>
    <exclude name="sample,tmp/,temp/,RECYCLER/,RECYCLE.BIN/"/>
    <description>PCH4</description>
    <prebuf></prebuf>
    <scrapeLibrary>true</scrapeLibrary>
  </library>

 

To the library.xml file and it scanned fine - adding all of the movies from the second server to YAMJ :-)

 

I did some basic testing with the C-200 and all appeared well.

 

Would be interested as Neil mentioned above on unmounting the drive on shutdown in case of corruption.

 

I assume that I can add the mkdir and mount commands to my 'go' script on server 1 and there should be no more manual tinkering needed for the future.

 

Thanks very much for your help so far!

 

Cheers,

 

-jj-

 

 

Link to comment
  • Replies 292
  • Created
  • Last Reply

Top Posters In This Topic

I finally got my YAMJ all working on my Unraid Server using the PCH A-100 and A-110.  In my set up, I needed http streaming protocol since I have ripped the mt2s streams from several BDs.  The way I found it works best for me is:

 

  • moviejukebox dir lives on a PC on my network
  • media files all live on a single share on the unraid tower
  • the unraid share is mapped to a drive on the PC
  • libraries.xml points to the share for the library
  • bubba webserver running with personal site as the share on unraid tower
  • libraries.xml uses the webserver IP:port as the target to the actual media files
  • the jukebox update.bat is run from the PC

 

I like this set up in that I don't have anything on the tower except the Index.htm, data dir with jukebox files and the media files themsleves.

 

Coming from using YAMJ from myIhome for the last 2 years, this all makes it a little easier for me to manage.

 

So far it seems to be working well and serves the original goal of consolidating all my media to the tower.

 

Special thanks to sean_w_smith and Batfink for helping me get all this sorted out.

 

Link to comment

Would be interested as Neil mentioned above on unmounting the drive on shutdown in case of corruption.

 

No need to worry about this as you are mounting ro only. You may however soft mount it, i.e. put -o soft,ro when mounting it. Look here http://www.cyberciti.biz/faq/howto-mount-nfs-file-system-over-busy-slow-network/ or here http://tldp.org/HOWTO/NFS-HOWTO/client.html

 

I assume that I can add the mkdir and mount commands to my 'go' script on server 1 and there should be no more manual tinkering needed for the future.

 

Yes, of course.

 

Link to comment

Anyone gets this message from Java:

{main} java.lang.UnsatisfiedLinkError: /usr/lib/java/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory

 

I have the jre-6u11-i586-1.tgz installed. Package URL is

http://slackware.cs.utah.edu/pub/slackware/slackware-12.2/slackware/l/jre-6u11-i586-1.tgz

 

$ ls -l /usr/lib/java/lib/i386/xawt/libmawt.so

-rwxr-xr-x 1 root root 348588 2008-11-10 11:57 /usr/lib/java/lib/i386/xawt/libmawt.so*

 

$ ldd /usr/lib/java/lib/i386/xawt/libmawt.so

        linux-gate.so.1 =>  (0xb7771000)

        libpthread.so.0 => /lib/libpthread.so.0 (0xb770f000)

        libm.so.6 => /lib/libm.so.6 (0xb76e9000)

        libawt.so => /usr/lib/java/lib/i386/xawt/../libawt.so (0xb7643000)

        libXext.so.6 => not found

        libX11.so.6 => not found

        libdl.so.2 => /lib/libdl.so.2 (0xb763e000)

        libXtst.so.6 => not found

        libXi.so.6 => not found

        libjava.so => /usr/lib/java/lib/i386/xawt/../libjava.so (0xb7619000)

        libjvm.so => not found

        libc.so.6 => /lib/libc.so.6 (0xb74cc000)

        /lib/ld-linux.so.2 (0xb7772000)

        libjvm.so => not found

        libjvm.so => not found

        libverify.so => /usr/lib/java/lib/i386/xawt/../libverify.so (0xb74c0000)

        libnsl.so.1 => /lib/libnsl.so.1 (0xb74a7000)

        libjvm.so => not found

seems to be default. I have another system that looks absolutely the same, but Java doesn't throw those messages at all!?

 

$java -version

java version "1.6.0_11"

Java SE Runtime Environment (build 1.6.0_11-b03)

Java HotSpot Client VM (build 11.0-b16, mixed mode, sharing)

 

On the unRAID box where I don't get those Java error message:

$ java -version

java version "1.6.0_11"

Java SE Runtime Environment (build 1.6.0_11-b03)

Java HotSpot Server VM (build 11.0-b16, mixed mode)

 

Anyone know what does "sharing" mean?

 

Memory on the problematic system is 1GB and 4GB on the other.

 

Link to comment

I cant offer help with running Java on unRAID dist, but here's the reports of Java on Slackware 13.1:

 

# ldd /usr/lib/java/lib/i386/xawt/libmawt.so

       linux-gate.so.1 =>  (0xffffe000)

       libpthread.so.0 => /lib/libpthread.so.0 (0xb7819000)

       libm.so.6 => /lib/libm.so.6 (0xb77f3000)

       libawt.so => /usr/lib/java/lib/i386/xawt/../libawt.so (0xb7744000)

       libXext.so.6 => /usr/lib/libXext.so.6 (0xb7736000)

       libX11.so.6 => /usr/lib/libX11.so.6 (0xb761a000)

       libdl.so.2 => /lib/libdl.so.2 (0xb7616000)

       libXtst.so.6 => /usr/lib/libXtst.so.6 (0xb7611000)

       libXi.so.6 => /usr/lib/libXi.so.6 (0xb7604000)

       libjava.so => /usr/lib/java/lib/i386/xawt/../libjava.so (0xb75df000)

       libjvm.so => /usr/lib/libjvm.so (0xb6a64000)

       libc.so.6 => /lib/libc.so.6 (0xb6900000)

       /lib/ld-linux.so.2 (0xb78a0000)

       libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb68e8000)

       libverify.so => /usr/lib/java/lib/i386/xawt/../libverify.so (0xb68dc000)

       libnsl.so.1 => /lib/libnsl.so.1 (0xb68c3000)

       libXau.so.6 => /usr/lib/libXau.so.6 (0xb68c0000)

       libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb68ba000)

 

# java -version

java version "1.6.0_20"

Java SE Runtime Environment (build 1.6.0_20-b02)

Java HotSpot Server VM (build 16.3-b01, mixed mode)

Link to comment

Anyone installed the Java package Tom attached to his first post can post the output of the

ldd /usr/lib/java/lib/i386/xawt/libmawt.so

 

command? Thanks much!

 

root@YASS:~# ldd /usr/lib/java/lib/i386/xawt/libmawt.so
        linux-gate.so.1 =>  (0xb7854000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb77f2000)
        libm.so.6 => /lib/libm.so.6 (0xb77cc000)
        libawt.so => /usr/lib/java/lib/i386/xawt/../libawt.so (0xb7726000)
        libXext.so.6 => not found
        libX11.so.6 => not found
        libdl.so.2 => /lib/libdl.so.2 (0xb7721000)
        libXtst.so.6 => not found
        libXi.so.6 => not found
        libjava.so => /usr/lib/java/lib/i386/xawt/../libjava.so (0xb76fc000)
        libjvm.so => not found
        libc.so.6 => /lib/libc.so.6 (0xb75af000)
        /lib/ld-linux.so.2 (0xb7855000)
        libjvm.so => not found
        libjvm.so => not found
        libverify.so => /usr/lib/java/lib/i386/xawt/../libverify.so (0xb75a3000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb758a000)
        libjvm.so => not found

Link to comment

So missing some of the libraries is ok. Do you get Java errors when running yamj?

i get the same error as you for the ldd and i get errors when running yamj-rescan.  the index.html file and the Jukebox directory get created, but the setup doesn't work right.  none of the jpg's are downloaded and the movies won't play.    I made a specific share called Movies and it still didn't work correctly.

 

On a side note, in the My_Library.xml, i changed "TOWER" to my unRaid box's name in the following line:

 

<playerpath>file:///opt/sybhttpd/localhost.drives/NETWORK_SHARE/TOWER:Movies</playerpath>

 

does NETWORK_SHARE need to be changed to something else?  Can't say I'm familiar with the path structure

Link to comment

I think that I've localized the problem to being related to RAM. I don't have any config issues and I know YAMJ very well. I get this error on an unRAID box with 1GB RAM with lots of installed packages, pre_clear running and also cache_dirs enabled and running. When I set the yamj and scanner threads to 1 and quit all the other processes everything works, otherwise the Java errors start to appear and no jpegs are being generated.

 

The missing libraries in the ldd /usr/lib/java/lib/i386/xawt/libmawt.so output are normal and don't interfere.

Link to comment

I have cache dirs running, unMenu, and a the power management software for my battery backup.  the directory I am scanning has a grand total of 1 movie.  I have 2 GB of ram installed.  is memory really the issue?  I tried running immediately after a reboot, so i wouldn't think it would be a memory leak of any sort.

Link to comment

The machine I got problems has only 1GB RAM, on another one, same setup, only difference is that it has 4GB RAM, I don't have this problem.

 

I even managed to geht the yamj update on the box with 1GB, stoped most of the things and it got through. This clearly indicated that 2GB should be ok and that 1GB shouldn't be advised for this type of install.

Link to comment

even with 2 GB and stopping cache_dirs, it still throws java errors.  this is very frustrating.

 

Processing started at Fri Jun 04 04:01:48 GMT-08:00 2010

Using properties file ./properties/moviejukebox-default.properties
Using properties file ./moviejukebox.properties
Warning (non-fatal): User properties file: moviejukebox.properties, not found.
Using properties file ./skins/default/skin.properties
Using properties file ./skins/default/skin-user.properties
Using properties file ./properties/apikeys.properties
Found media library: /mnt/user/Movies
Using 1 processing threads and 1 downloading threads...
See README.TXT for increasing performance using these settings.
Preparing environment...
Initializing...
Scanning library directory /mnt/user/Movies/YAMJ/My_Library.xml
Jukebox output goes to /mnt/disk1/Movies
    Scanning directory #4, 30 files scanned
Found 1 movies in your media library
Stored 7 files in the info cache
Searching for movies information...
Updating: American Psycho
java.lang.UnsatisfiedLinkError: /usr/lib/java/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.image.ColorModel.loadLibraries(Unknown Source)
at java.awt.image.ColorModel.<clinit>(Unknown Source)
at javax.imageio.ImageTypeSpecifier$Grayscale.<init>(Unknown Source)
at javax.imageio.ImageTypeSpecifier.createGrayscale(Unknown Source)
at javax.imageio.ImageTypeSpecifier.createSpecifier(Unknown Source)
at javax.imageio.ImageTypeSpecifier.getSpecifier(Unknown Source)
at javax.imageio.ImageTypeSpecifier.createFromBufferedImageType(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.<clinit>(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(Unknown Source)
at javax.imageio.spi.ImageReaderSpi.createReaderInstance(Unknown Source)
at javax.imageio.ImageIO$ImageReaderIterator.next(Unknown Source)
at javax.imageio.ImageIO$ImageReaderIterator.next(Unknown Source)
at com.moviejukebox.scanner.PosterScanner.validatePoster(PosterScanner.java:326)
at com.moviejukebox.scanner.PosterScanner.getPosterURL(PosterScanner.java:294)
at com.moviejukebox.scanner.PosterScanner.scan(PosterScanner.java:391)
at com.moviejukebox.MovieJukebox.updateMovieData(MovieJukebox.java:1128)
at com.moviejukebox.MovieJukebox$3.call(MovieJukebox.java:709)
at com.moviejukebox.MovieJukebox$3.call(MovieJukebox.java:701)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at com.moviejukebox.tools.ThreadExecutor$ScheduledThread.run(ThreadExecutor.java:115)

Indexing libraries...
  Indexing Other...
  Indexing Genres...
  Indexing Title...
  Indexing Rating...
  Indexing Year...
  Indexing Library...
  Indexing Set...
  Sorting Indexes ...
Indexing masters...
Writing movie data...
Failed creating poster for American Psycho
java.io.FileNotFoundException: /mnt/disk1/Movies/Jukebox/American.Psycho.2000.Bluray.1080p.x264.DTS.jpg (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at com.moviejukebox.tools.FileTools.createFileInputStream(FileTools.java:363)
at com.moviejukebox.tools.GraphicTools.loadJPEGImage(GraphicTools.java:76)
at com.moviejukebox.MovieJukebox.createPoster(MovieJukebox.java:1483)
at com.moviejukebox.MovieJukebox$5.call(MovieJukebox.java:879)
at com.moviejukebox.MovieJukebox$5.call(MovieJukebox.java:869)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at com.moviejukebox.tools.ThreadExecutor$ScheduledThread.run(ThreadExecutor.java:115)

Failed creating thumbnail for American Psycho
java.io.FileNotFoundException: /mnt/disk1/Movies/Jukebox/American.Psycho.2000.Bluray.1080p.x264.DTS.jpg (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at com.moviejukebox.tools.FileTools.createFileInputStream(FileTools.java:363)
at com.moviejukebox.tools.GraphicTools.loadJPEGImage(GraphicTools.java:76)
at com.moviejukebox.MovieJukebox.createThumbnail(MovieJukebox.java:1396)
at com.moviejukebox.MovieJukebox$5.call(MovieJukebox.java:883)
at com.moviejukebox.MovieJukebox$5.call(MovieJukebox.java:869)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at com.moviejukebox.tools.ThreadExecutor$ScheduledThread.run(ThreadExecutor.java:115)

Writing Indexes XML...
  Indexing Other (1/7) contains 3 indexes
  Indexing Genres (2/7) contains 2 indexes
  Indexing Title (3/7) contains 1 indexes
  Indexing Rating (4/7) contains 1 indexes
  Indexing Year (5/7) contains 1 indexes
  Indexing Library (6/7) contains 0 indexes
  Indexing Set (7/7) contains 0 indexes
Writing Category XML...
  Indexing Categories
Writing Indexes HTML...
Writing Category HTML...
Copying new files to Jukebox directory...
    Copying directory /mnt/user/Movies/YAMJ/temp/Jukebox (21/21)
Copying resources to Jukebox directory...
    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (10/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (11/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (12/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (13/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (14/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (15/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (16/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (17/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (18/19    Copying directory /mnt/user/Movies/YAMJ/./skins/default/html/pictures (19/19)

Jukebox cleaning skipped
Clean up temporary files

MovieJukebox process completed at Fri Jun 04 04:02:17 GMT-08:00 2010
Processing took 00:00:29

Link to comment

Exactly this are the messages I was getting too.

 

Ok, try first to put those in your moviejukebox.properties file (if it does not exist in your yamj directory then please create it)

 

mjb.MaxThreadsScan=1

mjb.MaxThreadsProcess=1

 

and rescan.

 

And if you still get the same error, then put also

 

mjb.forceXMLOverwrite=true

mjb.forceHTMLOverwrite=true

mjb.forceThumbnailsOverwrite=true

mjb.forcePostersOverwrite=true

mjb.forceFanartOverwrite=true

mjb.forceBannersOverwrite=true

mjb.forceVideoImagesOverwrite=true

 

This will basically overwrite all generated files but I am curious as this one did it for me on the smaller system.

 

 

 

Link to comment

no worries on overwriting any jukebox stuff.  i only have 1 movie in there right now so that it runs quickly.  i created the properties file and got the same error.  added the 2nd batch of settings, and it still didn't work correctly.  the rescan output to the terminal window did say that it was referencing the properties file.

 

still puzzled.

Link to comment

You don't really need those libraries. At least not for what you're using Java for. They deal with X-Windows / GUI / Display items. Matter of fact, I'm surprised that x-awt is even being loaded at all by the Java program. In Java AWT is the abstract window toolkit which should only be utilized for doing graphical tasks. I can only think it's being loaded if Java isn't using a load-on-demand but actually a load-up-front model.

 

EDIT: Looking at the stack trace from the exception, it seems its loading in the xawt library because for whatever reason Java opted to put the ImageType class in their AWT package which is used by the Java Extension package 'imageio'.

 

A full install of the X-Windows system would be well beyond the scope and capabilities of running the file system in-memory or via flash-drive.

Link to comment

starcat, when yours works properly, does it throw java errors like mine?

 

also, remember that this program is grabbing information off the internet.  if those sites are having problems, so will we.

 

mine still throws the errors and doesn't download any images or make a functioning jukebox.  the PCH loads it, but there are no images, and the movies won't play.

 

:(

Link to comment

anyone?  this is very frustrating. Tom?

 

Have you by chance checked over at the networkedmediatank.com forums?  It may be tough for Tom to support this considering all the various configurations, etc.

 

you can always use a windows box and get it going for the time being then figure out why your unraid internal issues are happening.  Just a thought...

 

 

Link to comment

anyone?  this is very frustrating. Tom?

 

Have you by chance checked over at the networkedmediatank.com forums?  It may be tough for Tom to support this considering all the various configurations, etc.

 

you can always use a windows box and get it going for the time being then figure out why your unraid internal issues are happening.  Just a thought...

I have read quite a bit at the nmt forums (been reading there for over a year on various subjects).  I agree this may be hard to support given the various configurations, but this mine is about as stock as you can get.  I have cache_dirs running and the battery backup manager.  I've tried disabling both with no luck.  yamj-rescan just keeps throwing java errors in regards to scraping the images.  Even changed my share name to Movies to mimic the default setup even closer and reinstalled the yamj setup.

 

I did manage to get the jukebox playing movies on the PCH by changing the line from:

 

<playerpath>file:///opt/sybhttpd/localhost.drives/NETWORK_SHARE/TOWER:Movies</playerpath>

 

(though I had the unraid box's name instead of TOWER)

 

to

 

<playerpath>file:///opt/sybhttpd/localhost.drives/NETWORK_SHARE/Movies</playerpath>

 

But none of the images are there, making it a pretty bad jukebox.  :)  It pulls the plot, rating, etc, info from IMBD, but no images.  Or at least it doesn't write the images.

 

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.