lottery
🎉🌟✨🎈年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀
A self-hosted platform to use HandBrake on your headless devices via a bespoke web interface. Harness the processing po…
git clone https://github.com/TheNickOfTime/handbrake-web.gitTheNickOfTime/handbrake-web
HandBrake Web is a program for interfacing with handbrake across multiple machines via a web browser. It consists of two components: the server and one or more worker(s). Warning - This application is still under heavy development, use at your own risk, to learn more please see the Known Issues & Limitations section.
The server component primarily acts as a coordinator for the workers. Additionally it serves the client interface. The work done by the server is not computationally expensive - it can be run on low-end/low-power devices with no issue.
The worker component does the heavy lifting via HandBrakeCLI. Jobs are sent to workers by the server, and the workers will process the provided media based on a provided HandBrake preset configuration. The work done by the worker is very computationally expensive - it is recommended that you run a single worker instance per machine, and that machine either have a high core-count CPU or have GPU hardware encoding features available to the worker.
See the Setup Guide wiki page for a detailed walkthrough on getting HandBrake Web setup and configured.
If you are very familiar with Docker/Docker Compose and want to get started as fast as possible with a server and a single worker, check out the base configuration below:
services:
handbrake-server:
image: ghcr.io/thenickoftime/handbrake-web-server:latest
container_name: handbrake-web-server
user: 1000:1000 # edit to run as user (uuid:guid) with permissions to access your media. 0:0 to run as root (not recommended).
ports:
- 9999:9999
volumes:
- /path/to/your/data:/data
- /path/to/your/media:/video # ensure this path is the same across all containers
handbrake-worker:
image: ghcr.io/thenickoftime/handbrake-web-worker:latest
container_name: handbrake-web-worker
user: 1000:1000 # edit to run as user (uuid:guid) with permissions to access your media. 0:0 to run as root (not recommended).
environment:
- WORKER_ID=handbrake-worker # give your worker a unique name
- SERVER_URL=handbrake-server # change if setting up a standalone worker, prefix with http(s):// if necessary
- SERVER_PORT=9999 # change if using a reverse proxy or the port is otherwise different than above
volumes:
- /path/to/your/media:/video # ensure this path is the same across all containers
depends_on:
- handbrake-server
HandBrake Web currently uses presets configured in the desktop application of HandBrake and exported to .json files to configure encoding jobs. Exported presets can then be uploaded via the web interface in the 'Presets' section. Please see the Presets wiki page for additional information.
Additional configuration is required to enable hardware accelerated encoding for GPUs - please see the Hardware Acceleration wiki page for additional information. Currently Intel QSV and NVIDIA NVENC hardware encoding are supported. Support for AMD VCN is planned, but not yet implimented.
These lists are not comprehensive, please see the development project for more information...
If you are looking for a dockerized/containerized way to directly use HandBrakeCLI (via terminal), you can use an additional image this project provides -ghcr.io/thenickoftime/handbrake-cli. You can find additional information about using it on the HandBrakeCLI Image wiki page.
This "bonus" image was incredibly simple to make by using the existing outputs of this project's build process, so it felt rude to not make it available to anyone who might want to use it.
Please see CONTIBUTING.md.
more like this
🎉🌟✨🎈年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀
search projects, people, and tags