updated handbrake

This commit is contained in:
2026-04-17 14:09:39 +00:00
parent 94ef62fe03
commit 6ded36e994
6 changed files with 52 additions and 76 deletions
+160
View File
@@ -0,0 +1,160 @@
# Handbrake
- DockerHub: https://hub.docker.com/r/jlesage/handbrake
- Env docs: https://github.com/jlesage/docker-handbrake
- Proxy port: 5800
## NOTES
You can specify read and write for example:
"handbrake-storage:/storage:ro"
"handbrake-output:/output:rw"
## Nvidia GPU
HANDBRAKE_IMAGE=zocker160/handbrake-nvenc:latest
Github: https://github.com/zocker-160/handbrake-nvenc-docker
DockerHub NVENC: https://hub.docker.com/r/zocker160/handbrake-nvenc
# Gotchas
```
problem /etc/cont-init.d/55-handbrake.sh: 47: log: not found docker
```
chmod the volumes
and the env file has to be included
## Presets
I think this is the best preset for small file, big quality:
```
{
"AlignAVStart": false,
"AudioCopyMask": [
"copy:aac"
],
"AudioEncoderFallback": "none",
"AudioLanguageList": [],
"AudioList": [
{
"AudioBitrate": 128,
"AudioCompressionLevel": -1.0,
"AudioDitherMethod": "auto",
"AudioEncoder": "fdk_aac",
"AudioMixdown": "stereo",
"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_mp4",
"Folder": false,
"FolderOpen": false,
"InlineParameterSets": false,
"MetadataPassthru": true,
"Mp4iPodCompatible": false,
"Optimize": false,
"PictureAllowUpscaling": false,
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureChromaSmoothCustom": "",
"PictureChromaSmoothPreset": "off",
"PictureChromaSmoothTune": "none",
"PictureColorspaceCustom": "",
"PictureColorspacePreset": "off",
"PictureCombDetectCustom": "",
"PictureCombDetectPreset": "off",
"PictureCropMode": 2,
"PictureDARWidth": 1920,
"PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8",
"PictureDeblockPreset": "off",
"PictureDeblockTune": "medium",
"PictureDeinterlaceCustom": "",
"PictureDeinterlaceFilter": "off",
"PictureDeinterlacePreset": "",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDenoisePreset": "",
"PictureDenoiseTune": "none",
"PictureDetelecine": "off",
"PictureDetelecineCustom": "",
"PictureForceHeight": 0,
"PictureForceWidth": 0,
"PictureHeight": 0,
"PictureItuPAR": false,
"PictureKeepRatio": true,
"PictureLeftCrop": 0,
"PictureModulus": 2,
"PicturePAR": "auto",
"PicturePARHeight": 1,
"PicturePARWidth": 1,
"PicturePadBottom": 0,
"PicturePadColor": "black",
"PicturePadLeft": 0,
"PicturePadMode": "none",
"PicturePadRight": 0,
"PicturePadTop": 0,
"PictureRightCrop": 0,
"PictureRotate": "angle=0:hflip=0",
"PictureSharpenCustom": "",
"PictureSharpenFilter": "off",
"PictureSharpenPreset": "",
"PictureSharpenTune": "",
"PictureTopCrop": 0,
"PictureUseMaximumSize": true,
"PictureWidth": 0,
"PresetDescription": "Nvidia NVENC hardware accelerated H.265 video (up to 2160p) and AAC stereo audio, in an MP4 container.",
"PresetDisabled": false,
"PresetName": "sameRes-cpu-265",
"SubtitleAddCC": false,
"SubtitleAddForeignAudioSearch": false,
"SubtitleAddForeignAudioSubtitle": false,
"SubtitleBurnBDSub": false,
"SubtitleBurnBehavior": "none",
"SubtitleBurnDVDSub": false,
"SubtitleLanguageList": [],
"SubtitleTrackSelectionBehavior": "none",
"Type": 1,
"UsesPictureFilters": true,
"VideoAvgBitrate": 7000,
"VideoColorMatrixCodeOverride": 0,
"VideoEncoder": "x265",
"VideoFramerate": "auto",
"VideoFramerateMode": "vfr",
"VideoGrayScale": false,
"VideoHWDecode": 0,
"VideoLevel": "auto",
"VideoMultiPass": true,
"VideoOptionExtra": "",
"VideoPreset": "slow",
"VideoProfile": "auto",
"VideoQSVDecode": false,
"VideoQualitySlider": 27.0,
"VideoQualityType": 2,
"VideoScaler": "swscale",
"VideoTune": "",
"VideoTurboMultiPass": false,
"x264Option": "",
"x264UseAdvancedOptions": false
},
```
## Dockhand Stack, Deploy from Git
Cookbooks Repository
stackname: handbrake
Compose file path: handbrake/compose-cpu.yaml
Additional env file (optional): handbrake/sample.env
Then "Load" handbrake/sample.env into the Environmental variables in dockhand
Create the Stack
+17
View File
@@ -0,0 +1,17 @@
# Handbrake CPU
services:
handbrake:
image: ${HANDBRAKE_IMAGE:-jlesage/handbrake:latest}
restart: ${HANDBRAKE_RESTART:-unless-stopped}
volumes:
- "${VOL_PATH:-./data}/handbrake/ghb-config:/config"
- "${VOL_PATH:-./data}/handbrake/storage:/storage"
- "${VOL_PATH:-./data}/handbrake/complete:/output"
- "${VOL_PATH:-./data}/handbrake/watch:/watch"
- "${VOL_PATH:-./data}/handbrake/watch2:/watch2"
- "${VOL_PATH:-./data}/handbrake/trash:/trash"
env_file:
- ${HANDBRADE_ENV:-sample.env}
ports:
- ${HANDBRAKE_PORT:-5800}:5800"
+22
View File
@@ -0,0 +1,22 @@
# Handbrake CPU
services:
handbrake:
image: ${HANDBRAKE_IMAGE:-jlesage/handbrake:latest}
restart: ${HANDBRAKE_RESTART:-unless-stopped}
volumes:
- "${VOL_PATH:-./data}/handbrake/ghb-config:/config"
- "${VOL_PATH:-./data}/handbrake/storage:/storage"
- "${VOL_PATH:-./data}/handbrake/complete:/output"
- "${VOL_PATH:-./data}/handbrake/watch:/watch"
- "${VOL_PATH:-./data}/handbrake/watch2:/watch2"
- "${VOL_PATH:-./data}/handbrake/trash:/trash"
env_file:
- ${HANDBRADE_ENV:-sample.env}
ports:
- ${HANDBRAKE_PORT:-5800}:5800"
runtime: nvidia
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
+29
View File
@@ -0,0 +1,29 @@
VOL_PATH=/data
HANDBRAKE_IMAGE=jlesage/handbrake:latest #CPU
#HANDBRAKE_IMAGE=zocker160/handbrake-nvenc:18x #GPU
#NVIDIA_VISIBLE_DEVICES=all #GPU
#NVIDIA_DRIVER_CAPABILITIES=all #GPU
HANDBRAKE_RESTART=unless-stopped
HANDBRAKE_ENV=sample.env
HANDBRAKE_PORT=5800
AUTOMATED_CONVERSION=1 # 0 for no
AUTOMATED_CONVERSION_FORMAT=m4v
AUTOMATED_CONVERSION_KEEP_SOURCE=1 # 0 for remove
AUTOMATED_CONVERSION_USE_TRASH=0 # 1 for yes. Required KEEP_SOURCE
AUTOMATED_CONVERSION_OVERWRITE_OUTPUT=0
AUTOMATED_CONVERSION_NO_GUI_PROGRESS=0 # 0 is show
AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS=2
AUTOMATED_CONVERSION_PRESET='Very Fast 1080p30'
AUTOMATED_CONVERSION_OUTPUT_DIR=/output
AUTOMATED_CONVERSION_PRESET_2='Very Fast 1080p30'
AUTOMATED_CONVERSION_OUTPUT_DIR_2=/output
# Password Protect
SECURE_CONNECTION=1
WEB_AUTHENTICATION=1
WEB_AUTHENTICATION_TOKEN_VALIDITY_TIME=40
WEB_AUTHENTICATION_USERNAME=username
WEB_AUTHENTICATION_PASSWORD=p@ssw0rd