haveagitgat / tdarr Goto Github PK
View Code? Open in Web Editor NEWTdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
License: Other
Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
License: Other
Is it possible to indicate on the Search tab results if an item is currently in a queue or not in a queue? Currently I have no indication and I still have the ability to bump an item to the top of a potentially, non-existent queue.
If so, can we see the queue position number on that search result? If it's 3 out of 4,312 items I may not want to bump it, but if it's 4,041 then I may.
I've been getting the following fatal error since updating yesterday.
MongoNetworkError: failed to connect to server [mongodb:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND mongodb mongodb:27017]
It's possible something went wrong before the update, as it didn't seem to be transcoding anymore. I tried removing the database files and updating again, hoping it would rebuild, but I got the same error.
Hey there,
I'm wondering if it's possible to have an field on each library that allows us to put a Description or Name in for that library. Just something that makes it a little easier to recognize what we've got the library doing or whatever purpose.
Right now, I've got 5 different libraries setup, each pointing to different locations and it's starting to feel a bit long and confusing at times, so I was wondering if this would help some.
Thanks!
Hello! I've upgraded the tdarr_aoi docker on unraid to 1.005 and the base url env variable doesn't appear to work based on the instructions provided in the feature request. This is the docker variable I'm passing in as a test:
-e 'BASE'='/base'
When navigating to "http://localhost:8265/base/stats", a blank page comes up with the menu on top. The menu still points back to the root "/", for example if I select Stats on the menu, the url is "http://localhost:8265/stats".
From what I can see, I don't really get any feedback on individual encodes. Because this system just replaces files in place, I'm quite nervous about letting it rip across my whole library. In particular, I don't want to lose any of the associated tracks, subtitles, audio etc within my files and I'm not convinced a handbreak plugin is going to be nice to me.
Common sense testing aside, I think it would be awesome to provide some method of feedback like a before after scenario e.g.
Original --------> New
h264 video ----> HEVC Video
Subtitle Eng ---> Unchanged
Audio Track 1 --> Unchanged
Chapter Marks -> Unchanged
etc
Probably a better way to display it though.
If I click on the github help button within Tdarr, it takes me to the main Github page. Shouldn't this go to the wiki now?
Also, I suspect it would be better if it opened in a new window, currently it closes my Tdarr application so to speak.
Would it be possible to display the full path / filename on each individual worker?
Currently it's <filename>
and then %
Then when you open the i
you get the
CLI:
Preset:
Process reasons:
Start time:
Duration:
Original size (GB):
Could we add in
Path:
CLI:
Preset:
Process reasons:
Start time:
Duration:
Original size (GB):
The information popup for successfully completed transcodes shows "undefined".
Hi, very awesome project. Planning on spinning this up and testing it on my 28TB library.
Would it be at all possible/easy to use another database than mongoDB. If it's too much work don't worry about it I'll just spin up a mongo container.
MySQL or PostgreSQL would be awesome though.
The resolution matching seems to require an exact match for vertical and horizontal pixels to identify as 480p, 720p, 1080p, etc. Videos are often cropped down to a narrower aspect ratio (i.e removal of black bars) but should still be considered 480p, 720p, 1080p, etc.
Resolution should be determined by the horizontal pixel count only and should have a tolerance of a few pixels. This should move most of the "other" resolutions into useful categories.
It would be super great to add a bit more info to the worker windows. E.g. in handbrake I can usually see things like how long it's been running for / time remaining and estimated output size. Probably some other things can be done too, like listing the original file size.
After successful completion or an error on a transcode, the transcoder leaves empty folders.
Expected behavior: The transcoder should remove empty directories after transferring successfully transcoded files or on an error if the created directories remain empty.
Hello! I'm using Tdarr docker container with Unraid. The application unexpectedly crashed and the container is no longer running. This is the last bit in the log:
<--- Last few GCs --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory[1:0x5569dccd80e0] 82052488 ms: Scavenge 1160.6 (1219.3) -> 1144.9 (1219.3) MB, 3.4 / 0.0 ms (average mu = 0.121, current mu = 0.060) allocation failure
[1:0x5569dccd80e0] 82052602 ms: Scavenge 1160.6 (1219.3) -> 1144.9 (1219.3) MB, 3.5 / 0.0 ms (average mu = 0.121, current mu = 0.060) allocation failure
[1:0x5569dccd80e0] 82052838 ms: Scavenge 1160.9 (1219.8) -> 1145.4 (1219.8) MB, 3.3 / 0.0 ms (average mu = 0.121, current mu = 0.060) allocation failure<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0xa843025be1d]
1: StubFrame [pc: 0xa84302840b1]
Security context: 0x36031851e6e9
2: onread(aka onStreamRead) [0x2f9548c55361] [internal/stream_base_commons.js:87] [bytecode=0x37fc637c9a9 offset=0](this=0x0f98f252fa81 ,nread=65536,buf=0x179a78804a09 )
3: InternalFrame [pc: 0xa843020ee75]
4: EntryFrame [pc: 0xa84302092c1]==== Detail...
I restarted it and runs for a bit then crashes within a couple minutes. This was one of the following crashes:
<--- Last few GCs --->
[1:0x55cdb8d260e0] 105883 ms: Mark-sweep 1390.1 (1427.3) -> 1389.7 (1431.3) MB, 598.9 / 0.0 ms (average mu = 0.144, current mu = 0.086) allocation failure scavenge might not succeed
[1:0x55cdb8d260e0] 106477 ms: Mark-sweep 1393.0 (1431.3) -> 1392.8 (1431.8) MB, 575.1 / 0.0 ms (average mu = 0.091, current mu = 0.031) allocation failure scavenge might not succeed<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x1dfce44c2ee1]
Security context: 0x1caa8ef1e6e9
1: stringSlice(aka stringSlice) [0x3aa100c13429] [buffer.js:~589] [pc=0x1dfce46b1e2f](this=0x01b52b8826f1 ,buf=0x12ff689fcac1 ,encoding=0x1caa8ef3dd31 <String[4]: utf8>,start=5213310,end=5213325)
2: deserializeObject(aka deserializeObject) [0x6769c628521] [/app/Tdarr/bundle/programs/server/npm/node_modules/...FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
The application was running just fine when my only library was a test directory of about 20 movies. The issue started when I created new libraries pointing towards my full content. Is there a way to increase the JavaScript heap size?
I've created a custom preset as follows
Super_HQ_1080p30_Surround_Hardware.txt
Set the Video Encoder to nvenc_h264
which, as far as I know, should enable the use of a Nvidia GPU to use GPU Hardware Acceleration. I've setup the docker container the same as my Emby container but it's still not using my GPU when transcoding (I'm checking on the host with watch nvidia-smi
.
Is there something missing in the container? Or isn't it supported at all? Or am I doing something wrong?
Health checks seem to just go from 0% to complete instead of actually showing the progress or an ETA. Is this possible to fix or not due to outputting to null?
Hey there,
I'm wondering if it's possible to have an option to basically put an entire library on PAUSE. I'd like to NOT have to delete the library if I don't want it running right then for whatever specific reason but I'd also like to simply pause it.
For now, I've been using the schedule to hack this and forcing the time to 01 to 02 only, but a pause would be easier and more logical.
Highlight + format
Need to add linebreaks to plugin details.
And another one.
Is it possible to break the schedule out by day as well as hours. Currently, I have much less utilization Mon - Fri 1am - 5pm than I do Sat - Sun for those same times. The per library schedule is fantastic, but adding days will make it much more flexible.
Thanks!
When you goto the "libraries" tab the screen just comes up blank.
I thought it might just be some aberrant cache files left over from the previous version but have tried this in chrome, firefox and edge to no avail. Tried clearing cache etc. Just a blank screen on page
http://localhost:8265/settings/
Hello! I'd like to set up Tdarr behind a nginx reverse proxy with a subdirectory. Would it be possible to add a configuration for url base?
Seems to be a bug with Radarr/Sonarr, although need to investigate a bit further.
Thinking about it, it would be nice to have a running tally of what you had, what you've done and whats left to do. For me I just want my whole library in HEVC. So knowing how much I've personally converted, e.g. each day, by week etc would be quite motivating.
Hello,
It's Not an issue.
But what can i so to use my Nvidia GPU in the tdarr Container!?
I have already installed the Nvidia Plugin and it's working with the Plex Container.
Thanks for comments...
Chris
Have the "Don't transcode videos already in these codecs:" be universal for the video and audio sections. If i add a codec to the video section allow the box to now appear on all video libraries, similar for audio. Not for the options to be selected the same across all libraries but so we do not have to manually enter them for every single library.
It would be useful to be able to get a list of files by clicking on pie-chart segments on the stats page. it would be useful to see what files are in each category for general library management (e.g. files in an unusual format or resolution).
Say I have three different libraries configured, I would like to "rank" those libraries 1, 2 and 3 in order of prioritzation. Example - Library 1 has 200 files and is Prority 1, Library 2 is 500 files and is P2 and Library 3 is 3,000 files and is P3. Library 1 has completed processing everything but has Folder Watch enabled. Library 2 is currently in process as is Library 3. When a new item is detected in Library 1, since it has a higher priority than Library 2 or Library 3, that new item bumps up automatically to the top of the queue.
This is probably on your radar (hah, get it?) already, but on the Help tab, could you set the URL's as clickable links. Also I was wondering if you could add a link to the github here as well.
Thanks!
I'm new to ffmpeg and can't use the basic commands in Tdarr.
I would like to encode in x265 with crf and fdk_aaa all audio + subtile
which syntax is used?
Also, on the Plugins tab, can you make the Link item an actual hypertext link to open in a new tab/window. Right now it's just text
Have installed node js on windows and also MongoDB
Downloaded Windows .7z file and unzipped.
The next instruction says to run command prompt in the root folder.
First Question: Which folder?
Second Question: I am getting the following error when I run the commands stated:
PS C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle> set MONGO_URL=mongodb://localhost:27017/Tdarr
PS C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle> set PORT=8265
PS C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle> set ROOT_URL=http://localhost/
PS C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle> node main.js
C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\node_modules\fibers\fibers.js:90
return fn.apply(this, arguments);
^
Error: Must pass options.rootUrl or set ROOT_URL in the server environment
at Object.Meteor.absoluteUrl (packages\meteor.js:1378:11)
at runWebAppServer (packages/webapp/webapp_server.js:771:18)
at webapp_server.js (packages/webapp/webapp_server.js:1175:1)
at fileEvaluate (packages\modules-runtime.js:336:7)
at Module.require (packages\modules-runtime.js:238:14)
at require (packages\modules-runtime.js:258:21)
at C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\packages\webapp.js:1588:15
at C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\packages\webapp.js:1597:3
at C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\boot.js:419:36
at Array.forEach ()
at C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\boot.js:228:19
at C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\boot.js:479:5
at Function.run (C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\profile.js:510:12)
at C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle\programs\server\boot.js:478:11
PS C:\Tdarr\Tdarr-Windows-01-pre-alpha\bundle>
I note that under "i" under the video being transcoded you have "Original Size (GB)" listed in the extra information. Could you add "Estimated size" as well to show the estimated size of the new file being created?
Option to only convert specific codecs
Some people might feel uneasy with changes being applied automatically to something that could potentially ruin their entire media library without an undo process. Can you add a apply button to changes that we can make so it doesn't go and start making changes to our files until we are completely done setting everything up.
I'm combining a few items into one request here but they seem pretty related. All three are on the Tdarr Tab itself.
File is h264 480p!File has no title and has no subs File has no title metadata File has no subs File is in mkv container! File meets conditions!
On the Tdarr tab, is it possible to show the before and after size on the Transcode log when hitting the i button?
On the Tdarr tab, is it possible to show the date/timestamp in both the transcode and health logs? Even if it's under the i button.
Would it be possible to have some more control over how transcoded files are handled? I tag the codec of the file in filenames, which becomes incorrect after tdarr transcodes them.
Potential solutions:
Howdy, I've been looking for a project like this to let loose on my library. Will check back when I get a bit of free time.
A suggestion:
Some older 4K TVs (confirmed for various Samsung TVs on the Plex forums - I have a KS8000), do not like too many streams on in an mkv. If there are more than ~20 elements (including video/audios/subs) playback starts buffering/glitching. Removing superfluous elements (using mkvtoolnix) and I find the same UHD file at the same high bitrate plays flawlessly.
Would love to be able to strip out subtitles at the same time as doing a pass for audio/video.
I am very excited about this new tool. Some things I've noticed:
I've installed the docker and note there's not yet a how to get it started (once installed). Not surprising at this stage, but probably would have helped me with some of the below.
It's started with no libraries - even though it's mapped to standard locations in docker - I assume this allows sub libraries within the main mount point, however it also asks me for a transcode cache folder, even though one was set up to a default mount point in the docker. Being a default mount point, shouldn't it default to that internal docker path? e.g. /home/Tdarr/cache
I add the source folder under /home/Tdarr/Media and it sees all the content under this via the docker mapping - however I have not way of adding the library and it still says 'No Libraries' up at the top left of the window. I've tried clicking both scan buttons and nothing changes.
Also being in docker on linux, it is slightly odd to see windows based formatting - C:/MySourceFolder showing up - something cosmetic to change for later maybe
Clearly the first place to start is to get some stats active which I can't do due to the above.
What am I missing? Happy to write it up in the Wiki for you once we solve it.
What does the worker sliders do? I seem to be able to move them up to 1 without anything actually working.
Hmm, just tried scan again and it looks like it's working now by doing that. Hopefully this helps someone else. Once I figure it all out I'll add to wiki. Thanks so much for making this!
but both of us have noted that the template continues to randomly add / change fields when you restart the container and that permissions inside the appdata config (the one mapped to /home/Tdarr/Documents in the container) are not being set correctly. Roxedus discovered some things missing in the template, but the former issue has not yet had any action.
May be cause of fresh scan on start.
You mentioned in a thread to me a number of weeks ago that you were planning to release a substancial update for the windows version. Any idea when that will be?
I'm wondering if it's possible on the Tdarr tab if you could add two buttons to the left of the three bars with the circles that are +1 and -1. I've had a few times in the past two days now where I've drug the circle a bit too far to the right and added 5 workers instead of 2 for example, because it doesn't naturally stop at the increments for me. So I was curious if just adding a +1 and -1 type button would help.
Thanks!
On the Tdarr tab, for each worker queue, is it possible to show the number of the current item and the number of items in the entire queue? Currently the queue just shows up to 20 so i'm wondering if somewhere in the actual worker boxes itself, could the item display like:
1 of 2,341
2 of 2,341
3 of 2,341
If you had three workers running.
I'd like to request a new feature- the ability to add an (optional) output directory, like in HBBatchBeast. Sometimes I don't know if the transcode is going to pan out and actually be an improvement on the source file. It would be nice to therefore not lose the source file pending manual review of the output.
It's also nice to know that anything in the completed folder is truly completed, so that you can go ahead and move those files. Currently, the folder at any point in time could be a mishmash of pending transcodes and completed transcodes.
Would it be possible to include NOT results in the search? For example, I'd like to search by mkv and NOT 720p.
mkv,-720p
Perhaps putting a MINUS sign in front of the search?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.