Jump to content
Josh.5

[Support] Josh5 - Unmanic - Library Optimiser

153 posts in this topic Last Reply

Recommended Posts

Posted (edited)

logo-white_font.png

 

Application Name: UNMANIC - Library Optimiser

Application Site: https://github.com/Josh5/unmanic/

Docker Hub: https://hub.docker.com/r/josh5/unmanic/

Github: https://github.com/Josh5/unmanic/

 

Unmanic is a simple tool for optimising your video library to a single format. Unmanic is developed in such a way that it takes the complexity out of converting your media library. The idea is simply to point Unmanic at your library and let it manage it.

 

Unmanic carries provides you with 3 services:

 

First, Unmanic has a scheduler built in to scan your whole library for files that do not conform to your video presets. Videos found with incorrect formats are then queued for conversion.

 

Second, Unmanic provides a folder watchdog. When a video file is modified or a new file is added in your library, Unmanic is able to check that video against your configured video presets. Like the first service, if this video is not formatted correctly it is added to a queue for conversion.

 

Finally, Unmanic provides you with a Web UI to easily configure and monitor the progress of your library conversion.

 

 

NOTE:

Unmanic is currently in beta. There is still a fair bit of development to go before I would consider it a end user ready product. As such please feel free to provide me with feedback on what features you would like to see added, keeping in mind the ultimate goal of Unmanic is to be a simple solution for average people to convert their video library.

 

 

The Docker container is currently based on an Ubuntu image. So it will be quite bloated for what it is. I will migrate this over to a more streamlined Alpine based container before the application comes out of beta testing.

 

 

dashboard-mobile-1.png

dashboard-1.png

 

 

Setup Guide:

 

Setup according to the following image:

Selection_999(068).thumb.png.793458e2e721259c10a357cf5805ff94.png

 

For those wanting to access multiple libraries:

Selection_999(070).thumb.png.72c5d9958a6be65fcfbdd58cab0d8e6c.png

^ This will be replaced eventually with the idea of having multiple paths configured from the WebUI, but that is a while off yet.

Edited by Josh.5
  • Upvote 3

Share this post


Link to post

Great work Josh. The previous build didn't work to well for me but I'm going to try this one out now. Thanks for your work on this.

Share this post


Link to post
4 minutes ago, zAdok said:

Great work Josh. The previous build didn't work to well for me but I'm going to try this one out now. Thanks for your work on this.

This is still pretty early on, there are still not that many configuration options. The main thing that this provides over the previous version is the ability to add configuration that is simple to apply from a user's perspective via the web ui.

If you could let me know details of what sorts of things don't work out for you that will be helpful.

Share this post


Link to post
56 minutes ago, Josh.5 said:

This is still pretty early on, there are still not that many configuration options. The main thing that this provides over the previous version is the ability to add configuration that is simple to apply from a user's perspective via the web ui.

If you could let me know details of what sorts of things don't work out for you that will be helpful.

OK so far I've found a few bugs. 

1 - When the docker was pinned to core 2,3 (i have only 4 cores) it used 100% of core 3 but wasn't actually scanning anything. Upon switching it to use all cores 0-3 it scanned the library OK and started building the queue.

2 - When you set the scheduler to 0 (to disable the schedule) the option to scan on startup does nothing.

3 - A few times when I've stopped the container and started it again, the number of workers have gone back to 3 (i've set it to 1) and the library scan went back to 60 (I had it at 180). This hasn't occurred when restarting it, only stop/start.

4 - It can't parse apostrophe characters when scanning the library, results in ' being added instead. Not sure if the file outputs this way though.

Share this post


Link to post

I don't want to optimize some stuff in my library so it would be nice if you could add a suffix for example in the folder that you want to ignore in your library 

Share this post


Link to post
Posted (edited)

My first re-encode has just completed and wow. Quality is fantastic and the audio is nice too (previous build the audio was very choppy). File size has gone from about 3GB to 480MB.

Edited by zAdok

Share this post


Link to post

I just installed the container. Should I copy over the the setting from the beta libraryoptimiser? Also is there a GUI? for viewing the que?

Share this post


Link to post
45 minutes ago, trekkiedj said:

@Josh.5I cant work out how to get the to the GUI

Go into the settings for the container; turn on the advanced settings (at top right; and then put [PORT:8888] into the setting for the WebUI.   When you now start the container and click on the container icon you will have the option to connect to the WebUI.

Share this post


Link to post
Posted (edited)
21 minutes ago, itimpi said:

Go into the settings for the container; turn on the advanced settings (at top right; and then put [PORT:8888] into the setting for the WebUI.   When you now start the container and click on the container icon you will have the option to connect to the WebUI.

@itimpi Would you mind screenshotting your container page? I am having a nightmare getting this to work!

Edited by trekkiedj

Share this post


Link to post
58 minutes ago, trekkiedj said:

@itimpi Would you mind screenshotting your container page? I am having a nightmare getting this to work!

Also struggling to launch the webUI. The WebUI option is available to click on but it goes nowhere.

Share this post


Link to post

Not sure if this is 100% correct but working for GUI

ac94c2b313e6d16d7e84e72c56a07efc.jpg


Sent from my iPhone using Tapatalk

Share this post


Link to post
29 minutes ago, Ashe said:

Not sure if this is 100% correct but working for GUI

ac94c2b313e6d16d7e84e72c56a07efc.jpg


Sent from my iPhone using Tapatalk

Still the same.  I've reinstalled, applied settings as yours and rebooted unraid.  Anything else I could have missed?

Share this post


Link to post
Still the same.  I've reinstalled, applied settings as yours and rebooted unraid.  Anything else I could have missed?


Just check the cache section, I've labelled it cache

c52c1991cdb2582d2293d55d2ad088df.jpg

Have you got anything else running on 8888 already?


Sent from my iPhone using Tapatalk

Share this post


Link to post

I really think we could do with some guidance from @Josh.5 as to how to configure this in unraid. This is an awesome container that solves many of my problems, if only i could get it working correctly!

 

Notwithstanding that, this is really good work.

Share this post


Link to post
24 minutes ago, Ashe said:

 


Just check the cache section, I've labelled it cache

c52c1991cdb2582d2293d55d2ad088df.jpg

Have you got anything else running on 8888 already?


Sent from my iPhone using Tapatalk

 

Nothing else running on 8888.

 

Cache looks ok too.

 

562731144_Screenshot2019-01-06at18_25_49.thumb.png.9d6f3513675ec68d7f26179c98ee5188.png

Share this post


Link to post
Nothing else running on 8888.
 
Cache looks ok too.
 
562731144_Screenshot2019-01-06at18_25_49.thumb.png.9d6f3513675ec68d7f26179c98ee5188.png

Can't think of anything else. Anything going on in the log? Other than that as@trekkiedj said, it would be better for some guidance


Sent from my iPhone using Tapatalk

Share this post


Link to post

I have mine set as in attached image (based on the example on GitHub)

Point to note are:

  • Advanced view is enabled so that I can set the WebUI entry
  • I have pointed the /library container location to a temporary location on my server as I do not (yet) want my main media library to be scanned.
  • I have pointed the transcoding location to a location that is in RAM on the host.   If you do not want this then point to a suitable location on the cache disk.
  • I have selected 'host' style networking.   This means I have also set up a port mapping entry in case I want to use a different port to the default of 8888.

 

 

IMG_0191.jpg

Share this post


Link to post
1 hour ago, itimpi said:

I have mine set as in attached image (based on the example on GitHub)

Point to note are:

  • Advanced view is enabled so that I can set the WebUI entry
  • I have pointed the /library container location to a temporary location on my server as I do not (yet) want my main media library to be scanned.
  • I have pointed the transcoding location to a location that is in RAM on the host.   If you do not want this then point to a suitable location on the cache disk.
  • I have selected 'host' style networking.   This means I have also set up a port mapping entry in case I want to use a different port to the default of 8888.

 

 

IMG_0191.jpg

Sorted it thanks.  Cleared the cache in Chrome.  Settings were fine all along.

Share this post


Link to post

Thanks, i now have it running fine... almost!

 

@Josh.5 - I have a large library, and i dont know if it is related,  but if i point the container to my entire TV series library, after a few minutes the WebUI page gets replaced with the following:

 

Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/tornado/web.py", line 1590, in _execute result = method(*self.path_args, **self.path_kwargs) File "/app/webserver/main.py", line 51, in get self.render("main.html", time_now=time.time()) File "/usr/local/lib/python3.5/dist-packages/tornado/web.py", line 766, in render html = self.render_string(template_name, **kwargs) File "/usr/local/lib/python3.5/dist-packages/tornado/web.py", line 907, in render_string return t.generate(**namespace) File "/usr/local/lib/python3.5/dist-packages/tornado/template.py", line 346, in generate return execute() File "main_html.generated.py", line 89, in _tt_execute if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp) # main-pending-tasks.html:7 (via main.html:195, page_layout.html:123) File "/usr/local/lib/python3.5/dist-packages/tornado/escape.py", line 199, in utf8 return value.encode("utf-8") UnicodeEncodeError: 'utf-8' codec can't encode character '\udce2' in position 48: surrogates not allowed

 

The processes seem to still be running in the background as the log reflects this but the WebUI is non-functional. It's not happening if i just select a single show folder.

 

Share this post


Link to post

 
The processes seem to still be running in the background as the log reflects this but the WebUI is non-functional. It's not happening if i just select a single show folder.
 


Just to note that I'm experiencing the same with a large library.


Sent from my iPhone using Tapatalk

Share this post


Link to post

Holy smokes there are a lots of posts here. Sorry for the absence.

Thanks everyone for the feedback, especially those who took the time to raise issues on github. If I don't get back to you directly its because I'm busy either working or working. I've had an insanely busy first day back at work and it looks like more of that for perhaps the next few weeks.

I spent a few hours today implementing the guts of automated testing for the project. This highlighted some pretty dumb code that I had written. As such I'v just spent the past few hours refactoring the file that handles communication with the ffmpeg subprocesses.

The next priority I'm seeing here is to fix up issues with not escaping or converting special characters. Finger crossed I can get that done asap for you guys.


Thanks again,

Josh

Sent from my ONE E1003 using Tapatalk

  • Like 2
  • Upvote 1

Share this post


Link to post
Posted (edited)

@Josh.5 Stellar work as always mate. Thanks so much. Just FYI I still get the Ascii unicode error if i try to point it to my movie library (the same as when it was LibraryOptimiser) Added my comment to the error on Github.

Edited by trekkiedj

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now