[SUPPORT] - Compressarr


Recommended Posts

No worries, I have just pushed a new version that will allow you to choose if you want to copy subtitles or not, plus other data, attachments, metadata, as well as pick a different subtitle encoder. Note on that: be sure about the source files, FFmpeg cannot encode Text to bitmap or visa versa. If you are going to choose a subtitle encoder make sure all your source files can be encoded. Otherwise just choose copy. 

Link to comment
4 minutes ago, AlexKoh said:

I just reencoded using MKV for the container I choose mkvtimestamp_v2 as I couldn't find any mkv container. Is this suppose to be like that?

 

No, the container is called Matroska. It's one of the most difficult things to wrap; Containers are ways of containing the data, but can have multiple extensions. And an extension could belong to different containers. So to get round that I have to ask for what container you want to use and then pick the first appropriate file extension. 

 

FFmpeg normally has the file extension as the name of the container, but not for Matroska, just to be difficult, it lists it as the full name.

Link to comment

Hello, I can't get them to communicate with radarr/sonarr with compressarr

I use a url base but even without it I don't want to

http://192.168.1.50:7878/radarr
api key xxxx

I get "NotFound- Not Found"
should they be on the same interface? I am in bridge mode but with jackett radarr etc...I don't have any problem it does not pose a problem

Link to comment

Hi,

 

First off we need to check to see if the docker containers can see each other:

Console to the Compressarr app and type the following in to install curl:   

 

apt-get install curl

 

then once that's done type curl and then the url to Radarr/Sonarr so, and I'm guessing here but it looks like your might be:

 

curl 192.168.1.50:7878/radarr

 

This isn't going to work, because you'll need to authenticate, but it should return some HTML with an error message in it, rather than nothing or a "Could not resolve host" or a "Failed to connect to..." error.

 

If it returns some successful HTML then I need you to change the logging to Debug, try again and then send me a copy of the logs, and a screenshot of the status of the connection shown when it tries to connect and fails. Obviously, blur out your API key.

Link to comment

I found the problem, with your idea I could see the api link used and it's because I use radarr v4 and not v3

there seems to have been a change in their api

 

now I have to understand why when I want to create a filter it does nothing and shows me

"An error has occurred. This application may no longer respond until reloaded. Reload" 😅

Edited by Nosirus
Link to comment
  • 3 weeks later...

When you setup a job there is a destination folder, that will list all the folders in the docker image, one of those should be a map (that you've specified) to an external folder, which is where you want the encoded files to go. 

 

I'm not sure what would happen if you created a map to a folder that already existed within the image, which one would "win", so to speak.

Link to comment
  • 3 weeks later...

In my best programming voice: "What??"

 

Basically the line in my source code, where that error is happening, that can't happen. There is no object reference. 

 

Can I just confirm you are running the latest version?

 

If I assume you are running the latest version, my next message would be: can you send me the appsettings.json file from your appdata folder. It containes the URL and the API keys for Sonarr/Radarr so you may want to scrub those if it's publicly accessible.

Link to comment

Hi OFark

 

i assume i am on the latest version. i have the repository set to ofark/compressarr:latest and set to update all my containers once a day. i attached the appsettings.json file and here is the info from the settings page

 

Application: 1.2.7912.30173

Runtime: 5.0.9

FFmpeg: 4.2.1

Docker: Yes

OS: Unix 5.10.28.0

OS 64bit: True

App 64bit: True

 

Thanks

appsettings.json

Link to comment

So if you open the log for the individual file, (i) next to the line in the Job panel. You will see the output for FFMpeg, I can almost guarantee it's failed to process your video, but it started and there was an output. I'll not bore you with the detail but basically FFMpeg uses the error output of it's process to output it's progress. I have no idea why but I cannot use that for error checking. So that's why your seeing FFProbe errors, I can rely on that to detect that FFMpeg didn't finish properly.

 

You'll need to see what FFMpeg ended with, there'll be lengthy white section of code that is the output of FFMpeg, this usually ends with the error details.

 

From past experience with QSV and having looked at your profile, I think you'll need to tell FFMpeg how to use QSV, it's not provided in a driver like the Nvidia support is. It's also a lot smaller in terms of files sizes.

 

Check out the following link: https://trac.ffmpeg.org/wiki/Hardware/QuickSync

 

You can see what Compressarr is passing to FFMpeg and you can specify the additional parameters for FFMpeg in the Additional Parameters box in the Profile page in Compressarr.

 

I do plan to build a pre-built template for this, but it's not at the top of my priority list right now. If your struggling with the settings, let me know and I'll see if I can help.

 

Link to comment

Hi Ofark

 

Here is the individual log file. This stuff is way over my head so i would have no idea what additional parameters to add. if you have any suggestions they would be much appreciated but if not i can always reinstall my nvidia card and switch back to it.

 

Calculating Best Encoder Options

ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers

  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516

  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg

  libavutil      56. 31.100 / 56. 31.100

  libavcodec     58. 54.100 / 58. 54.100

  libavformat    58. 29.100 / 58. 29.100

  libavdevice    58.  8.100 / 58.  8.100

  libavfilter     7. 57.100 /  7. 57.100

  libswscale      5.  5.100 /  5.  5.100

  libswresample   3.  5.100 /  3.  5.100

  libpostproc    55.  5.100 / 55.  5.100

Guessed Channel Layout for Input Stream #0.1 : 5.1

Input #0, matroska,webm, from '/storage/Media/TV Shows/Roswell, New Mexico/Season 03/Roswell, New Mexico S03E08 WEBRip-1080p.mkv':

  Metadata:

    encoder         : libebml v1.4.2 + libmatroska v1.6.3

    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)

    Metadata:

      BPS-eng         : 9105499

      DURATION-eng    : 00:42:27.045000000

      NUMBER_OF_FRAMES-eng: 61068

      NUMBER_OF_BYTES-eng: 2899014586

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1, fltp (default)

    Metadata:

      BPS-eng         : 640000

      DURATION-eng    : 00:42:27.072000000

      NUMBER_OF_FRAMES-eng: 79596

      NUMBER_OF_BYTES-eng: 203765760

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:2(eng): Subtitle: subrip

    Metadata:

      BPS-eng         : 89

      DURATION-eng    : 00:41:51.814000000

      NUMBER_OF_FRAMES-eng: 876

      NUMBER_OF_BYTES-eng: 27998

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:3(eng): Subtitle: subrip

    Metadata:

      title           : SDH

      BPS-eng         : 96

      DURATION-eng    : 00:41:51.814000000

      NUMBER_OF_FRAMES-eng: 1003

      NUMBER_OF_BYTES-eng: 30335

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

[AVHWDeviceContext @ 0x583d280] No VA display found for any default device.

Device creation failed: -22.

[h264 @ 0x583c880] No device available for decoder: device type vaapi needed for codec h264.

Stream mapping:

  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_vaapi))

Device setup failed for decoder on input stream #0:0 : Invalid argument

ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers

  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516

  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg

  libavutil      56. 31.100 / 56. 31.100

  libavcodec     58. 54.100 / 58. 54.100

  libavformat    58. 29.100 / 58. 29.100

  libavdevice    58.  8.100 / 58.  8.100

  libavfilter     7. 57.100 /  7. 57.100

  libswscale      5.  5.100 /  5.  5.100

  libswresample   3.  5.100 /  3.  5.100

  libpostproc    55.  5.100 / 55.  5.100

Guessed Channel Layout for Input Stream #0.1 : 5.1

Input #0, matroska,webm, from '/storage/Media/TV Shows/Roswell, New Mexico/Season 03/Roswell, New Mexico S03E08 WEBRip-1080p.mkv':

  Metadata:

    encoder         : libebml v1.4.2 + libmatroska v1.6.3

    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)

    Metadata:

      BPS-eng         : 9105499

      DURATION-eng    : 00:42:27.045000000

      NUMBER_OF_FRAMES-eng: 61068

      NUMBER_OF_BYTES-eng: 2899014586

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1, fltp (default)

    Metadata:

      BPS-eng         : 640000

      DURATION-eng    : 00:42:27.072000000

      NUMBER_OF_FRAMES-eng: 79596

      NUMBER_OF_BYTES-eng: 203765760

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:2(eng): Subtitle: subrip

    Metadata:

      BPS-eng         : 89

      DURATION-eng    : 00:41:51.814000000

      NUMBER_OF_FRAMES-eng: 876

      NUMBER_OF_BYTES-eng: 27998

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:3(eng): Subtitle: subrip

    Metadata:

      title           : SDH

      BPS-eng         : 96

      DURATION-eng    : 00:41:51.814000000

      NUMBER_OF_FRAMES-eng: 1003

      NUMBER_OF_BYTES-eng: 30335

      _STATISTICS_WRITING_APP-eng: mkvmerge v54.0.0 ('F Maj Pixie') 64-bit

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

[AVHWDeviceContext @ 0x583e640] No VA display found for any default device.

Device creation failed: -22.

[h264 @ 0x581be40] No device available for decoder: device type vaapi needed for codec h264.

Stream mapping:

  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_vaapi))

  Stream #0:1 -> #0:1 (eac3 (native) -> ac3 (native))

Device setup failed for decoder on input stream #0:0 : Invalid argument

Original Duration: 00:42:27.0720000

New Duration: 

FFprobe failed to analyse the output

Sample Size: 1 | SSIM Est.  | SSIM Act. 

 

Link to comment

Apologies for the delay, mad week at work. 

Your problem is:

 

No VA display found for any default device.

 

This basically means it can't find which device to use for the decoding the input stream. Normally this goes through a bunch of hardware locations, such as the current display (not relevant with docker) then some pre-determined locations.

 

What you need to do is tell it which device got passed through using /dev/dri/

You can do this by going to the console, typing

cd /dev/dri
ls

 

that should give you a list of devices. If you see renderD128, then something has gone wrong with your device forwarding in Docker, as this is one of those default locations FFmpeg will look (But you may want to try it anyway). Otherwise you can specify the following in the "Additional Arguments" box at the bottom of the FFmpeg preset.

 

-hwaccel_device /dev/dri/renderD128

 

note* replace the renderD128 with whatever devices you have.

 

Final note* CPU encoding whilst much slower is much better in terms of quality vs file size. Hardware encoding is much better in terms of speed only.

Link to comment

Hi Ofark

 

It looks like the device was forwarded to docker ok. when i ssh into the container i can see /dev/dri/renderD128. adding 

 

-hwaccel_device /dev/dri/renderD128

 

seemed to fix the 'No VA display found for any default device' but now i am getting the following error

 

3:26:24 - System.IO.FileNotFoundException: Could not find file '/storage/Downloads/Complete/Dan Brown's The Lost Symbol/Season 01/Dan Brown's The Lost Symbol S01E02 WEBDL-1080p.mkv'.
File name: '/storage/Downloads/Complete/Dan Brown's The Lost Symbol/Season 01/Dan Brown's The Lost Symbol S01E02 WEBDL-1080p.mkv'
   at System.IO.FileInfo.get_Length()
   at Compressarr.JobProcessing.JobManager.ProcessWorkItem(WorkItem wi, CancellationToken token) in /src/Compressarr/Compressarr/JobProcessing/JobManager.cs:line 541

 

Link to comment

I've been trying to find a program that can remove non-english audio tracks from files in bulk.  Is this program the best solution for that job?  Or is there something better suited for that?  From what I can tell, I can make it work, I just need to figure out how to properly set the output folder when I have a list from radar as the source.

Link to comment
17 hours ago, markj24 said:

Hi Ofark

 

It looks like the device was forwarded to docker ok. when i ssh into the container i can see /dev/dri/renderD128. adding 

 

-hwaccel_device /dev/dri/renderD128

 

seemed to fix the 'No VA display found for any default device' but now i am getting the following error

 

3:26:24 - System.IO.FileNotFoundException: Could not find file '/storage/Downloads/Complete/Dan Brown's The Lost Symbol/Season 01/Dan Brown's The Lost Symbol S01E02 WEBDL-1080p.mkv'.
File name: '/storage/Downloads/Complete/Dan Brown's The Lost Symbol/Season 01/Dan Brown's The Lost Symbol S01E02 WEBDL-1080p.mkv'
   at System.IO.FileInfo.get_Length()
   at Compressarr.JobProcessing.JobManager.ProcessWorkItem(WorkItem wi, CancellationToken token) in /src/Compressarr/Compressarr/JobProcessing/JobManager.cs:line 541

 

Wonderful, it's getting somewhere then. What curious with this missing file is that before it must have been finding the file so that FFmpeg could fail against it. If you SSH into the container again and follow that path "/storage/.. etc. I suspect it's not going to be there and you need to check the Docker mappings. But you must have had it right before?

Link to comment
14 hours ago, smidley said:

I've been trying to find a program that can remove non-english audio tracks from files in bulk.  Is this program the best solution for that job?  Or is there something better suited for that?  From what I can tell, I can make it work, I just need to figure out how to properly set the output folder when I have a list from radar as the source.

 

Yes, yes you can. You can tell FFmpeg to just copy streams. With the Audio stream selector you can tell it to to delete tracks that are of a specific language, or to only copy eng or unknown tracks. You can also tell it to delete the track but only if there are other tracks, so films in only Mandarin, won't be silent. 

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.