[Support] HaveAGitGat - Tdarr: Audio/Video Library Analytics & Transcode Automation


Recommended Posts

7 hours ago, nickp85 said:

Can this use Intel Quick Sync for GPU encoding?  I got it working on the Handbrake docker so I exported my preset then used the following to call the preset in tdarr as a local plugin but am getting an error.  It cycles through all my library files quick and takes no action.

 

I confirmed the json file exported from Handbrake is in the right directory as viewed by Tdarr.  It's mapped to my appdata/tdarr-aio/ folder on host. I also passed /dev/dri as a device to the container like I do with Handbrake and Plex containers.

 

Config:

--preset-import-file "/home/Tdarr/Documents/myh265.json" -Z "myh265"

 

Error in log:

ERROR: encx265: x265_param_default_preset failed. Preset (quality) Tune ((null))

ERROR: Failure to initialise thread 'H.265/HEVC encoder (libx265)'

 

 

Here is my plugin:

 


var fs = require('fs');
    var path = require('path');
    if (fs.existsSync(path.join(process.cwd() , '/npm'))) {
    var rootModules = path.join(process.cwd() , '/npm/node_modules/')
    } else{
    var rootModules = ''
    }

    const importFresh = require(rootModules+'import-fresh');
    const library = importFresh('../methods/library.js')

      function details() {

          return {
            id: "zp0Vxm70",
            Name: "myh265",
            Type: "Video",
            Operation: "Transcode",
            Description: "myh265",
            Version: "",
            Link: ""
          }
        }

        function plugin(file) {


          //Must return this object at some point

          var response = {

             processFile : true,
             preset : '',
             container : '',
             handBrakeMode : false,
             FFmpegMode : true,
             reQueueAfter : true,
             infoLog : '',

          }

          response.infoLog += "" + library.filters.filterByCodec(file,"exclude","hevc").note + library.filters.filterByMedium(file,"video").note


          if(true &&library.filters.filterByCodec(file,"exclude","hevc").outcome === true &&library.filters.filterByMedium(file,"video").outcome === true){


              response.preset = '--preset-import-file "/home/Tdarr/Documents/myh265.json" -Z "myh265"'
              response.container = '.mkv'
              response.handBrakeMode = true
              response.FFmpegMode = false

              response.reQueueAfter = true;
              response.processFile = true
              response.infoLog +=  ""
              return response


             }else{

              response.processFile = false;
              response.infoLog += ""
              return response


             }
        }

module.exports.details = details;
module.exports.plugin = plugin;

 

And my json file for the preset exported from Handbrake container.  Basically used Spaceinvader's YouTube to create my preset


{
    "PresetList": [
        {
            "AlignAVStart": false,
            "AudioCopyMask": [
                "copy:mp3",
                "copy:aac",
                "copy:ac3",
                "copy:dts",
                "copy:dtshd",
                "copy:eac3",
                "copy:truehd"
            ],
            "AudioEncoderFallback": "fdk_aac",
            "AudioLanguageList": [],
            "AudioList": [
                {
                    "AudioBitrate": 160,
                    "AudioCompressionLevel": -1.0,
                    "AudioDitherMethod": "auto",
                    "AudioEncoder": "fdk_aac",
                    "AudioMixdown": "dpl2",
                    "AudioNormalizeMixLevel": false,
                    "AudioSamplerate": "auto",
                    "AudioTrackDRCSlider": 0.0,
                    "AudioTrackGainSlider": 0.0,
                    "AudioTrackQuality": 1.0,
                    "AudioTrackQualityEnable": false
                }
            ],
            "AudioSecondaryEncoderMode": true,
            "AudioTrackSelectionBehavior": "first",
            "ChapterMarkers": true,
            "ChildrenArray": [],
            "Default": true,
            "FileFormat": "av_mkv",
            "Folder": false,
            "FolderOpen": false,
            "InlineParameterSets": false,
            "Mp4HttpOptimize": false,
            "Mp4iPodCompatible": false,
            "PictureAutoCrop": true,
            "PictureBottomCrop": 0,
            "PictureChromaSmoothCustom": "",
            "PictureChromaSmoothPreset": "off",
            "PictureChromaSmoothTune": "none",
            "PictureCombDetectCustom": "",
            "PictureCombDetectPreset": "default",
            "PictureDARWidth": 0,
            "PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8",
            "PictureDeblockPreset": "off",
            "PictureDeblockTune": "medium",
            "PictureDeinterlaceCustom": "",
            "PictureDeinterlaceFilter": "decomb",
            "PictureDeinterlacePreset": "default",
            "PictureDenoiseCustom": "",
            "PictureDenoiseFilter": "off",
            "PictureDenoisePreset": "",
            "PictureDenoiseTune": "none",
            "PictureDetelecine": "off",
            "PictureDetelecineCustom": "",
            "PictureForceHeight": 0,
            "PictureForceWidth": 0,
            "PictureHeight": 0,
            "PictureItuPAR": false,
            "PictureKeepRatio": true,
            "PictureLeftCrop": 0,
            "PictureLooseCrop": false,
            "PictureModulus": 2,
            "PicturePAR": "auto",
            "PicturePARHeight": 1,
            "PicturePARWidth": 1,
            "PictureRightCrop": 0,
            "PictureRotate": "disable=1",
            "PictureSharpenCustom": "",
            "PictureSharpenFilter": "off",
            "PictureSharpenPreset": "",
            "PictureSharpenTune": "",
            "PictureTopCrop": 0,
            "PictureWidth": 0,
            "PresetDescription": "",
            "PresetName": "myh265",
            "SubtitleAddCC": false,
            "SubtitleAddForeignAudioSearch": true,
            "SubtitleAddForeignAudioSubtitle": false,
            "SubtitleBurnBDSub": true,
            "SubtitleBurnBehavior": "foreign",
            "SubtitleBurnDVDSub": true,
            "SubtitleLanguageList": [
                "eng"
            ],
            "SubtitleTrackSelectionBehavior": "all",
            "Type": 1,
            "UsesPictureFilters": true,
            "UsesPictureSettings": 2,
            "VideoAvgBitrate": 6000,
            "VideoColorMatrixCodeOverride": 0,
            "VideoEncoder": "qsv_h265",
            "VideoFramerate": "auto",
            "VideoFramerateMode": "vfr",
            "VideoGrayScale": false,
            "VideoLevel": "auto",
            "VideoOptionExtra": "",
            "VideoPreset": "quality",
            "VideoProfile": "main",
            "VideoQSVAsyncDepth": 4,
            "VideoQSVDecode": false,
            "VideoQualitySlider": 17.0,
            "VideoQualityType": 2,
            "VideoScaler": "swscale",
            "VideoTune": "",
            "VideoTurboTwoPass": true,
            "VideoTwoPass": true,
            "x264Option": "",
            "x264UseAdvancedOptions": false
        }
    ],
    "VersionMajor": 40,
    "VersionMicro": 0,
    "VersionMinor": 0
}

 

log.txt 9.63 kB · 0 downloads

Thanks, it’s not possible to use quick sync at the moment. I’ll have a look at implementing it 👍

Link to comment
18 hours ago, nickp85 said:

Can this use Intel Quick Sync for GPU encoding?  I got it working on the Handbrake docker so I exported my preset then used the following to call the preset in tdarr as a local plugin but am getting an error.  It cycles through all my library files quick and takes no action.

 

I confirmed the json file exported from Handbrake is in the right directory as viewed by Tdarr.  It's mapped to my appdata/tdarr-aio/ folder on host. I also passed /dev/dri as a device to the container like I do with Handbrake and Plex containers.

 

Config:

--preset-import-file "/home/Tdarr/Documents/myh265.json" -Z "myh265"

 

Error in log:

ERROR: encx265: x265_param_default_preset failed. Preset (quality) Tune ((null))

ERROR: Failure to initialise thread 'H.265/HEVC encoder (libx265)'

 

 

Here is my plugin:

 


var fs = require('fs');
    var path = require('path');
    if (fs.existsSync(path.join(process.cwd() , '/npm'))) {
    var rootModules = path.join(process.cwd() , '/npm/node_modules/')
    } else{
    var rootModules = ''
    }

    const importFresh = require(rootModules+'import-fresh');
    const library = importFresh('../methods/library.js')

      function details() {

          return {
            id: "zp0Vxm70",
            Name: "myh265",
            Type: "Video",
            Operation: "Transcode",
            Description: "myh265",
            Version: "",
            Link: ""
          }
        }

        function plugin(file) {


          //Must return this object at some point

          var response = {

             processFile : true,
             preset : '',
             container : '',
             handBrakeMode : false,
             FFmpegMode : true,
             reQueueAfter : true,
             infoLog : '',

          }

          response.infoLog += "" + library.filters.filterByCodec(file,"exclude","hevc").note + library.filters.filterByMedium(file,"video").note


          if(true &&library.filters.filterByCodec(file,"exclude","hevc").outcome === true &&library.filters.filterByMedium(file,"video").outcome === true){


              response.preset = '--preset-import-file "/home/Tdarr/Documents/myh265.json" -Z "myh265"'
              response.container = '.mkv'
              response.handBrakeMode = true
              response.FFmpegMode = false

              response.reQueueAfter = true;
              response.processFile = true
              response.infoLog +=  ""
              return response


             }else{

              response.processFile = false;
              response.infoLog += ""
              return response


             }
        }

module.exports.details = details;
module.exports.plugin = plugin;

 

And my json file for the preset exported from Handbrake container.  Basically used Spaceinvader's YouTube to create my preset


{
    "PresetList": [
        {
            "AlignAVStart": false,
            "AudioCopyMask": [
                "copy:mp3",
                "copy:aac",
                "copy:ac3",
                "copy:dts",
                "copy:dtshd",
                "copy:eac3",
                "copy:truehd"
            ],
            "AudioEncoderFallback": "fdk_aac",
            "AudioLanguageList": [],
            "AudioList": [
                {
                    "AudioBitrate": 160,
                    "AudioCompressionLevel": -1.0,
                    "AudioDitherMethod": "auto",
                    "AudioEncoder": "fdk_aac",
                    "AudioMixdown": "dpl2",
                    "AudioNormalizeMixLevel": false,
                    "AudioSamplerate": "auto",
                    "AudioTrackDRCSlider": 0.0,
                    "AudioTrackGainSlider": 0.0,
                    "AudioTrackQuality": 1.0,
                    "AudioTrackQualityEnable": false
                }
            ],
            "AudioSecondaryEncoderMode": true,
            "AudioTrackSelectionBehavior": "first",
            "ChapterMarkers": true,
            "ChildrenArray": [],
            "Default": true,
            "FileFormat": "av_mkv",
            "Folder": false,
            "FolderOpen": false,
            "InlineParameterSets": false,
            "Mp4HttpOptimize": false,
            "Mp4iPodCompatible": false,
            "PictureAutoCrop": true,
            "PictureBottomCrop": 0,
            "PictureChromaSmoothCustom": "",
            "PictureChromaSmoothPreset": "off",
            "PictureChromaSmoothTune": "none",
            "PictureCombDetectCustom": "",
            "PictureCombDetectPreset": "default",
            "PictureDARWidth": 0,
            "PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8",
            "PictureDeblockPreset": "off",
            "PictureDeblockTune": "medium",
            "PictureDeinterlaceCustom": "",
            "PictureDeinterlaceFilter": "decomb",
            "PictureDeinterlacePreset": "default",
            "PictureDenoiseCustom": "",
            "PictureDenoiseFilter": "off",
            "PictureDenoisePreset": "",
            "PictureDenoiseTune": "none",
            "PictureDetelecine": "off",
            "PictureDetelecineCustom": "",
            "PictureForceHeight": 0,
            "PictureForceWidth": 0,
            "PictureHeight": 0,
            "PictureItuPAR": false,
            "PictureKeepRatio": true,
            "PictureLeftCrop": 0,
            "PictureLooseCrop": false,
            "PictureModulus": 2,
            "PicturePAR": "auto",
            "PicturePARHeight": 1,
            "PicturePARWidth": 1,
            "PictureRightCrop": 0,
            "PictureRotate": "disable=1",
            "PictureSharpenCustom": "",
            "PictureSharpenFilter": "off",
            "PictureSharpenPreset": "",
            "PictureSharpenTune": "",
            "PictureTopCrop": 0,
            "PictureWidth": 0,
            "PresetDescription": "",
            "PresetName": "myh265",
            "SubtitleAddCC": false,
            "SubtitleAddForeignAudioSearch": true,
            "SubtitleAddForeignAudioSubtitle": false,
            "SubtitleBurnBDSub": true,
            "SubtitleBurnBehavior": "foreign",
            "SubtitleBurnDVDSub": true,
            "SubtitleLanguageList": [
                "eng"
            ],
            "SubtitleTrackSelectionBehavior": "all",
            "Type": 1,
            "UsesPictureFilters": true,
            "UsesPictureSettings": 2,
            "VideoAvgBitrate": 6000,
            "VideoColorMatrixCodeOverride": 0,
            "VideoEncoder": "qsv_h265",
            "VideoFramerate": "auto",
            "VideoFramerateMode": "vfr",
            "VideoGrayScale": false,
            "VideoLevel": "auto",
            "VideoOptionExtra": "",
            "VideoPreset": "quality",
            "VideoProfile": "main",
            "VideoQSVAsyncDepth": 4,
            "VideoQSVDecode": false,
            "VideoQualitySlider": 17.0,
            "VideoQualityType": 2,
            "VideoScaler": "swscale",
            "VideoTune": "",
            "VideoTurboTwoPass": true,
            "VideoTwoPass": true,
            "x264Option": "",
            "x264UseAdvancedOptions": false
        }
    ],
    "VersionMajor": 40,
    "VersionMicro": 0,
    "VersionMinor": 0
}

 

log.txt 9.63 kB · 0 downloads

The tdarr_aio:dev tag container should have qsv HandBrake enabled if you want to give it a try.

Link to comment
4 hours ago, HaveAGitGat said:

The tdarr_aio:dev tag container should have qsv HandBrake enabled if you want to give it a try.

Where do I put that to get the dev build?

 

Update: I put it in the repository field and it looks to have pulled new stuff.  Went into the GUI and tried to run my transcode again and still failed with the same error.

 

Should I see any indication somewhere in the GUI that it is the dev build?  I am looking at top right and it still says Alpha 1.008.

 

Seeing this in the log:

[22:16:26] CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz

[22:16:26] - Intel microarchitecture Kaby Lake

[22:16:26] - logical processor count: 4

[22:16:26] Intel Quick Sync Video support: no

 

Ran same CLI command from the log in the handbrake container (modified file locations)

[23:24:52] CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
[23:24:52]  - Intel microarchitecture Kaby Lake
[23:24:52]  - logical processor count: 4
[23:24:52] Intel Quick Sync Video support: yes

 

Seems handbrake isn't seeing the QSV in that container for some reason

 

I passed device /dev/dri to the container like other container so it should be working.

 

vainfo shows the device info

 

Tdarr@8aa448171cb0:/dev/dri$ vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.1.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD

Edited by nickp85
Link to comment
On 12/5/2019 at 1:12 AM, nickp85 said:

Where do I put that to get the dev build?

 

Update: I put it in the repository field and it looks to have pulled new stuff.  Went into the GUI and tried to run my transcode again and still failed with the same error.

 

Should I see any indication somewhere in the GUI that it is the dev build?  I am looking at top right and it still says Alpha 1.008.

 

Seeing this in the log:

[22:16:26] CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz

[22:16:26] - Intel microarchitecture Kaby Lake

[22:16:26] - logical processor count: 4

[22:16:26] Intel Quick Sync Video support: no

 

Ran same CLI command from the log in the handbrake container (modified file locations)

[23:24:52] CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
[23:24:52]  - Intel microarchitecture Kaby Lake
[23:24:52]  - logical processor count: 4
[23:24:52] Intel Quick Sync Video support: yes

 

Seems handbrake isn't seeing the QSV in that container for some reason

 

I passed device /dev/dri to the container like other container so it should be working.

 

vainfo shows the device info

 

Tdarr@8aa448171cb0:/dev/dri$ vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.1.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD

 

Sorry I didn't get a notification for your update/edit. I'll have another look at this. I've read that with some motherboards you have to make sure that an HDMI cable is plugged in and connected to a monitor (or use a HDMI dummy plug) for QSV to work.

Link to comment
1 minute ago, HaveAGitGat said:

 

Sorry I didn't get a notification for your update/edit. I'll have another look at this. I've read that with some motherboards you have to make sure that an HDMI cable is plugged in and connected to a monitor (or use a HDMI dummy plug) for QSV to work.

QSV is working for my other containers like Plex for hw transcode and the jlesage handbrake container so it’s definitely something with this specific container.

Link to comment

Hello

 

Loving the plugin so far. I am having a problem with the Watch Folders not working. I did the initial scan and it definitely performed several transcodes as expected. I then had multiple downloads complete and copy their files into the directory. Tdarr never picked up that there were new files. After about 2 or 3 hours, I did a 'Scan (Find New)' on the library and it was able to find 12 new episodes.

 

I checked in the MongoDB under the 'Files' table and the new episodes were missing before I hit 'Scan'. Once I hit scan, they showed up.

 

This was the line in my log directly before I hit 'Scan'

 

2019-12-12T08:07:03-0500
Scanner Folder watcher:{"D7Wk86iYN2jdmjYbr":{"id":"D7Wk86iYN2jdmjYbr","filesToScan":[],"oldLength":0,"newLength":0}}:null

 

This is what was visible immediately after I hit scan

2019-12-12T08:07:05-0500 Scanner -SIfzvG_:vars received: /usr/bin/node,/app/Tdarr/bundle/programs/server/assets/app/fileScanner.js,-SIfzvG_,D7Wk86iYN2jdmjYbr,/home/Media/TV Shows/HD/*******,1,mkv,mp4,mov,m4v,mpg,mpeg,avi,flv,webm,wmv,vob,evo,iso,m2ts,ts,0,{"HealthCheck":"Queued","TranscodeDecisionMaker":"Queued","cliLog":"","bumped":false,"history":""},/home/Tdarr/Documents,undefined,

2019-12-12T08:07:04-0500 Scanner -SIfzvG_:Online.

2019-12-12T08:07:04-0500 Scanner -SIfzvG_ launched

2019-12-12T08:07:04-0500 Commencing file update scan. Deleting non-existent files and adding new files.

And then a whole bunch of files that were added and process. The IDs match between the two sections. I only have 1 library in Tdarr currently

 

Any help as to why the Watcher wouldn't be picking up new files would be appreciated

Link to comment

I've just started messing with Tdarr, and had some questions in regards to setting up a plug in to do what I'd like it do.

 

Ideally, I want only English audio streams in my movies (I have a billion .mkvs already). The only problem I see is that in my /movies/ folder there are a handful of Chinese/Japanese movies already where I would want to keep those in the native language (I prefer subs to dubs). So, short of seperating those out of the /movies/ folder, I'll have to resort to just keeping all English, Chinese and Japanese audio streams for mkvs found in /movies/ , correct? If so, is that possible?

 

On the same note, I really don't need any fancy audio streams - I basically just have a TV and no soundbar/stereo setup. So I'd like to just convert any audio streams to AC3 (I think that should be sufficient?) and save a lot of file size. If so, is that possible as well?

 

Thanks for you time!

Link to comment
On 12/12/2019 at 1:16 PM, Spanky55 said:

Hello

 

Loving the plugin so far. I am having a problem with the Watch Folders not working. I did the initial scan and it definitely performed several transcodes as expected. I then had multiple downloads complete and copy their files into the directory. Tdarr never picked up that there were new files. After about 2 or 3 hours, I did a 'Scan (Find New)' on the library and it was able to find 12 new episodes.

 

I checked in the MongoDB under the 'Files' table and the new episodes were missing before I hit 'Scan'. Once I hit scan, they showed up.

 

This was the line in my log directly before I hit 'Scan'

 


2019-12-12T08:07:03-0500
Scanner Folder watcher:{"D7Wk86iYN2jdmjYbr":{"id":"D7Wk86iYN2jdmjYbr","filesToScan":[],"oldLength":0,"newLength":0}}:null

 

This is what was visible immediately after I hit scan


2019-12-12T08:07:05-0500 Scanner -SIfzvG_:vars received: /usr/bin/node,/app/Tdarr/bundle/programs/server/assets/app/fileScanner.js,-SIfzvG_,D7Wk86iYN2jdmjYbr,/home/Media/TV Shows/HD/*******,1,mkv,mp4,mov,m4v,mpg,mpeg,avi,flv,webm,wmv,vob,evo,iso,m2ts,ts,0,{"HealthCheck":"Queued","TranscodeDecisionMaker":"Queued","cliLog":"","bumped":false,"history":""},/home/Tdarr/Documents,undefined,

2019-12-12T08:07:04-0500 Scanner -SIfzvG_:Online.

2019-12-12T08:07:04-0500 Scanner -SIfzvG_ launched

2019-12-12T08:07:04-0500 Commencing file update scan. Deleting non-existent files and adding new files.

And then a whole bunch of files that were added and process. The IDs match between the two sections. I only have 1 library in Tdarr currently

 

Any help as to why the Watcher wouldn't be picking up new files would be appreciated

Just to check, have you enabled Folder Watch in the library settings?

Link to comment
On 12/12/2019 at 6:35 PM, jpotrz said:

I've just started messing with Tdarr, and had some questions in regards to setting up a plug in to do what I'd like it do.

 

Ideally, I want only English audio streams in my movies (I have a billion .mkvs already). The only problem I see is that in my /movies/ folder there are a handful of Chinese/Japanese movies already where I would want to keep those in the native language (I prefer subs to dubs). So, short of seperating those out of the /movies/ folder, I'll have to resort to just keeping all English, Chinese and Japanese audio streams for mkvs found in /movies/ , correct? If so, is that possible?

 

On the same note, I really don't need any fancy audio streams - I basically just have a TV and no soundbar/stereo setup. So I'd like to just convert any audio streams to AC3 (I think that should be sufficient?) and save a lot of file size. If so, is that possible as well?

 

Thanks for you time!

Yes that's possible with a custom plugin.

 

And you can convert all audio streams to AC3 by creating a 'Standardise audio streams' plugin in the plugin creator.

Link to comment
13 hours ago, HaveAGitGat said:

Just to check, have you enabled Folder Watch in the library settings?

Hey

Yes, I have the Watch Folder enabled. It is showing up in the logs with frequency (The first line I posted is the line that is repeated a lot in the log which I am assuming is the watcher). I will try turning it off and on again to see if that help :)

 

Yup... turning it off and then back on fixed it. I have no idea why but it just ran on a file I just added.

 

Thanks for the great plugin by the way. It's very much appreciated. Looking forward to running it on my entire library once I'm feeling brave enough

Link to comment
On 12/14/2019 at 6:43 PM, Spanky55 said:

Hey

Yes, I have the Watch Folder enabled. It is showing up in the logs with frequency (The first line I posted is the line that is repeated a lot in the log which I am assuming is the watcher). I will try turning it off and on again to see if that help :)

 

Yup... turning it off and then back on fixed it. I have no idea why but it just ran on a file I just added.

 

Thanks for the great plugin by the way. It's very much appreciated. Looking forward to running it on my entire library once I'm feeling brave enough

Very pleased that resolved the issue.

 

Great, yeah have a play around on some test files etc :)

Link to comment
  • 4 weeks later...
On 12/6/2019 at 4:32 PM, HaveAGitGat said:

 

Sorry I didn't get a notification for your update/edit. I'll have another look at this. I've read that with some motherboards you have to make sure that an HDMI cable is plugged in and connected to a monitor (or use a HDMI dummy plug) for QSV to work.

I'm running the alpha now.. 

 

Alpha is missing some installations:

-vainfo

- xvfb

 

In order to "see" the intel card you need to include these.

 

I've done this on a running docker image (with :dev):

sudo apt-get update

sudo apt get install vainfo

sudo apt-get install -y -qq xvfb

 

After that I could succesfully get vainfo from within the docker image. Still no luck getting HW transcoding though.

 

 

Link to comment
4 hours ago, renedis said:

I'm running the alpha now.. 

 

Alpha is missing some installations:

-vainfo

- xvfb

 

In order to "see" the intel card you need to include these.

 

I've done this on a running docker image (with :dev):

sudo apt-get update

sudo apt get install vainfo

sudo apt-get install -y -qq xvfb

 

After that I could succesfully get vainfo from within the docker image. Still no luck getting HW transcoding though.

 

 

Make sure you are using the qsv specific beta version of the container.  I was able to get it to work by running the following.  Been running it for like 30 days and done over 1100 transcodes with QSV.  Don't ask me why the below works, I found it online using the ffmpeg QSV readiness steps.  I am using Tdarr with Handbrake though.

sudo apt-get install ccache flex bison cmake g++ git patch zlib1g-dev autoconf xutils-dev libtool pkg-config libpciaccess-dev libz-dev clinfo nano

 

CMake will automatically detect the platform you're on and enable the platform-specific hooks needed for a working build.

Create a library config file for the iMSDK:

sudo nano /etc/ld.so.conf.d/imsdk.conf

Content:

/opt/intel/mediasdk/lib
/opt/intel/mediasdk/plugins

Then run:

sudo ldconfig -vvvv

 

Link to comment

@HaveAGitGat first let me thank you again your app has saved me tons of time and space. Correct me if im wrong but in the early days one of your hopes was integration into sonarr and radarr so it would try to reque failed files am i remembering that correctly or am i thinking of another app i tried? ether way is that in the pipeline? as it would make this amazing app even better.

Link to comment
On 1/13/2020 at 6:17 PM, nickp85 said:

Make sure you are using the qsv specific beta version of the container.  I was able to get it to work by running the following.  Been running it for like 30 days and done over 1100 transcodes with QSV.  Don't ask me why the below works, I found it online using the ffmpeg QSV readiness steps.  I am using Tdarr with Handbrake though.


sudo apt-get install ccache flex bison cmake g++ git patch zlib1g-dev autoconf xutils-dev libtool pkg-config libpciaccess-dev libz-dev clinfo nano

 

CMake will automatically detect the platform you're on and enable the platform-specific hooks needed for a working build.

Create a library config file for the iMSDK:


sudo nano /etc/ld.so.conf.d/imsdk.conf

Content:


/opt/intel/mediasdk/lib
/opt/intel/mediasdk/plugins

Then run:


sudo ldconfig -vvvv

 

Just got back. Nice work!

 

I'll see if I can implement this asap.

 

 

Link to comment
On 1/16/2020 at 12:01 PM, nicksphone said:

@HaveAGitGat first let me thank you again your app has saved me tons of time and space. Correct me if im wrong but in the early days one of your hopes was integration into sonarr and radarr so it would try to reque failed files am i remembering that correctly or am i thinking of another app i tried? ether way is that in the pipeline? as it would make this amazing app even better.

Sure, I just need to finish working on some bugs/features and will then begin working on integration.

Link to comment

Awesome. In the time you’ve been gone Tdarr just finished yesterday going through my library of 1800+ media files and transcoding them to hevc with QSV. Saved about 3 TB of space. Now I set it to only run overnight so it can take care of any newly downloaded stuff.

Let me know when I can switch to the main branch of the container and not this special beta :)


Sent from my iPhone using Tapatalk

Link to comment
On 1/13/2020 at 1:37 PM, renedis said:

I'm running the alpha now.. 

 

Alpha is missing some installations:

-vainfo

- xvfb

 

In order to "see" the intel card you need to include these.

 

I've done this on a running docker image (with :dev):

sudo apt-get update

sudo apt get install vainfo

sudo apt-get install -y -qq xvfb

 

After that I could succesfully get vainfo from within the docker image. Still no luck getting HW transcoding though.

 

 

If you use the tdarr_aio qsv container it should now work. Make sure your server is set up correctly:

 

Link to comment
  • 2 weeks later...

I've used this for a few files in my library and it seems like the video encoding is going well, but it is converting all my AC3 to stereo. I am using Tdarr_Plugin_s7x9_winsome_h265_nvenc, but that's it. Anyone else seeing similar issues? I was under the impression the plugin would leave the AC3 file alone if it was in AC3.

Link to comment

Just set up tdarr yesterday, loving the control that it gives me as opposed to something like Unmanic.  I have it pointed at my movies folder using Handbrake, and have pinned four cores to the container.  Right now, the ETA is about 16 hours @ 20% complete.  The ETA bounces around between 14-18 hours.

 

I just copied this same file to my Handbrake container watch folder, and the ETA is ~8 hours with .31% complete.  Also four separate cores pinned to the container.  Using the same preset: H.265 MKV 1080p30.  Per the logs the ETA is steady, doesn't change much, except to decrease normally as it processes.

 

Wondering why the discrepancy between the two?  I really want to like tdarr for the control it gives.  I'm confident I'm doing something wrong, just don't know what yet.

Link to comment
16 hours ago, total said:

I've used this for a few files in my library and it seems like the video encoding is going well, but it is converting all my AC3 to stereo. I am using Tdarr_Plugin_s7x9_winsome_h265_nvenc, but that's it. Anyone else seeing similar issues? I was under the impression the plugin would leave the AC3 file alone if it was in AC3.

Hi, if you open up the plugin (located where you mapped the Tdarr documents folder) in a text editor you can see what conversion settings it’s using or you can see it here:

 

https://github.com/HaveAGitGat/Tdarr_Plugins/blob/master/Community/Tdarr_Plugin_s7x8_winsome_h265.js

 

 

So the video transcoding in this plugin is done by HandBrake and uses the following:

 

-Z "H.265 MKV 2160p60" --all-audio --all-subtitles

 

Unlike FFmpeg, HandBrake is a bit more limited in what it can do with audio. Here you can see that the default for this preset is stereo audio:

 

https://handbrake.fr/docs/en/latest/technical/official-presets.html

 

You can pass through audio using for example the following switch:

 

-E copy:ac3,aac,eac3,truehd,dts,dtshd,mp3

 

 


 

 

 

 

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.