[Support] Josh5 - Unmanic - Library Optimiser


Recommended Posts

I have been using the staging branch for a while.  Just did a pull and I am not getting the dashboard.  getting  Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 1697, in _execute result = method(*self.path_args, **self.path_kwargs) File "/usr/local/lib/python3.6/dist-packages/unmanic/webserver/main.py", line 64, in get self.render("main/main.html", historic_task_list=self.historic_task_list, time_now=time.time(), session=self.session) File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 856, in render html = self.render_string(template_name, **kwargs) File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 1005, in render_string return t.generate(**namespace) File "/usr/local/lib/python3.6/dist-packages/tornado/template.py", line 361, in generate return execute() File "main/main_html.generated.py", line 34, in _tt_execute elif session.level > 0: # page_layout.html:119 TypeError: '>' not supported between instances of 'NoneType' and 'int'

Edited by dertbv
Link to comment
26 minutes ago, dertbv said:

I have been using the staging branch for a while.  Just did a pull and I am not getting the dashboard.  getting  Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 1697, in _execute result = method(*self.path_args, **self.path_kwargs) File "/usr/local/lib/python3.6/dist-packages/unmanic/webserver/main.py", line 64, in get self.render("main/main.html", historic_task_list=self.historic_task_list, time_now=time.time(), session=self.session) File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 856, in render html = self.render_string(template_name, **kwargs) File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 1005, in render_string return t.generate(**namespace) File "/usr/local/lib/python3.6/dist-packages/tornado/template.py", line 361, in generate return execute() File "main/main_html.generated.py", line 34, in _tt_execute elif session.level > 0: # page_layout.html:119 TypeError: '>' not supported between instances of 'NoneType' and 'int'

Thanks for the report and the logs.

 

A fix will be available in the 'staging' tag again for download in about 10 mins.

Link to comment
I've moved over to staging - GPU is not working any thoughts? 
207861314_ScreenShot2021-03-29at11_24_05AM.thumb.png.13ae1173d785ef4945e9d84bf37722e1.png
789111672_ScreenShot2021-03-29at11_21_29AM.png.adc9aaa75ba884b993656f5f6f71093b.png
1758960849_ScreenShot2021-03-29at11_22_41AM.png.435dc39cdc410f02c9e4887f5dbf34c2.png
1070855141_ScreenShot2021-03-29at11_21_40AM.png.34d173200771508646a5650558549b6b.png
Are you getting errors, or is it converting files?
Just because you have hardware acceleration enabled, does not mean the CPU will not be used. The CPU is still used for decoding, audio encoding and remixing. If the task is only those, then it will use 100% CPU.

Sent from my Mi MIX 2 using Tapatalk

  • Thanks 1
Link to comment
1 minute ago, Josh.5 said:

Are you getting errors, or is it converting files?
Just because you have hardware acceleration enabled, does not mean the CPU will not be used. The CPU is still used for decoding, audio encoding and remixing. If the task is only those, then it will use 100% CPU.

Sent from my Mi MIX 2 using Tapatalk
 

Understood- and yes, it is converting, but I guess at what point would the GPU kick in? When the video is actually being encoded?

Link to comment
Understood- and yes, it is converting, but I guess at what point would the GPU kick in? When the video is actually being encoded?
That is correct.
If you like, enable debugging. Then when a file is converted, take a look at the history and view the details of that conversion. Post the first part of the FFMPEG log here
Link to comment
2 minutes ago, Josh.5 said:

That is correct.
If you like, enable debugging. Then when a file is converted, take a look at the history and view the details of that conversion. Post the first part of the FFMPEG log here

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/library/movies/12 Angry Men (1957)/12 Angry Men (1957).mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.45.100
  Duration: 01:36:21.86, start: 0.000000, bitrate: 2589 kb/s
    Stream #0:0(eng): Video: hevc (hev1 / 0x31766568), yuv420p(tv), 1808x1080 [SAR 1:1 DAR 226:135], 1944 kb/s, 23.98 fps, 23.98 tbr, 16k tbn, 23.98 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, mono, fltp, 640 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Side data:
      audio service type: main
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, mp4, to '/tmp/unmanic/unmanic_file_conversion-1617037461.8777735/12 Angry Men (1957)-1617037461.8777893.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.45.100
    Stream #0:0(eng): Video: hevc (hev1 / 0x31766568), yuv420p(tv), 1808x1080 [SAR 1:1 DAR 226:135], q=2-31, 1944 kb/s, 23.98 fps, 23.98 tbr, 16k tbn, 16k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.91.100 aac
    Side data:
      audio service type: main

 

Link to comment



Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/library/movies/12 Angry Men (1957)/12 Angry Men (1957).mp4': Metadata:   major_brand     : isom   minor_version   : 512   compatible_brands: isomiso2mp41   encoder         : Lavf58.45.100 Duration: 01:36:21.86, start: 0.000000, bitrate: 2589 kb/s   Stream #0:0(eng): Video: hevc (hev1 / 0x31766568), yuv420p(tv), 1808x1080 [sAR 1:1 DAR 226:135], 1944 kb/s, 23.98 fps, 23.98 tbr, 16k tbn, 23.98 tbc (default)   Metadata:     handler_name    : VideoHandler   Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, mono, fltp, 640 kb/s (default)   Metadata:     handler_name    : SoundHandler   Side data:     audio service type: mainStream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))Press [q] to stop, [?] for helpOutput #0, mp4, to '/tmp/unmanic/unmanic_file_conversion-1617037461.8777735/12 Angry Men (1957)-1617037461.8777893.mp4': Metadata:   major_brand     : isom   minor_version   : 512   compatible_brands: isomiso2mp41   encoder         : Lavf58.45.100   Stream #0:0(eng): Video: hevc (hev1 / 0x31766568), yuv420p(tv), 1808x1080 [sAR 1:1 DAR 226:135], q=2-31, 1944 kb/s, 23.98 fps, 23.98 tbr, 16k tbn, 16k tbc (default)   Metadata:     handler_name    : VideoHandler   Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)   Metadata:     handler_name    : SoundHandler     encoder         : Lavc58.91.100 aac   Side data:     audio service type: main

 



So you see how this log says:
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))

That basically shows that the video stream was already the correct format as configured in Unmanic's settings. Therefore it is just going to copy it from source to destination. Your GPU will not be touched in this task.
Link to comment
1 minute ago, Josh.5 said:


 

 


So you see how this log says:
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))

That basically shows that the video stream was already the correct format as configured in Unmanic's settings. Therefore it is just going to copy it from source to destination. Your GPU will not be touched in this task.

 

Ok thank you for the dev on this and the quick response/community!

 

Link to comment

Having a quick play with this, and the foundations look real solid and almost just what i'm after. I am curious though, any plans to add a manual scan button to the front page, and perhaps a 'start paused' type option? So we could select a single folder from the scan and start it before bed for example. I prefer to be more in control of what is happening is all, so being able to scan and encode a folder at a time without -everything- being encoded automatically would be great. Plus then I can run it max speed when I know nobody will be using it.

 

Haven't tested this part yet as running a test encode first, but assuming the advanced options is where I could change the video quality settings under 'customer ffmpeg options' to whatever I prefer? And I could only add video preferences and audio would pull the info from the 'audio encoding' tab?

Link to comment



Having a quick play with this, and the foundations look real solid and almost just what i'm after. I am curious though, any plans to add a manual scan button to the front page, and perhaps a 'start paused' type option? So we could select a single folder from the scan and start it before bed for example. I prefer to be more in control of what is happening is all, so being able to scan and encode a folder at a time without -everything- being encoded automatically would be great. Plus then I can run it max speed when I know nobody will be using it.
 
Haven't tested this part yet as running a test encode first, but assuming the advanced options is where I could change the video quality settings under 'customer ffmpeg options' to whatever I prefer? And I could only add video preferences and audio would pull the info from the 'audio encoding' tab?


There is a manual scan button coming. It will be at the top of the pending tasks list.
No intent to have a start paused exactly, but I was going to add a scheduler of sorts at some point.
For now you are able to schedule Unmanic with docker and cron. I believe there are a few people in this thread that have done that by creating multiple Unmanic containers and a user script that starts and stops the containers at certain times during the day.

You are correct with the advanced FFMPEG options. This is the place to fine tune your requirements. You can add filters, etc here. And you will need to set the other options in the audio and video tabs.
If you want more control over the FFMPEG process, you will need to look at the new plugins feature currently available on the staging branch. Plugins are really easy to write if you know a little python.
Link to comment
21 hours ago, Josh.5 said:

For now you are able to schedule Unmanic with docker and cron. I believe there are a few people in this thread that have done that by creating multiple Unmanic containers and a user script that starts and stops the containers at certain times during the day.

 

@Yekul I did just that before GPU help was added. I tailored unManic to run around my peak Plex usage times. I don't want to insult your intelligence if you already know how but I will paste what I did here for others. 

 

I created two user scripts entries for "Start unManic" and "Stop unManic". You can create 'one' script but I don't like a script pending in the background. Probably doesn't hurt anything but why do it that way. IMO. I hated that there is a possibility that it has a chance of killing it when I file is almost finished converting. But you get over that quick. It is so quick with a GPU, it doesn't matter anymore.  Messing with a 90% done CPU transcode hurt my pride a little. 

 

Start

#!/bin/bash
#Start Docker
docker start unmanic

 

and

 

Stop

#!/bin/bash
#Start Docker
docker stop unmanic

 

I know cron but use corntab to generate them only because it displays the schedule in english so I know it's correct and I don't screw up.

 

Edited by rmeaux
Link to comment

No issues... Just wanted to thank you for continuing your development of this app. 

I'm currently refusing to use it on any of my 4k content as most of it is remux and I do not want to lose  an ounce of quality.  But using it on my Kids Movies library for example... god sent.

Do you ever plan on giving us more control on the actual transcoding functions?  I have no idea how to use ffmpeg commands, but I am familiar with handbrakes video settings.  I love having the ability to select things like H.265 10-bit or 12-bit.  RF settings, framerate adjustments, etc.  Any plans on giving us the ability to chose 8-bit,10-bit, or even 12-bit encoding, quality control, or anything of that nature?

Thanks again.

Link to comment

hi, ive been having ongoing issue with my unraid server whereby ram and cpu are running at 100%. Ive narrowed this is down to unmanic. if i kill the container all is good with the world. 

 

It has only started happening since the unraid version update. any advice? i really like this docker container.  image.thumb.png.c276edab325227e8d279ba41fbb4319a.pngany advic

 

image.thumb.png.b850c194731a875ced87a8afd308ede8.png

Link to comment
1 hour ago, dfox1787 said:

hi, ive been having ongoing issue with my unraid server whereby ram and cpu are running at 100%. Ive narrowed this is down to unmanic. if i kill the container all is good with the world. 

 

It has only started happening since the unraid version update. any advice? i really like this docker container.  image.thumb.png.c276edab325227e8d279ba41fbb4319a.pngany advic

 

image.thumb.png.b850c194731a875ced87a8afd308ede8.png

Cannot diagnose this without logs

Link to comment
1 hour ago, Meller said:

No issues... Just wanted to thank you for continuing your development of this app. 

I'm currently refusing to use it on any of my 4k content as most of it is remux and I do not want to lose  an ounce of quality.  But using it on my Kids Movies library for example... god sent.

Do you ever plan on giving us more control on the actual transcoding functions?  I have no idea how to use ffmpeg commands, but I am familiar with handbrakes video settings.  I love having the ability to select things like H.265 10-bit or 12-bit.  RF settings, framerate adjustments, etc.  Any plans on giving us the ability to chose 8-bit,10-bit, or even 12-bit encoding, quality control, or anything of that nature?

Thanks again.

Yes. That is planned for a future update.

  • Like 1
Link to comment
21 minutes ago, Josh.5 said:

could you also post your config

 

Many thanks for quick response, im looking into app data folder but nothing visible. tried reinstalling again 

 

Below screenshot and also docker template output upon install, i just cant figure this out

 

 

Command:root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='unmanic' --net='host' -e TZ="Europe/London" -e HOST_OS="Unraid" -e 'TCP_PORT_8888'='8888' -e 'PUID'='99' -e 'PGID'='100' -e 'NVIDIA_VISIBLE_DEVICES'='false' -v '/mnt/user/appdata/unmanic':'/config':'rw' -v '/mnt/user/media/movies':'/library/movies':'rw' -v '/mnt/user/media/tv':'/library/tv':'rw' -v '/mnt/user/transcode/unmanic':'/tmp/unmanic':'rw' 'josh5/unmanic'

ad7c21b71d2838341f57032be5656a733087da0847bc9155a1f99e71d3ae982c

The command finished successfully!

 

image.png.6a5031af4f6f67f6de7cd7b4c80ea24e.png

 

image.thumb.png.66d04a618701d3b801407ccea23fc330.png

Link to comment
 
Many thanks for quick response, im looking into app data folder but nothing visible. tried reinstalling again 
 
Below screenshot and also docker template output upon install, i just cant figure this out
 
 
Command:root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='unmanic' --net='host' -e TZ="Europe/London" -e HOST_OS="Unraid" -e 'TCP_PORT_8888'='8888' -e 'PUID'='99' -e 'PGID'='100' -e 'NVIDIA_VISIBLE_DEVICES'='false' -v '/mnt/user/appdata/unmanic':'/config':'rw' -v '/mnt/user/media/movies':'/library/movies':'rw' -v '/mnt/user/media/tv':'/library/tv':'rw' -v '/mnt/user/transcode/unmanic':'/tmp/unmanic':'rw' 'josh5/unmanic'
ad7c21b71d2838341f57032be5656a733087da0847bc9155a1f99e71d3ae982c

The command finished successfully!
 
image.png.6a5031af4f6f67f6de7cd7b4c80ea24e.png
 
image.thumb.png.66d04a618701d3b801407ccea23fc330.png
Could you please try modifying the permission on your appdata/unmanic directory to:

chown -R nobody:users
chmod -R a+rw


Then restart the container
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.