https://github.com/zocker-160/handbrake-nvenc-docker
Handbrake GUI with Web browser and VNC access. Supports NVENC encoding
https://github.com/zocker-160/handbrake-nvenc-docker
docker-image gui handbrake nvenc nvidia nvidia-docker webui
Last synced: 3 months ago
JSON representation
Handbrake GUI with Web browser and VNC access. Supports NVENC encoding
- Host: GitHub
- URL: https://github.com/zocker-160/handbrake-nvenc-docker
- Owner: zocker-160
- Created: 2019-10-03T14:19:11.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-12T13:51:39.000Z (over 1 year ago)
- Last Synced: 2024-08-12T15:57:59.568Z (over 1 year ago)
- Topics: docker-image, gui, handbrake, nvenc, nvidia, nvidia-docker, webui
- Language: Dockerfile
- Homepage:
- Size: 76.2 KB
- Stars: 47
- Watchers: 6
- Forks: 11
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Handbrake in a Docker container with nvenc support
### Fork of jlesage/handbrake, adds NVENC Hardware encoding
In order to make this image work you need Docker >= 19.03 and the latest [NVIDIA driver](https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#how-do-i-install-the-nvidia-driver) installed on your host system.
On a headless Debian server it is recommended to use the [official Nvidia installer](https://www.nvidia.com/en-us/drivers/unix/).
An official guide by Nvidia can be found [here](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installing-on-ubuntu-and-debian).
---
**NOTE:** The Docker command provided in this quick start is given as an example and parameters should be adjusted to your need.
### Supported tags
| tag | Handbrake version | build status |
|:---------------:|:-----------------:|:------------------------:|
| `nightly` | master | ![Dockerimage nightly][] |
| `19x`, `latest` | 1.9.2 | ![Dockerimage 1.9.x][] |
| `18x` | 1.8.2 | ![Dockerimage 1.8.x][] |
| `17x` | 1.7.3 | ![Dockerimage 1.7.x][] |
| `16x` | 1.6.1 | ![Dockerimage 1.6.x][] |
| `15x` | 1.5.1 | ![Dockerimage 1.5.x][] |
| `14x` | 1.4.2 | ![Dockerimage 1.4.x][] |
| `13x` | 1.3.x-git | ![Dockerimage 1.3.x][] |
[Dockerimage nightly]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-nightly.yml/badge.svg
[Dockerimage 1.9.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-19x.yml/badge.svg
[Dockerimage 1.8.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-18x.yml/badge.svg
[Dockerimage 1.7.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-17x.yml/badge.svg
[Dockerimage 1.6.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-16x.yml/badge.svg
[Dockerimage 1.5.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-15x.yml/badge.svg
[Dockerimage 1.4.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-14x.yml/badge.svg
[Dockerimage 1.3.x]: https://github.com/zocker-160/handbrake-nvenc-docker/actions/workflows/dockerimage-13x.yml/badge.svg
Launch the HandBrake docker container with the following command:
```
docker run -d -t \
--name=handbrake \
-p 5800:5800 \
-v :/config:rw \
-v :/storage:ro \
-v :/watch:rw \
-v :/output:rw \
--gpus all \
zocker160/handbrake-nvenc:latest
```
docker compose `docker compose up -d`
```yml
services:
handbrake:
image: zocker160/handbrake-nvenc:latest
container_name: handbrake
environment:
- AUTOMATED_CONVERSION_FORMAT=mp4
- AUTOMATED_CONVERSION_PRESET=Creator 1080p60
ports:
- 5800:5800 # WebUI
#- 5900:5900 # VNC
volumes:
- :/config:rw
- :/storage:ro
- :/watch:rw
- :/output:rw
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- count: all
capabilities: [gpu]
```
#### Usage
- `--gpus all` this enables the passthrough to the GPU(s)
- `Port 5800`: for WebGUI
- `Port 5900`: for VNC client connection
- `/config`: This is where the application stores its configuration, log and any files needing persistency.
- `/storage`: This location contains files from your host that need to be accessible by the application.
- `/watch`: This is where videos to be automatically converted are located.
- `/output`: This is where automatically converted video files are written.
Browse to `http://your-host-ip:5800` to access the HandBrake GUI.
Files from the host appear under the `/storage` folder in the container.
#### Optional parameters
- `-e AUTOMATED_CONVERSION_PRESET` (default: `"Very Fast 1080p30"`)
- `-e AUTOMATED_CONVERSION_FORMAT` (default: `"mp4"`)
- `-e APP_NAME` (default: `"Handbrake"`)
additional detailed info: