{"id":13617764,"url":"https://github.com/pcroland/deew","last_synced_at":"2026-05-18T20:01:25.638Z","repository":{"id":39513417,"uuid":"440293657","full_name":"pcroland/deew","owner":"pcroland","description":"Dolby Encoding Engine Wrapper","archived":false,"fork":false,"pushed_at":"2025-03-30T18:34:50.000Z","size":7592,"stargazers_count":268,"open_issues_count":10,"forks_count":24,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-03-09T18:12:14.395Z","etag":null,"topics":["audio","audio-encoder","audio-encoding","cli","deew","dolby","dolby-audio","dolby-encoding-engine","encoding","ffmpeg","python","python-rich"],"latest_commit_sha":null,"homepage":"https://deew.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pcroland.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"pcroland"}},"created_at":"2021-12-20T20:07:13.000Z","updated_at":"2026-03-01T13:58:01.000Z","dependencies_parsed_at":"2024-03-30T23:32:46.101Z","dependency_job_id":"f02ccfd6-57c6-439f-bb47-c75a0eba21a6","html_url":"https://github.com/pcroland/deew","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/pcroland/deew","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcroland%2Fdeew","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcroland%2Fdeew/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcroland%2Fdeew/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcroland%2Fdeew/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pcroland","download_url":"https://codeload.github.com/pcroland/deew/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pcroland%2Fdeew/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33189279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-encoder","audio-encoding","cli","deew","dolby","dolby-audio","dolby-encoding-engine","encoding","ffmpeg","python","python-rich"],"created_at":"2024-08-01T20:01:47.605Z","updated_at":"2026-05-18T20:01:25.612Z","avatar_url":"https://github.com/pcroland.png","language":"Python","funding_links":["https://ko-fi.com/pcroland"],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"[![builds](https://img.shields.io/github/actions/workflow/status/pcroland/deew/build.yaml?logo=github\u0026style=flat-square)](https://github.com/pcroland/deew/actions/workflows/build.yaml)\n[![github_release](https://img.shields.io/github/v/release/pcroland/deew?logo=github\u0026color=70920c\u0026style=flat-square)](https://github.com/pcroland/deew/releases)\n[![pypi_release](https://img.shields.io/pypi/v/deew?label=PyPI\u0026logo=pypi\u0026logoColor=ffffff\u0026color=70920c\u0026style=flat-square)](https://pypi.org/project/deew)\n[![pypi_downloads](https://img.shields.io/pypi/dm/deew?color=70920c\u0026logo=pypi\u0026logoColor=white\u0026style=flat-square)](https://pypi.org/project/deew)\n[![license](https://img.shields.io/github/license/pcroland/deew?color=blueviolet\u0026style=flat-square)](https://github.com/pcroland/deew/blob/master/LICENSE)\n\\\n[![telegram](https://img.shields.io/endpoint?label=Discussion%20%26%20support\u0026style=flat-square\u0026url=https%3A%2F%2Fx0.gs%2Fquart-apis%2Ftgmembercount%3Fchat_id%3Ddeewsupport)](https://t.me/deewsupport)\n[![commits](https://img.shields.io/github/last-commit/pcroland/deew?color=355ab8\u0026logo=github\u0026style=flat-square)](https://github.com/pcroland/deew/commits/main)\n[![open_issues](https://img.shields.io/github/issues/pcroland/deew?color=718bcd\u0026logo=github\u0026style=flat-square)](https://github.com/pcroland/deew/issues)\n[![closed_issues](https://img.shields.io/github/issues-closed/pcroland/deew?color=253e80\u0026logo=github\u0026style=flat-square)](https://github.com/pcroland/deew/issues?q=is%3Aissue+is%3Aclosed)\n\\\n[![name](https://img.shields.io/badge/platform-win%20%7C%20linux%20%7C%20osx-eeeeee?style=flat-square)](https://github.com/pcroland/deew)\n[![name](https://img.shields.io/pypi/pyversions/deew?logo=Python\u0026logoColor=eeeeee\u0026color=eeeeee\u0026style=flat-square)](https://github.com/pcroland/deew)\n[![name](https://img.shields.io/badge/DEE-5.1.0--5.2.1-green?logoColor=white\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAAA9ElEQVQokZXSzypFURQG8N89LsnEv1KGBp5CKU9wBygPIJ5AeYM7MjLAzMBAmRuYyszU3AOgG6GQpZ19OM69Tny1Wu39rVXfWt9qRcQaljCOUbygh3c/MYQJDOMZ9zhvYwEb+hG1n9aAmlaBkfzYwQo2cZUbqnGJdSxjP/eMiYi9+MRiRKjEWXzjpMZ1MnNUVORM1+R1ck6jrNa4qZJrD5irRFrUHW4aahRNJN7w2lTQpCBhBpN/VfBU4w5yTr53a1war0/BPK7zQW1lS0tsYxa7eMDcFxMRhxW7/ovjpOAUj9madMppabe/nHKyOvWkcXu4+AAd1Ju1TsOvFgAAAABJRU5ErkJggg==\u0026color=eeeeee\u0026style=flat-square)](https://customer.dolby.com/content-creation-and-delivery/dolby-encoding-engine-with-ac-4)\n\u003chr\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"192\" src=\"https://raw.githubusercontent.com/pcroland/deew/main/logo/logo.svg\"\u003e\u003cbr\u003eDolby Encoding Engine Wrapper\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/pcroland/deew/blob/main/README.md\"\u003eEnglish readme\u003c/a\u003e\n • \u003ca href=\"https://github.com/pcroland/deew/blob/main/README_hu.md\"\u003eMagyar leírás\u003c/a\u003e\u003c/p\u003e\n\n## DDP encoding has never been so easy!\n\n![img](https://telegra.ph/file/4e75ac457c8f122dfc9a9.gif)\n\u003c!---https://i.kek.sh/f2Iv7nZ2ucf.gif---\u003e\n\n# Description\n- handles Dolby's XML input fuckery in the background, giving you a proper CLI interface\n- converts inputs to RF64 which DEE can use\n  - bit depth, number of channels and other infos are parsed from the source\n- an XML file will be generated for each input based on the settings\n- the script utilizes thread pooling for batch encoding (see config)\n- supports WSL path conversion for the Windows version of DEE (see config)\n- in case of an invalid bitrate it will pick the closest allowed one\n- automatic sample rate conversion using ffmpeg's soxr resampler in case of an unsupported sample rate\n  - for DD/DDP/AC4 unsupported rates will be converted to 48 kHz\n  - 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\n- automatic channel swapping for 7.1 sources (DEE swaps Ls Rs with Lrs Rrs for some reason)\n- automatic dialnorm setting\n- automatically compensates for DEE's 256 sample delay (DD and DDP encoding)\n- checks if intermediate file is already created so you can encode different formats/bitrates using a single intermediate file, for example:\\\n  `deew -f dd -b 448 -i input -k`\\\n  `deew -f dd -b 640 -i input -k`\\\n  `deew -f ddp -i input`\n- works even with video inputs (first audio will be selected)\n- fancy terminal output using rich\n- versatile delay option that supports ms, s and also frame@fps formats\n- parsing delay from filenames\n\n# Requirements\n- Python *(you don't need it if you use a standalone build of deew)*\n- ffmpeg\n- ffprobe\n- Dolby Encoding Engine\n\n# Dolby Encoding Engine installation\n- install [DEE](https://customer.dolby.com/content-creation-and-delivery/dolby-encoding-engine-with-ac-4) (if you use macOS, install [DME](https://customer.dolby.com/content-creation-and-delivery/dolby-media-encoder-with-ac-4))\n  - for TrueHD encoding support you need the Windows version\n  - if you use WSL1 use the Windows version for better performance\n  - if you use the Windows version of DEE under Linux (and not from WSL) / macOS install `wine-binfmt`\n- place your `license.lic` file next to the DEE binary (`dee.exe` under Windows, `dee` under Linux/macOS)\n- if DEE throws `Failed to load library \"...dll\".` errors when you run deew install [VisualCppRedist AIO](https://github.com/abbodi1406/vcredist/releases)\n\n# deew installation\n### with standalone build (Windows 7-11/Linux):\n- grab the latest build from: [https://github.com/pcroland/deew/releases](https://github.com/pcroland/deew/releases)\n- run with: `deew`\\\n*(run the binary from terminal, doubleclicking it won't work)*\n- on the first run it will create a config file, choose where you want to keep it\n- updating: grab the latest build from: [https://github.com/pcroland/deew/releases](https://github.com/pcroland/deew/releases)\n\n### with Python environment (Windows/Linux/macOS):\n- install Python and pip if you don't have it already\n- run: `pip install deew`\n- run with: `deew`\n- on the first run it will create a config file\n- updating: `pip install deew --upgrade`\n\n# Setup system PATH variable\nIf 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\n### Windows:\n- open `cmd.exe` as administrator\n- run a `setx /m PATH \"%PATH%;[location]\"` command for each path that contains binaries\\\n  *(replace* `[location]` *with the path)*\n- for example:\n```bat\nsetx /m PATH \"%PATH%;C:\\bin\\dee\"\nsetx /m PATH \"%PATH%;C:\\bin\\ffmpeg\"\n```\n### Linux/macOS:\n- add a `PATH=\"[location]:$PATH\"` line in your `~/.bashrc` or `~/.zshrc` file for each path that contains a binary\\\n  *(replace* `[location]` *with the path)*\n- for example:\n```sh\nPATH=\"/usr/local/bin/dee:$PATH\"\nPATH=\"/usr/local/bin/ffmpeg:$PATH\"\n```\n\n# Usage\n```\n❯ deew -h\ndeew 3.2.1\n\nUSAGE: deew [-h] [-v] [-i [INPUT ...]] [-ti INDEX] [-o DIRECTORY] [-f FORMAT]\n            [-b BITRATE] [-dm CHANNELS] [-d DELAY] [-r DRC] [-dn DIALNORM]\n            [-in INSTANCES] [-k] [-mo] [-fs] [-fb] [-lb] [-la] [-np] [-pl]\n            [-cl] [-c] [-gc]\n\nFLAGS:\n  -h, --help                  show this help message.\n  -v, --version               show version.\n  -i, --input [INPUT ...]     audio file(s) or folder(s)\n  -ti, --track-index INDEX    default: 0\n                              select audio track index of input(s)\n  -o, --output DIRECTORY      default: current directory\n                              specifies output directory\n  -f, --format FORMAT         options: dd / ddp / ac4 / thd\n                              default: ddp\n  -b, --bitrate BITRATE       options: run -lb/--list-bitrates\n                              default: run -c/--config\n  -dm, --downmix CHANNELS     options: 1 / 2 / 6\n                              specifies downmix, only works for DD/DDP\n                              DD will be automatically downmixed to 5.1 in case of a 7.1 source\n  -d, --delay DELAY           examples: -5.1ms, +1,52s, -24@pal, +10@24000/1001\n                              default: 0ms or parsed from filename\n                              specifies delay as ms, s or frame@FPS\n                              FPS can be a number, division or ntsc / pal\n                              you have to specify negative values as -d=-0ms\n  -r, --drc DRC               options: film_light / film_standard / music_light / music_standard / speech\n                              default: music_light (this is the closest to the missing none preset)\n                              specifies drc profile\n  -dn, --dialnorm DIALNORM    options: between -31 and 0 (in case of 0 DEE's measurement will be used)\n                              default: 0\n                              applied dialnorm value between\n  -in, --instances INSTANCES  examples: 1, 4, 50%\n                              default: 50%\n                              specifies how many encodes can run at the same time\n                              50% means 4 on a cpu with 8 threads\n                              one DEE can use 2 threads so 50% can utilize all threads\n                              (this option overrides the config's number)\n  -k, --keeptemp              keep temp files\n  -mo, --measure-only         kills DEE when the dialnorm gets written to the progress bar\n                              this option overrides format with ddp\n  -fs, --force-standard       force standard profile for 7.1 DDP encoding (384-1024 kbps)\n  -fb, --force-bluray         force bluray profile for 7.1 DDP encoding (768-1664 kbps)\n  -lb, --list-bitrates        list bitrates that DEE can do for DD and DDP encoding\n  -la, --long-argument        print ffmpeg and DEE arguments for each input\n  -np, --no-prompt            disables prompt\n  -pl, --print-logos          show all logo variants you can set in the config\n  -cl, --changelog            show changelog\n  -c, --config                show config and config location(s)\n  -gc, --generate-config      generate a new config\n```\n# Examples\n`deew -i *thd`\\\nencode DDP\n\n`deew -b 768 -i *flac`\\\nencode DDP@768\n\n`deew -dm 2 -f dd -b 192 -i *.ec3`\\\nencode DD@192 with stereo downmixing\n\n`deew -f dd -b 448 -in 4 -i S01`\\\nencode DD@448 using 4 instances (input is a folder)\n\n`deew -f thd -i *w64`\\\nencode TrueHD\n\n`deew -f dd -i *dts -k`\\\n`deew -f ddp -i *dts`\\\nencode multiple formats/bitrates while creating the temp file only once\n\n# Discussion and Support\n[https://t.me/deewsupport](https://t.me/deewsupport)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcroland%2Fdeew","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpcroland%2Fdeew","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpcroland%2Fdeew/lists"}