Code Monkey home page Code Monkey logo

docker-handbrake's People

Contributors

chojnicki avatar dpprdan avatar gfaugere avatar j3n50m4t avatar jennettwheeler avatar jlesage avatar mtlott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-handbrake's Issues

Custom presets

How can we add custom presets from the docker command line?

Auto convert video only?

Is there any easy way to convert only video files from the watch folder? Every files (pictures at least) seems is converted to video (same file as source but with an mp4 extension instead of png/jpg).
Maybe via moving every non video file to the output dir via the pre-conversion hook?

Help needed getting hardware acceleration started

Sorry for asking. I'm new in Synology Docker experience. So likely it's an absolute silly question.

First of all: The experience with your HandBrake solution is great so far (after an longer time with problems caused only by myself until I got the conclusion between your written down start command and the transfer to the synology docker GUI). Thank you so much!

So I wanted to do the next step now. I own a DS218+ with Intel processor listed for hardware acceleration.

My stupid question is: where do I have to write down the command "--device /dev/dri" in the Docker GUI?

As there was no clue for me, I tried this command via ssh form my pc:

sudo docker run -d --name=handbrake --device /dev/dri -e USER_ID=1026 -e-GROUP_ID=1000 -p 5803:5800 -v /volume1/homes/christian/HandBrake/config:/config:rw -v /volume1/homes/christian/HandBrake/storage:/storage:ro -v /volume1/homes/christian/HandBrake/watch:/watch:rw -v /volume1/homes/christian/HandBrake/output:/output:rw jlesage/handbrake
Took me a longer time to realize that I have to make sudo to make it. But after all a new container was started. Poorly when I open the HandBrake-GUI nevertheless there is no "H.264 (Intel QSV)".

Your advice is to check the container's log for the issue. Unfortunately due to lack of knowledge I'm not able to see what's the reason.

Could you give me a hand?

Mevertheless my prefered way would be using the GUI because I'm not that firm with command line.

handbrake_Prozesslog_Hardwarebeschleunigung.html.pdf

Bad Intel QSV quality

Hello,
i am using your container on a Synology DS718+ with a Intel Celeron J3455 processor.
QSV is enabled, i passed through the /dev thing.

When i encode with QSV the quality of the videos is very bad. I got a lot and huge artefacts, even with QP 10, 15 or 20. File sizes with QP 20 are twice as big as H264 RF 20. So it cant be just the bitrate.

Anyone any ideas?

Automated process completely ignoring my preset?

This is the command I ran, but it still defaults to "very fast" and I've tried with/without quotes. I have confirmed that my preset is saved by this name, case sensitive, and is in the presets.json file.

docker run -d \ --name=handbrake \ --restart always \ -p 5800:5800 \ -v /mnt/media/apps/docker/handbrake/config:/config:rw \ -v /mnt/media:/storage:ro \ -v /mnt/media/apps/docker/handbrake/watch:/watch:rw \ -v /mnt/media/apps/docker/handbrake/output:/output:rw \ -e AUTOMATED_CONVERSION_PRESET:h265 \ -e AUTOMATED_CONVERSION_FORMAT:mkv \ jlesage/handbrake:dev-latest

Log: https://pastebin.com/AdQt9tSK

EDIT, environment variables need equals, not colon.

Auto video converter with subtitle burn-in for TS file convert to MP4

Hi, I’m using the automatic video converter to watch the file from TVHeadEnd TS file, I try to setup the setting in GUI as following your reply 9 months ago, but seems the automatic video converter has nothing change, is that I have to change the AUTOMATED_CONVERSION_PRESET to other value or may I know any parameter need to change so that I can burn-in the subtitle with the output?

In Audio Defaults:
Add Any as the selected language.
Select all Auto Passthru audio formats.
Add the Auto Passthru audio encoder.
In Subtitle Defaults:
Selection Behavior should be set to All Tracks Matching Selected Languages.
Add Any as the selected language

Thanks,

Winson

HandbrakeCLI only version

Hello. Is it possible to start the container without the GUI? So no ghb, x11 process runnning?
Thanks,
Paolo

Watch items not processing

Hello,

Since I set this image up a week or so ago (updated to latest version on docker hub) I have not been able to convert anything from the watch directory.
Anytime a drop a file, I keep getting the following in the logs:
[autovideoconverter] Change detected in watch folder '/watch'.
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Skipping video '/watch/video.mkv’ (31b936fce64653f05390117454371e21): already processed successfully.

The files don't seem to matter, the only difference is the ID shown.

Have I missed a setting or something?

My config is as follows:
docker run -d --name Handbrake
-p 5800:5800
-v /volume1/docker/handbrake:/config:rw
-v /volume1/docker/handbrake/storage:/storage:ro
-v /volume1/NAS/Videos/New/Handbrake/watch:/watch:rw
-v /volume1/NAS/Videos/New/Handbrake/output:/output:rw
jlesage/handbrake

output folder random names

I would like to start of by saying thank you for putting the time and effort into the docker. It is perfect for what i need and i could not ask for anything better. I use it on 3 different unraid servers with no issues. Now for the issue I have your docker installed on an unraid server. i have its watch folder and output folder set to a samb share on windows 10 that is mapped with Unassigned Devices. So what happens is that when it started to encode a file it makes the output folder via setting "SAME_AS_SRC" and it will be correct But then it restarts the encode and put it is a folder in the same directory but with a random name like ".nHpHLM" and ".bpacnp". I have tried with with different settings and it is always the same. Thanks for looking. I hope it is me doing something wrong.

armhf version

Is there a possibility to run the docker-handbrake container on a armv7 (Rasp-pi 3B+, Raspian streech) or is it possible to provide a armhf version of this container?

Kernel Version: 4.14.79-v7+
Operating System: Raspbian GNU/Linux 9 (stretch)
OSType: linux
Architecture: armv7l

docker version
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:42:45 2019
OS/Arch: linux/arm
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:04:13 2019
OS/Arch: linux/arm
Experimental: true

Permission denied error message

I am getting the following error message from the handbrake container logs:

[services.d] starting s6-fdholderd...
s6-applyuidgid: fatal: unable to exec s6-fdholderd: Permission denied

It seems to be related to the fact I am running traefik as a reverse proxy, as I have a second server that I have run a test install on and it doesn't get the error message and doesn't have a reverse proxy configured, when i type server-ip:5800 of the server I'm trying to get this container to run on I get a 403 nginx error, but when I run the server-ip:5800 of the non reverse proxy server it loads the handbrake web GUI as desired.

You mention in the readme that nginx configuration can be modified to allow for reverse proxy, can you confirm the location of the nginx config in the docker and would I be right in thinking this would allow traefik to reverse proxy without nginx getting involved

Apps crash

After the last update, during transcoding, the application stops and I got this error.

Serveur kernel: ghb[13500]: segfault at 14ff0c8d5fe0 ip 000014ff2b0f733b sp 000014ff0c8d5fe8 error 6 in ld-musl-x86_64.so.1[14ff2b0a6000+8d000]

Failing then shutdown on encode start

any time i've started an encode manually, the container faults somehow and does a clean shutdown. i'm on the latest version running on an unraid 6.4.0 box, and this happens from both the web ui and vnc connections. attached is the encode log for the file (tried another file, same result)
Land of the Lustrous.S0E50.OP 2018-04-24 22-34-27.log
and here is the container log before and after the start of encode. the encode starts at the 'inhibited 0'

24/04/2018 22:38:23 got closure, reason 1001 24/04/2018 22:38:23 rfbProcessClientNormalMessage: read: Connection reset by peer 24/04/2018 22:38:23 client_count: 1 24/04/2018 22:38:23 Client 127.0.0.1 gone 24/04/2018 22:38:23 Statistics events Transmit/ RawEquiv ( saved) 24/04/2018 22:38:23 ServerCutText : 1 | 8/ 8 ( 0.0%) 24/04/2018 22:38:23 FramebufferUpdate : 608 | 0/ 0 ( 0.0%) 24/04/2018 22:38:23 copyRect : 2 | 32/ 623036 (100.0%) 24/04/2018 22:38:23 LastRect : 380 | 4560/ 4560 ( 0.0%) 24/04/2018 22:38:23 tight : 3413 | 2564278/101479516 ( 97.5%) 24/04/2018 22:38:23 RichCursor : 1 | 1374/ 1374 ( 0.0%) 24/04/2018 22:38:23 TOTALS : 4405 | 2570252/102108494 ( 97.5%) 24/04/2018 22:38:23 Statistics events Received/ RawEquiv ( saved) 24/04/2018 22:38:23 KeyEvent : 4 | 32/ 32 ( 0.0%) 24/04/2018 22:38:23 PointerEvent : 1627 | 9762/ 9762 ( 0.0%) 24/04/2018 22:38:23 FramebufferUpdate : 611 | 6110/ 6110 ( 0.0%) 24/04/2018 22:38:23 SetEncodings : 1 | 56/ 56 ( 0.0%) 24/04/2018 22:38:23 SetPixelFormat : 1 | 20/ 20 ( 0.0%) 24/04/2018 22:38:23 TOTALS : 2244 | 15980/ 15980 ( 0.0%) inhibited 0 [services.d] stopping services [services.d] stopping app... [services.d] stopping openbox... [services.d] stopping statusmonitor... [services.d] stopping logmonitor... [services.d] stopping autovideoconverter... [services.d] stopping x11vnc... caught signal: 15 24/04/2018 22:38:37 deleted 60 tile_row polling images. 24/04/2018 22:38:37 Restored X server key autorepeat to: 1 [services.d] stopping xvfb... [services.d] stopping nginx... [services.d] stopping certsmonitor... [services.d] stopping s6-fdholderd... [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] syncing disks. [s6-finish] sending all processes the TERM signal. [s6-finish] sending all processes the KILL signal and exiting.

Docker Handbrake Crashing

I'm attempting to run a Docker Handbrake on an Unraid system. I can get every thing started and after it complete pass 1, a big black square appears on the Handbrake console and then Handbrake crashes.
screen shot 2018-07-12 at 3 21 52 pm
screen shot 2018-07-12 at 3 19 57 pm

What could be the issue?
Thank you,
BAlpaugh

Conversion ended successfully without a conversion

My Video file is picked up in the watch folder but the conversion ends "successfully" even though nothing is converted. I got this message in my log file

mv: can't rename '/output/./filename.mp4': No such file or directory

Reading problem

Hi,
Since the last update, when I convert my files, these don't work on my iPad with Plex. I did't change my presets, I always use the same.
Thank,

New hook to run scripts after watch wolder has been cleaned up

This is for using the watch folder to convert movies.
At the end of each conversion I want to check if the watch folder is empty and if it is, run a script to shut down the container.
The current post-conversion hook triggers before the watch folder is cleaned up, so can't be used for this purpose. For example:
[autovideoconverter] Executing post-conversion hook... post-conversion: Status = 0 post-conversion: Output File = /output/movie.mkv post-conversion: Source File = /watch/movie.mp4 post-conversion: Preset = presetname [autovideoconverter] Post-conversion hook exited with 0 [autovideoconverter] Conversion ended successfully. [autovideoconverter] Removed /watch/movie.mp4

Is it possible to add another hook that triggers after the watch folder cleanup has finished?

Alternatively, this could be solved by adding the logic to the watch folder clean up function (shut down container if watch folder is empty after clean up), controlled by a new docker environment variable.
But a new hook would be more flexible and can be used for other purposes.

parameter not set.

Hi

So trying to autoconvert stuff in folder but keep getting:

./autovideoconverter: line 215: baseimage: parameter not set

and handbrake log:

autoVideoConverter: 6 title(s) to process.
Starting Automatic Video Converter service...
autoVideoConverter: Processing watch folder...
autoVideoConverter: Waiting 5 seconds before processing '/watch/mydvd.img

Change Port mappings

Is it possible to change port mappings (even modifying config files?)

i already have an image running on 5800 and 5900 and would like to map to 5801 and 5901

my starting string was
docker run -d --name=handbrake -p 5801:5801 -p 5901:5901 -v /volume1/docker/appdata/handbrake:/config:rw -v /volume1/Handbrake:/storage:ro -v /volume1/Handbrake/watch:/watch:rw -v /volume1/Handbrake/output:/output:rw jlesage/handbrake

and it appears to be running i would just like to also have the GUI as an Option,,,,

Add curl to docker container

I wanted to call a web notification service via the post_conversion hook but notice curl is not installed, it's added as a build dependency but then removed.

Can this be added to the container?

Watch Folder Not Responding

Hi,

I realize this is not a forum but I cannot find anywhere to ask these questions?

Firstly the gui works and I can encode perfectly well, it is the automation not working for me below is my config, the watch and output dirs are created but if I put any files in the watch dir leave it for half hour nothing happens? the logs are empty files so I have no clue what is happening? Can you please help or point me in the direction to ask for help? Many Thanks!

docker run -d
--name=handbrake
-p 5800:5800
-e AUTOMATED_CONVERSION_CHECK_INTERVAL=1
-v /docker/appdata/handbrake:/config:rw
-v $HOME:/storage:ro
-v $HOME/HandBrake/watch:/home/watch:rw
-v $HOME/HandBrake/output:/home/output:rw
jlesage/handbrake

How to see progress of automated conversions

This is more of a question and/or suggestion than an issue.

Is there a way to see the progress on an automated conversion? In other words, if I drop a file into the watch folder, how do I know when it's done other than checking the output file periodically to see if the file size has changed recently.

Update

How to you update this for 10bit/12bit x265. I have installed libx265 on Ubuntu and the desktop version works, but restarting this version on docker doesn't pick up the new codec

Permission Errors With Newly Created Container

Hey Guys -

I'm having an issue starting this container after trying multiple configurations so thought I'd post. After building and starting the container, it stops on it's own. Checking the logs, I get:

[cont-init.d] 00-take-config-ownership.sh: ERROR: Failed to take ownership and no write permission on /config.,
chown: /config: Permission denied

Below is the string I most recently used to try to install it:

docker run -d
--name=handbrake
-p 5800:5800
-e PGID=0 -e PUID=0
-v ~/handbrake/config:/config:rw
-v ~/handbrake:/storage:ro
-v ~/handbrake/watch:/watch:rw
-v ~/handbrake/output:/output:rw
jlesage/handbrake

Below is what I've tried to resolve it:

  • Verifying permissions on ~/handbrake/config - they are set to 0777
  • Deleting container + volumes and reinstalling it - multiple times
  • Adding the line -e PGID=0 -e PUID=0 \shown above (had same error when it's not included and know IDs are 0
  • Attempting to use the "quick start" string on the page. When using my string above in SSH, it executes fine. When using the quick start one, it fails stating "/usr/bin/docker-current: Error response from daemon: error while creating mount source path '/docker/appdata/handbrake': mkdir /docker: operation not permitted."
  • Trying to add config volume is various locations - the string creates the paths successfully, but still get error

I'm running Docker on a Project Atomic (Fedora) host. Other containers I have on it work fine. including Portainer, a mySQL DB, etc. I'm running strings from an SSH session logged in as root. The full log is below:

[s6-finish] sending all processes the KILL signal and exiting.,
[s6-finish] sending all processes the TERM signal.,
[s6-finish] syncing disks.,
[cont-finish.d] done.,
[cont-finish.d] executing container finish scripts...,
[services.d] stopping s6-fdholderd...,
[services.d] stopping services,
[cont-init.d] 00-take-config-ownership.sh: exited 1.,
[cont-init.d] 00-take-config-ownership.sh: ERROR: Failed to take ownership and no write permission on /config.,
chown: /config: Permission denied,
[cont-init.d] 00-take-config-ownership.sh: executing... ,
[cont-init.d] 00-set-home.sh: exited 0.,
[cont-init.d] 00-set-home.sh: executing... ,
[cont-init.d] 00-set-app-deps.sh: exited 0.,
[cont-init.d] 00-set-app-deps.sh: executing... ,
[cont-init.d] 00-clean-tmp-dir.sh: exited 0.,
[cont-init.d] 00-clean-tmp-dir.sh: executing... ,
[cont-init.d] 00-clean-logmonitor-states.sh: exited 0.,
[cont-init.d] 00-clean-logmonitor-states.sh: executing... ,
[cont-init.d] 00-app-user-map.sh: exited 0.,
[cont-init.d] 00-app-user-map.sh: executing... ,
[cont-init.d] 00-app-script.sh: exited 0.,
[cont-init.d] 00-app-script.sh: executing... ,
[cont-init.d] 00-app-niceness.sh: exited 0.,
[cont-init.d] 00-app-niceness.sh: executing... ,
[cont-init.d] executing container initialization scripts...,
[fix-attrs.d] done.,
[fix-attrs.d] applying ownership & permissions fixes...,
[s6-init] ensuring user provided files have correct perms...exited 0.,
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.,[s6-init] making user provided files available at /var/run/s6/etc...exited 0.

Any suggestions? Thanks!

Ignoring preset?

Hi,

Can you see a problem with this entry?

the preset I created via the GUI is called myhd720P it is a HEVC QC21 preset, handbrake is automatically renaming my file .myhd720P instead of .mkv it is not removing the source file after encoding and the video format is AVC so the 2 -e lines are being ignored and no error is thrown when being entered?

sudo docker run -d
--name=handbrake
-p 5800:5800
-e AUTOMATED_CONVERSION_FORMAT=myhd720P
-e AUTOMATED_CONVERSION_KEEP_SOURCE=0
-v /docker/appdata/handbrake:/config:rw
-v $HOME:/storage:ro
-v $HOME/HandBrake/watch:/watch:rw
-v $HOME/HandBrake/output:/output:rw
jlesage/handbrake

Many Thanks!

Aspect Ratio Differences

Hi,

when using the same custom preset for the docker and the GUI and the same input file I get different results.

The input file is 1920X1080 and if I use my custom preset (which I also use on other machines) I get an output of 1280X694 which is expected.

If I drop the file in the watch folder I get an output of 1280X1080 which obviously looks pretty weird!

Any idea why there should be a difference?

here is the log from the incorrect formatting via the watch folder

------- CONVERSION OUTPUT Fri Feb 23 11:27:35 UTC 2018 -------
[11:27:35] hb_init: starting libhb thread
[11:27:35] thread 7f304693aae8 started ("libhb")
HandBrake 1.0.7 (2018021400) - Linux x86_64 - https://handbrake.fr
4 CPUs detected
Opening /watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv...
[11:27:35] CPU: Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz
[11:27:35] - Intel microarchitecture Broadwell
[11:27:35] - logical processor count: 4
[11:27:35] hb_scan: path=/watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv, title_index=1
udfread ERROR: ECMA 167 Volume Recognition failed
disc.c:317: failed opening UDF image /watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv
disc.c:418: error opening file BDMV/index.bdmv
disc.c:418: error opening file BDMV/BACKUP/index.bdmv
[11:27:35] bd: not a bd - trying as a stream/file instead
libdvdnav: Using dvdnav version 5.0.1
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[11:27:35] dvd: not a dvd - trying as a stream/file instead
Input #0, matroska,webm, from '/watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv':
Metadata:
title : Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g
encoder : libebml v1.3.5 + libmatroska v1.4.8
creation_time : 2018-02-23T11:25:58.000000Z
Duration: 00:01:00.07, start: 0.000000, bitrate: 4092 kb/s
Chapter #0:0: start 0.000000, end 60.068000
Metadata:
title : (01)00:00:00:000
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt709), 1920x1040 [SAR 1:1 DAR 24:13], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Metadata:
BPS : 3641623
BPS-eng : 3641623
DURATION : 00:01:00.060000000
DURATION-eng : 00:01:00.060000000
NUMBER_OF_FRAMES: 1440
NUMBER_OF_FRAMES-eng: 1440
NUMBER_OF_BYTES : 27339485
NUMBER_OF_BYTES-eng: 27339485
_STATISTICS_WRITING_APP: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
_STATISTICS_WRITING_APP-eng: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2018-02-23 11:25:58
_STATISTICS_WRITING_DATE_UTC-eng: 2018-02-23 11:25:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
Metadata:
BPS : 448000
BPS-eng : 448000
DURATION : 00:01:00.064000000
DURATION-eng : 00:01:00.064000000
NUMBER_OF_FRAMES: 1877
NUMBER_OF_FRAMES-eng: 1877
NUMBER_OF_BYTES : 3363584
NUMBER_OF_BYTES-eng: 3363584
_STATISTICS_WRITING_APP: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
_STATISTICS_WRITING_APP-eng: mkvmerge v20.0.0 ('I Am The Sun') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2018-02-23 11:25:58
_STATISTICS_WRITING_DATE_UTC-eng: 2018-02-23 11:25:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
[11:27:35] scan: decoding previews for title 1
[11:27:35] scan: audio 0x1: ac3, rate=48000Hz, bitrate=448000 English (AC3) (5.1 ch)

Scanning title 1 of 1, preview 3, 30.00 %
Scanning title 1 of 1, preview 6, 60.00 %
Scanning title 1 of 1, preview 8, 80.00 %[11:27:36] scan: 10 previews, 1920x1040, 23.976 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1

Scanning title 1 of 1, preview 10, 100.00 %[11:27:36] libhb: scan thread found 1 valid title(s)

  • Using preset: myhd720P
  • title 1:
    • stream: /watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv
    • duration: 00:01:00
    • size: 1920x1040, pixel aspect: 1/1, display aspect: 1.85, 23.976 fps
    • autocrop: 0/0/0/0
    • support opencl: no
    • chapters:
      • 1: cells 0->0, 0 blocks, duration 00:01:00
    • audio tracks:
      • 1, English (AC3) (5.1 ch) (iso639-2: eng), 48000Hz, 448000bps
    • subtitle tracks:
      [11:27:36] 1 job(s) to process
      [11:27:36] json job:
      {
      "Audio": {
      "AudioList": [
      {
      "Bitrate": 0,
      "DRC": 0.0,
      "Encoder": "copy:ac3",
      "Mixdown": "none",
      "PresetEncoder": "copy",
      "Quality": -3.0,
      "Samplerate": 0,
      "Track": 0
      }
      ],
      "CopyMask": [
      "copy:mp3",
      "copy:aac",
      "copy:ac3",
      "copy:dts",
      "copy:dtshd",
      "copy:eac3",
      "copy:truehd"
      ],
      "FallbackEncoder": "ac3"
      },
      "Destination": {
      "ChapterList": [
      {
      "Name": "(01)00:00:00:000"
      }
      ],
      "ChapterMarkers": false,
      "File": "/output/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv",
      "Mp4Options": {
      "IpodAtom": false,
      "Mp4Optimize": false
      },
      "Mux": "mkv"
      },
      "Filters": {
      "FilterList": [
      {
      "ID": 6,
      "Settings": {
      "mode": 1
      }
      },
      {
      "ID": 11,
      "Settings": {
      "crop-bottom": 0,
      "crop-left": 0,
      "crop-right": 0,
      "crop-top": 0,
      "height": 1040,
      "width": 1280
      }
      }
      ]
      },
      "Metadata": {
      "Name": "Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g"
      },
      "PAR": {
      "Den": 1,
      "Num": 1
      },
      "SequenceID": 0,
      "Source": {
      "Angle": 0,
      "Path": "/watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv",
      "Range": {
      "End": 1,
      "Start": 1,
      "Type": "chapter"
      },
      "Title": 1
      },
      "Subtitle": {
      "Search": {
      "Burn": true,
      "Default": false,
      "Enable": false,
      "Forced": false
      },
      "SubtitleList": []
      },
      "Video": {
      "ColorMatrixCode": 0,
      "Encoder": "x265",
      "Level": "",
      "OpenCL": false,
      "Options": "",
      "Preset": "fast",
      "Profile": "auto",
      "QSV": {
      "AsyncDepth": 4,
      "Decode": true
      },
      "Quality": 21.0,
      "Tune": "",
      "Turbo": false,
      "TwoPass": false
      }
      }
      [11:27:36] starting job
      [11:27:36] job configuration:
      [11:27:36] * source
      [11:27:36] + /watch/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv
      [11:27:36] + title 1, chapter(s) 1 to 1
      [11:27:36] + container: matroska,webm
      [11:27:36] + data rate: 4092 kbps
      [11:27:36] * destination
      [11:27:36] + /output/Mr. Brooks 2007 BluRay 10Bit 1080p DD5.1 H265-d3g (1)-002.mkv
      [11:27:36] + container: Matroska (libavformat)
      [11:27:36] * video track
      [11:27:36] + decoder: hevc
      [11:27:36] + filters
      [11:27:36] + Framerate Shaper (mode=1)
      [11:27:36] + frame rate: 23.976 fps -> constant 23.976 fps
      [11:27:36] + Crop and Scale (width=1280:height=1040:crop-top=0:crop-bottom=0:crop-left=0:crop-right=0)
      [11:27:36] + source: 1920 * 1040, crop (0/0/0/0): 1920 * 1040, scale: 1280 * 1040
      [11:27:36] + Output geometry
      [11:27:36] + storage dimensions: 1280 x 1040
      [11:27:36] + pixel aspect ratio: 1 : 1
      [11:27:36] + display dimensions: 1280 x 1040
      [11:27:36] + encoder: H.265 (libx265)
      [11:27:36] + preset: fast
      [11:27:36] + profile: auto
      [11:27:36] + quality: 21.00 (RF)
      [11:27:36] * audio track 1
      [11:27:36] + decoder: English (AC3) (5.1 ch) (track 1, id 0x1)
      [11:27:36] + bitrate: 448 kbps, samplerate: 48000 Hz
      [11:27:36] + AC3 Passthru
      [11:27:36] sync: expecting 1440 video frames
      x265 [info]: HEVC encoder version 2.3
      x265 [info]: build info [Linux][GCC 6.3.0][64 bit] 8bit
      x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
      x265 [info]: Main profile, Level-4 (Main tier)
      x265 [info]: Thread pool created using 4 threads
      x265 [info]: Slices : 1
      x265 [info]: frame threads / pool features : 2 / wpp(17 rows)
      x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
      x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
      x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2
      x265 [info]: Keyframe min / max / scenecut / bias: 24 / 240 / 40 / 5.00
      x265 [info]: Lookahead / bframes / badapt : 15 / 4 / 0
      x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
      x265 [info]: References / ref-limit cu / depth : 3 / on / on
      x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
      x265 [info]: Rate Control / qCompress : CRF-21.0 / 0.60
      x265 [info]: tools: rd=2 psy-rd=2.00 rskip signhide tmvp fast-intra
      x265 [info]: tools: strong-intra-smoothing lslices=6 deblock sao
      [11:27:36] sync: first pts video is 0
      [11:27:36] sync: "(01)00:00:00:000" (1) at frame 1 time 0
      [11:27:36] sync: first pts audio 0x1 is 360
      [11:28:49] reader: done. 1 scr changes
      [11:28:53] work: average encoding speed for job is 18.976942 fps
      [11:28:53] vfr: 1440 frames output, 0 dropped and 0 duped for CFR/PFR
      [11:28:53] vfr: lost time: 0 (0 frames)
      [11:28:53] vfr: gained time: 0 (0 frames) (0 not accounted for)
      [11:28:53] ac3-decoder done: 1877 frames, 0 decoder errors
      [11:28:53] hevc-decoder done: 1440 frames, 0 decoder errors
      [11:28:53] sync: got 1440 frames, 1440 expected
      [11:28:53] sync: framerate min 23.981 fps, max 23.981 fps, avg 23.976 fps
      x265 [info]: frame I: 9, Avg QP:17.34 kb/s: 7674.12
      x265 [info]: frame P: 286, Avg QP:20.42 kb/s: 2821.82
      x265 [info]: frame B: 1145, Avg QP:25.34 kb/s: 366.66
      x265 [info]: Weighted P-Frames: Y:12.2% UV:1.7%
      x265 [info]: consecutive B-frames: 2.4% 0.3% 0.3% 0.7% 96.3%

encoded 1440 frames in 77.47s (18.59 fps), 899.96 kb/s, Avg QP:24.32
[11:28:53] mux: track 0, 1440 frames, 6762183 bytes, 900.10 kbps, fifo 2048
[11:28:53] mux: track 1, 1877 frames, 3363584 bytes, 447.72 kbps, fifo 2048
[11:28:53] libhb: work result = 0

Encode done!
HandBrake has exited.

docker build error at setup 10/16

when I rebuild image from Dockerfile , I got error at steup 10/16

Step 10/16 : COPY rootfs/ /
COPY failed: stat /var/lib/docker/tmp/docker-builder354501975/rootfs: no such file or directory

XPenology/Synology and Optical Drive

May be a limitation accessing the optical drive from Synology, I successfully setup the container and launches fine however, I can't identify/add the internal SATA optical drive and from the Synology console there is no "lsscsi." Below is the only information I was able to obtain:

scsi 2:0:0:0: CD-ROM HL-DT-ST BD-RE WH16NS60 1.00 PQ: 0 ANSI: 5

sd 1:0:0:0: [sdb] Write Protect is off
[ 1.222406] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 1.222425] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.222490] ata3.00: Find SSD disks. [HL-DT-ST BD-RE WH16NS60]
[ 1.222754] sdb: sdb1
[ 1.223017] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 1.225089] scsi 2:0:0:0: CD-ROM HL-DT-ST BD-RE WH16NS60 1.00 PQ: 0 ANSI: 5
[ 1.349010] ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1.360919] ata8.00: ATA-8: Corsair Force GS, 5.03, max UDMA/133
[ 1.360923] ata8.00: 468862128 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
guyp@XPenology:/$

...and my config:

docker run -d
--name=makemkv
-p 5800:5800
-v /volume1/docker/appdata/makemkv:/config:rw
-v $HOME:/storage:ro
-v /volume1/Rips/Output:/output:rw
--device /dev/sr0
--device /dev/sg1
jlesage/makemkv

I have tried to substitute the above devices with sdb and sdb1 from dmesg w/ out success. is there another process or am I spinning my wheels and need to move on?

Thanks

Preserve SUBDIR

Can the automated conversion routine be modified (or give an option to) retain subdirs during conversion?

Example:

I drop /SUBFOLDER/convert.mp4 into the watch folder, I'd like the converted file in watch folder to be in /SUBFOLDER/convert.mp4.

secure connection

When passing in secure_connection = 1 into the docker compose file, the GUI is still accessed by http and not https. Is there an additional step I need to perform?

"connect to server" is greyed out

Hi, I've just installed the Handbrake docker (I'm quite new to ubuntu and docker). It's running (i had to use SUDO before the docker run command)

The NFS share is already mounted on the ubuntu I'm running via etc/fstab (as NASVideo) but handbrake can't seem to navigate to it.

but when I try to use "connect to server" to find the files I'm looking to covert, the box is greyed out and nothing seems to happen. I'm using the nfs:// prefix to the IP address.

Storage Geometry is not saved to preset

I have a couple of old DV files (708 x 574) which I want to convert into mkv and which should be brought to 1280 x 720p format (with black bars left and right of course). That all works perfectly in the GUI when I set the parameters:

image

I want to use a watchfolder now and saw that the result is unfortunately different. I found that my setting above is not correctly stored in the preset! As soon as I hit the "Save new Preset" button and save the preset, the marked section jumps back to default:

image

As long as this bug is not fixed, what's the parameter in the preset.json which I may change manually?

Installing a certificate

Hi,

I've a Synology NAS with my Let's Encrypt certificate perfectly working on it for webs which are not under docker but I'm trying to install it for your docker app and connect to Handbrake via HTTPS. I'm terribly lost. Could you tell me step by step how I must to do to install it? Thanks in advance!

there is a problem with launching the web interface.

Good afternoon. I have a NAS synology DS718+.
I installed docker-handbrake.
installed, launched, but there is no access to the web interface. What could be the problem?
NAS is installed in a local network and to come on the web interface I try to come from the computer which is in the same local network.

Feature request: Add support for multiple watch folders

It could be interesting to have multiple watch folders, each having its own preset.
For example, one could setup a watch folder for TV shows, which have different quality settings than movies (which have a different watch folder).

AACS Support

Can you please add support for AACS so more Blu-rays can be ripped?

I've done this on my desktop and can rip blurays perfectly, but can't with this image.

Btw this image is awesome :-)

filter of file name mask on watch folder

Is there a way to put a filter of filename mask on the watch folder?

Here's my scenario:
All of this runs on a QNAP TS-451+ Plex is native, not a docker container. handbrake is in a docker container. I don't know how to run the handbrake cli in this configuration so I went with the watch folder.
Occasionally I record live TV. The TS files are ungodly huge for the length of time they cover so I convert them to MKV and shrink them down. The recording of TV is controlled by Plex. The TS files get put into the greater population of media files I have in /share/Media. The Plex output location for recording cannot be changed. It is always the same as the greater media population.

/watch and /output both point to /share/Media on my nas because of the Plex restrictions above. I was hoping I could watch for only files that have the TS extension and convert them to MKV. Otherwise, I wanted it to leave the files alone. nothing fancy like subtitles or commercial stripping, just TS>compress>MKV,

Is this possible? or do I need an interim step that copies the file with the directory structure to /watch (not the same one in this case) so it can convert and put in /output (/share/Media)?

Retain original create date

This container is great and I just have a suggestion around metadata:

Handbrake does not retain the original create date on the file. As a user, I'd like to retain this date especially for home videos and not have the handbrake conversion date as the new file's create date.

For now, I'll probably build an image off this that includes ffmpeg so that I can use the post_conversion hook to copy the metadata to the new file. There may be better ways to accomplish the same goal, and I'd love to see how you do this if you like the idea. I'll have something like:

ffmpeg -i in.mp4 -i out.mp4 -map 1 -map_metadata 0 -c copy fixed.mp4

Change Default Presets

HI,

Which file would i need to modify to set the preset for start up.
i know i can use AUTOMATED_CONVERSION_PRESET:fast_video

but my question is if i start this from the CLI, and then for some reason the server is restarted. (or even the dockers)
would it still restart with the original default preset (very fast) or would it restart with my fast_video preset?

(running docker on a synology)
start command

docker run --name=handbrake -p 5801:5800 -e AUTOMATED_CONVERSION_PRESET:fast_video -e AUTOMATED_CONVERSION_KEEP_SOURCE=0 -v /volume1/docker/appdata/handbrake:/config:rw -v /volume1/handbrake:/storage:ro -v /volume1/handbrake/watch:/watch:rw -v /volume1/handbrake/output:/output:rw jlesage/handbrake

Can only encode one file > CPU usage keeps high

Good morning,
i am using a few days old dev-latest container (HB Version 20180918130840-b128aa8) on my Synology DS718+.

I noticed that, if i put seveal files to the queue, only one is processed. The following all failing.
One Log attached.
sample.log

What i noticed too is that the container keeps using a lot of CPU even in idle.
In the docker GUI its always arround 20 - 25 % CPU usage. Before is was almost nothing in idle.
Looking inside the processes in the docker GUI shows a on top a line that is alternating its commands:
...
[sh]
[s6-apply]
[ifelse s6 -test 0 - eq]
[sh ./autovideovconverter]
[bin]
[importas]
...
Its hard to catch them all because switching fast. But over all it keeps using 17.4 % CPU
Below there is a line that uses 6.28 % of CPU and 130 MB(!) of memory:
[/usr/bin/ghb --config /config]

Help needed: access rights issue on Synology Nas, permission denied

Hello Guys,

I need help solving an issue with docker/handbrake on my Synology NAS 716+.
Until 3 weeeks ago docker/handbrake worked very fine on my Nas. Then I upgraded the DSM Version of the NAS to the latest build of DSM 6.1 and starting from that day I observered access rights issues in the mapped folder (the folder I linked towards handbrake from the DSM). In the meantime I upgraded again towards DSM 6.2 RC, the issue remains.

The Docker Container Handbrake iseems start normal, but as soon as I want to open a file from the mapped folder, the following error message appears:
"Could not read the contents of handbrake, Error opening directory /storage/handbrake".

permission denied

The docker container is configured on the Synology DSM as follows:
docker handbrake

The mapped folder /Volume1/NZBD has the following access rights:
(German language: "Lesen/Schreiben" = Read/Write):

berechtigungen nzbd

I'm logged in on the Synology as "admin" to start handbrake.

What I have configured wrong and what I need to change to make handbrake work again on the Synology?
Any help would be much appreciated! Thank you.

BR, rako123

How to determine why Automatic Conversion not working

Your container is great, I've done the manual conversion and it works so well!

However, I'm not sure if I've missed a prerequisite or config'd something incorrectly, but the Automatic Conversion doesn't seem to be working. I've read the Readme a few times, and it seems quite straightforward, but when I put a Movie with a VIDEO_TS folder into the watch folder, nothing seems to happen. Should I see it in the Queue or Activity Log? Are there any logs or anything that I can look up to see what could be happening?

Any advice would be much appreciated, I'd really like to automatically convert my DVD backups, but I'd be still happy to do them manually if I can't get this working so really happy for your efforts 👍

file extension in quotes?

Everything so far is working pretty well! Really handy with the watch and output folders.

However, I have these folders converting to m4v or mp4 file extensions, but the output of the files are always name."m4v" with the extension in quotes.

Am I do something wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.