Dolby Encoding Engine Wrapper
Project description
Dolby Encoding Engine Wrapper
English readme • Magyar leírás
DDP encoding has never been so easy!
Description
- handles Dolby's XML input fuckery in the background, giving you a proper CLI interface
- converts inputs to RF64 which DEE can use
- bit depth, number of channels and other infos are parsed from the source
- an XML file will be generated for each input based on the settings
- the script utilizes thread pooling for batch encoding (see config)
- supports WSL path conversion for the Windows version of DEE (see config)
- in case of an invalid bitrate it will pick the closest allowed one
- automatic sample rate conversion using ffmpeg's soxr resampler in case of an unsupported sample rate
- for DD/DDP/AC4 unsupported rates will be converted to 48 kHz
- for TrueHD unsupported rates will be converted to 48 kHz if source sample rate is lower than 72 kHz, otherwise will be converted to 96 kHz
- automatic channel swapping for 7.1 sources (DEE swaps Ls Rs with Lrs Rrs for some reason)
- automatic dialnorm setting
- automatically compensates for DEE's 256 sample delay (DD and DDP encoding)
- checks if intermediate file is already created so you can encode different formats/bitrates using a single intermediate file, for example:
deew -f dd -b 448 -i input -k
deew -f dd -b 640 -i input -k
deew -f ddp -i input
- works even with video inputs (first audio will be selected)
- fancy terminal output using rich
- versatile delay option that supports ms, s and also frame@fps formats
- parsing delay from filenames
Requirements
- Python (you don't need it if you use a standalone build of deew)
- ffmpeg
- ffprobe
- Dolby Encoding Engine
Dolby Encoding Engine installation
- install DEE (if you use macOS, install DME)
- for TrueHD encoding support you need the Windows version
- if you use WSL1 use the Windows version for better performance
- if you use the Windows version of DEE under Linux (and not from WSL) / macOS install
wine-binfmt
- place your
license.lic
file next to the DEE binary (dee.exe
under Windows,dee
under Linux/macOS) - if DEE throws
Failed to load library "...dll".
errors when you run deew install VisualCppRedist AIO
deew installation
with standalone build (Windows 7-11/Linux):
- grab the latest build from: https://github.com/pcroland/deew/releases
- run with:
deew
(run the binary from terminal, doubleclicking it won't work) - on the first run it will create a config file, choose where you want to keep it
- updating: grab the latest build from: https://github.com/pcroland/deew/releases
with Python environment (Windows/Linux/macOS):
- install Python and pip if you don't have it already
- run:
pip install deew
- run with:
deew
- on the first run it will create a config file
- updating:
pip install deew --upgrade
Setup system PATH variable
If you don't want to use full paths for the binaries in your config or when you use them from CLI, I suggest to setup system PATH variables
Windows:
- open
cmd.exe
as administrator - run a
setx /m PATH "%PATH%;[location]"
command for each path that contains binaries
(replace[location]
with the path) - for example:
setx /m PATH "%PATH%;C:\bin\dee"
setx /m PATH "%PATH%;C:\bin\ffmpeg"
Linux/macOS:
- add a
PATH="[location]:$PATH"
line in your~/.bashrc
or~/.zshrc
file for each path that contains a binary
(replace[location]
with the path) - for example:
PATH="/usr/local/bin/dee:$PATH"
PATH="/usr/local/bin/ffmpeg:$PATH"
Usage
❯ deew -h
deew 3.2.1
USAGE: deew [-h] [-v] [-i [INPUT ...]] [-ti INDEX] [-o DIRECTORY] [-f FORMAT]
[-b BITRATE] [-dm CHANNELS] [-d DELAY] [-r DRC] [-dn DIALNORM]
[-in INSTANCES] [-k] [-mo] [-fs] [-fb] [-lb] [-la] [-np] [-pl]
[-cl] [-c] [-gc]
FLAGS:
-h, --help show this help message.
-v, --version show version.
-i, --input [INPUT ...] audio file(s) or folder(s)
-ti, --track-index INDEX default: 0
select audio track index of input(s)
-o, --output DIRECTORY default: current directory
specifies output directory
-f, --format FORMAT options: dd / ddp / ac4 / thd
default: ddp
-b, --bitrate BITRATE options: run -lb/--list-bitrates
default: run -c/--config
-dm, --downmix CHANNELS options: 1 / 2 / 6
specifies downmix, only works for DD/DDP
DD will be automatically downmixed to 5.1 in case of a 7.1 source
-d, --delay DELAY examples: -5.1ms, +1,52s, -24@pal, +10@24000/1001
default: 0ms or parsed from filename
specifies delay as ms, s or frame@FPS
FPS can be a number, division or ntsc / pal
you have to specify negative values as -d=-0ms
-r, --drc DRC options: film_light / film_standard / music_light / music_standard / speech
default: music_light (this is the closest to the missing none preset)
specifies drc profile
-dn, --dialnorm DIALNORM options: between -31 and 0 (in case of 0 DEE's measurement will be used)
default: 0
applied dialnorm value between
-in, --instances INSTANCES examples: 1, 4, 50%
default: 50%
specifies how many encodes can run at the same time
50% means 4 on a cpu with 8 threads
one DEE can use 2 threads so 50% can utilize all threads
(this option overrides the config's number)
-k, --keeptemp keep temp files
-mo, --measure-only kills DEE when the dialnorm gets written to the progress bar
this option overrides format with ddp
-fs, --force-standard force standard profile for 7.1 DDP encoding (384-1024 kbps)
-fb, --force-bluray force bluray profile for 7.1 DDP encoding (768-1664 kbps)
-lb, --list-bitrates list bitrates that DEE can do for DD and DDP encoding
-la, --long-argument print ffmpeg and DEE arguments for each input
-np, --no-prompt disables prompt
-pl, --print-logos show all logo variants you can set in the config
-cl, --changelog show changelog
-c, --config show config and config location(s)
-gc, --generate-config generate a new config
Examples
deew -i *thd
encode DDP
deew -b 768 -i *flac
encode DDP@768
deew -dm 2 -f dd -b 192 -i *.ec3
encode DD@192 with stereo downmixing
deew -f dd -b 448 -in 4 -i S01
encode DD@448 using 4 instances (input is a folder)
deew -f thd -i *w64
encode TrueHD
deew -f dd -i *dts -k
deew -f ddp -i *dts
encode multiple formats/bitrates while creating the temp file only once
Discussion and Support
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file deew-3.2.1.tar.gz
.
File metadata
- Download URL: deew-3.2.1.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Windows/2022Server
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33e3c60254de9f26212d1407e1cf4064a1c6f444bd6c06e4eceb96c49fa92e55 |
|
MD5 | 5fefa939d10615283e109635b097083c |
|
BLAKE2b-256 | f513292204f5aec290c86a9cb634008cf3747edef0e2fd3622808fc04838b6f2 |
File details
Details for the file deew-3.2.1-py3-none-any.whl
.
File metadata
- Download URL: deew-3.2.1-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Windows/2022Server
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26569447e06673a302f38906c79bd6dff1366d1a5c530f57b41d4a5db0dcc466 |
|
MD5 | 938b80da9dcddad3872f3511d6720ebe |
|
BLAKE2b-256 | 6eb260e9d92ea96365b0ffc8ada202be829374ad9b6dd9c971afc8fb5464c52b |