aureus-enhancer 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. aureus_enhancer-1.0.0/PKG-INFO +323 -0
  2. aureus_enhancer-1.0.0/README.md +302 -0
  3. aureus_enhancer-1.0.0/aureus/__init__.py +10 -0
  4. aureus_enhancer-1.0.0/aureus/__main__.py +6 -0
  5. aureus_enhancer-1.0.0/aureus/cli.py +521 -0
  6. aureus_enhancer-1.0.0/aureus/core/__init__.py +0 -0
  7. aureus_enhancer-1.0.0/aureus/core/downloader.py +183 -0
  8. aureus_enhancer-1.0.0/aureus/core/encoder.py +486 -0
  9. aureus_enhancer-1.0.0/aureus/core/filters.py +250 -0
  10. aureus_enhancer-1.0.0/aureus/core/jobs.py +211 -0
  11. aureus_enhancer-1.0.0/aureus/core/media.py +159 -0
  12. aureus_enhancer-1.0.0/aureus/core/options.py +176 -0
  13. aureus_enhancer-1.0.0/aureus/core/pipeline.py +192 -0
  14. aureus_enhancer-1.0.0/aureus/core/presets.py +200 -0
  15. aureus_enhancer-1.0.0/aureus/core/sysinfo.py +248 -0
  16. aureus_enhancer-1.0.0/aureus/tui/__init__.py +0 -0
  17. aureus_enhancer-1.0.0/aureus/tui/app.py +575 -0
  18. aureus_enhancer-1.0.0/aureus/web/__init__.py +0 -0
  19. aureus_enhancer-1.0.0/aureus/web/server.py +414 -0
  20. aureus_enhancer-1.0.0/aureus/web/static/index.html +854 -0
  21. aureus_enhancer-1.0.0/aureus_enhancer.egg-info/PKG-INFO +323 -0
  22. aureus_enhancer-1.0.0/aureus_enhancer.egg-info/SOURCES.txt +26 -0
  23. aureus_enhancer-1.0.0/aureus_enhancer.egg-info/dependency_links.txt +1 -0
  24. aureus_enhancer-1.0.0/aureus_enhancer.egg-info/entry_points.txt +2 -0
  25. aureus_enhancer-1.0.0/aureus_enhancer.egg-info/requires.txt +5 -0
  26. aureus_enhancer-1.0.0/aureus_enhancer.egg-info/top_level.txt +1 -0
  27. aureus_enhancer-1.0.0/pyproject.toml +41 -0
  28. aureus_enhancer-1.0.0/setup.cfg +4 -0
@@ -0,0 +1,323 @@
1
+ Metadata-Version: 2.4
2
+ Name: aureus-enhancer
3
+ Version: 1.0.0
4
+ Summary: AUREUS — Video Enhancer, Upscaler & RAW Lossless Converter with modern TUI, CLI and local Web UI
5
+ Author: AUREUS Project
6
+ License: MIT
7
+ Keywords: video,upscaler,enhancer,ffmpeg,hdr,sdr,lossless,raw,yt-dlp,tui,textual,web-ui
8
+ Classifier: Environment :: Console
9
+ Classifier: Environment :: Web Environment
10
+ Classifier: Operating System :: POSIX :: Linux
11
+ Classifier: Operating System :: MacOS :: MacOS X
12
+ Classifier: Operating System :: Microsoft :: Windows
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Topic :: Multimedia :: Video :: Conversion
15
+ Requires-Python: >=3.9
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: rich>=13.0
18
+ Requires-Dist: textual>=1.0
19
+ Provides-Extra: youtube
20
+ Requires-Dist: yt-dlp; extra == "youtube"
21
+
22
+ <div align="center">
23
+
24
+ ```
25
+ _ _ _____ __ __ _____ ____ _ _
26
+ / \ | |_ _| \/ | ____| _ \ / \ | |
27
+ / _ \ | | | | | |\/| | _| | |_) | / _ \ | |
28
+ / ___ \| | | | | | | | |___| _ < / ___ \| |___
29
+ /_/ \_\_| | |_|_| |_|_____|_| \_/_/ \_\_____|
30
+ ```
31
+
32
+ # AUREUS
33
+
34
+ **Video Enhancer · Upscaler · RAW Lossless Converter**
35
+
36
+ TUI interaktif ✦ CLI lengkap ✦ Web UI lokal (`aureus server`) ✦ Linux · Windows · macOS · Termux
37
+
38
+ [![platform](https://img.shields.io/badge/platform-linux%20%7C%20windows%20%7C%20macos%20%7C%20termux-8f6a1f)]() [![python](https://img.shields.io/badge/python-3.9%2B-3776ab)]() [![ffmpeg](https://img.shields.io/badge/powered%20by-ffmpeg%20%2B%20yt--dlp-e39a2d)]()
39
+
40
+ </div>
41
+
42
+ ---
43
+
44
+ ## ✨ Fitur
45
+
46
+ | Kategori | Detail |
47
+ |---|---|
48
+ | **Upscaler resolusi** | 480p → 1080p, 720p, 1440p, 4K, faktor 2×/4×, atau `WxH` kustom — scaler Lanczos/Spline/Bicubic/Gaussian/XBR (pixel-art), aspect ratio selalu terjaga |
49
+ | **RAW & Lossless** | FFV1 (lossless arsip), Y4M **uncompressed** (paling raw), Lossless H.264/HEVC, ProRes 4444, DNxHR 444 — setiap piksel hasil proses dijaga bit-exact |
50
+ | **HDR / SDR** | SDR → HDR (ekspansi 10-bit BT.2020 PQ + signaling HDR10), HDR → SDR (tone-mapping hable otomatis), sumber HDR tetap HDR |
51
+ | **Menjernihkan video** | Denoise hqdn3d/NLMeans (3 level), Deband, Deblock, Deinterlace |
52
+ | **Shader & efek** | Sharpen shader CAS (ala FidelityFX) / Unsharp Mask, Film Grain, Color Boost (saturation/kontras/gamma), Frame-rate + motion interpolation 60fps |
53
+ | **Link & Embed** | YouTube (watch/embed/shorts/youtu.be) + 1000+ situs lain via yt-dlp, langsung di-convert ke RAW/lossless |
54
+ | **File lokal** | Konversi file lokal apa pun (mp4, mkv, mov, avi, webm, ts, dll.) |
55
+ | **3 antarmuka** | TUI modern (file manager + queue live), CLI penuh flag, Web UI lokal dengan upload, file browser & progress real-time |
56
+ | **Gate spesifikasi** | Cek otomatis **RAM ≥ 8 GB** sebelum konversi (`aureus doctor`), override `--force` / "Proceed anyway" |
57
+ | **Encoding stabil & kompatibel** | Preset `superhd` (H.264 CRF 16 + faststart) diputar hampir di semua perangkat; deteksi encoder otomatis + fallback |
58
+
59
+ ---
60
+
61
+ ## 📋 Persyaratan
62
+
63
+ | Kebutuhan | Keterangan |
64
+ |---|---|
65
+ | **RAM** | **Minimum 8 GB** untuk proses konversi (di bawah itu harus konfirmasi `--force` / *Proceed anyway*) |
66
+ | Python | 3.9+ |
67
+ | ffmpeg + ffprobe | wajib untuk konversi |
68
+ | yt-dlp | opsional — untuk fitur download URL |
69
+ | Ruang disk | Preset RAW sangat besar (lihat tabel preset) |
70
+
71
+ ---
72
+
73
+ ## 🚀 Instalasi
74
+
75
+ ### Metode 1: npm (Paling Mudah — Auto-install Python + Dependencies)
76
+ ```bash
77
+ npm install -g aureus
78
+ # Atau one-line via curl:
79
+ curl -fsSL https://raw.githubusercontent.com/zetagoaurum/Aureus/main/npm-wrapper/install-npm.sh | bash
80
+ ```
81
+
82
+ ### Metode 2: Universal Installer (Coba npm → pip → source)
83
+ ```bash
84
+ curl -fsSL https://raw.githubusercontent.com/zetagoaurum/Aureus/main/install-universal.sh | bash
85
+ ```
86
+
87
+ ### Metode 3: Pip (Python Native)
88
+ ```bash
89
+ pip install aureus
90
+ # Dengan fitur YouTube:
91
+ pip install "aureus[youtube]"
92
+ ```
93
+
94
+ ### Metode 4: Dari Source (Development)
95
+ ```bash
96
+ git clone https://github.com/zetagoaurum/Aureus.git
97
+ cd Aureus
98
+ pip install -e .
99
+ # Atau jalankan helper:
100
+ bash install.sh
101
+ ```
102
+
103
+ ### 1. Siapkan dependensi sistem (hanya untuk metode pip/source)
104
+
105
+ ```bash
106
+ # Linux (Debian/Ubuntu)
107
+ sudo apt install ffmpeg python3-pip
108
+ pip install yt-dlp # atau: sudo apt install yt-dlp
109
+
110
+ # Linux (Fedora) # Linux (Arch)
111
+ sudo dnf install ffmpeg python-pip sudo pacman -S ffmpeg python-pip
112
+ pip install yt-dlp pip install yt-dlp
113
+
114
+ # macOS (Homebrew)
115
+ brew install ffmpeg yt-dlp python
116
+
117
+ # Windows (winget)
118
+ winget install Gyan.FFmpeg yt-dlp.yt-dlp Python.Python.3.12
119
+
120
+ # Termux (Android)
121
+ pkg update && pkg install ffmpeg python git
122
+ pip install yt-dlp
123
+ ```
124
+
125
+ ### 2. Pasang AUREUS
126
+
127
+ Dari folder source ini:
128
+
129
+ ```bash
130
+ pip install . # dasar (TUI + CLI + Web)
131
+ pip install ".[youtube]" # sekalian memasang yt-dlp
132
+ # atau mode development:
133
+ pip install -e .
134
+ ```
135
+
136
+ Atau cukup jalankan helper: `bash install.sh`
137
+
138
+ Verifikasi:
139
+
140
+ ```bash
141
+ aureus -V
142
+ aureus doctor # cek RAM, ffmpeg, yt-dlp, encoder & filter
143
+ ```
144
+
145
+ > Sebagai alternatif tanpa instalasi: `python -m aureus --help` dari root folder project.
146
+
147
+ ---
148
+
149
+ ## 🖥️ Cara Pakai
150
+
151
+ ### TUI interaktif (default)
152
+
153
+ ```bash
154
+ aureus # langsung membuka TUI
155
+ aureus tui # sama dengan di atas
156
+ ```
157
+
158
+ Panel TUI: **Dashboard** · **File Manager** (browser folder + detail probe) · **Enhance & Convert** (preset, efek, shader) · **URL Grabber** (YouTube/embed) · **Jobs/Queue** (progress live) · **System Info**.
159
+ Shortcut: `1`–`6` pindah panel, `q` keluar, mouse sepenuhnya didukung.
160
+
161
+ Screenshot ada di folder [`docs/`](docs/).
162
+
163
+ ### Web UI lokal
164
+
165
+ ```bash
166
+ aureus server # buka http://127.0.0.1:8765
167
+ aureus server --port 9000 --host 0.0.0.0
168
+ aureus server --output-dir /mnt/hdd/renders --no-open
169
+ ```
170
+
171
+ Fitur web: paste link YouTube/embed → check info → pilih preset & efek → **START ENHANCE**, upload file (drag & drop), file browser server, progress bar live, preview video hasil, download langsung.
172
+
173
+ ### CLI
174
+
175
+ ```bash
176
+ aureus --help
177
+ aureus -h
178
+
179
+ # File lokal: 480p → 1080p, output paling raw (FFV1 lossless)
180
+ aureus convert video480.mp4 -S 1080p -p raw --effects denoise:2,sharpen:0.5
181
+
182
+ # File lokal: hasil paling kompatibel untuk semua device
183
+ aureus convert video.mp4 -S 1080p -p superhd --effects all
184
+
185
+ # Dari YouTube (termasuk link embed) → lossless
186
+ aureus url "https://www.youtube.com/watch?v=XXXX" -S 1080p -p lossless-x264
187
+ aureus url "https://www.youtube.com/embed/XXXX" -S 2160p -p hdr10 --hdr
188
+
189
+ # SDR → HDR 4K
190
+ aureus convert video.mp4 -S 2160p -p hdr10 --hdr --effects sharpen:0.5,denoise:1
191
+
192
+ # Inspeksi media / URL
193
+ aureus info video.mp4
194
+ aureus info "https://youtu.be/XXXX"
195
+
196
+ # Lihat rencana perintah ffmpeg tanpa menjalankan
197
+ aureus convert video.mp4 -S 1080p -p raw --dry-run
198
+
199
+ aureus presets # daftar 10 preset output
200
+ aureus effects # daftar efek & shader
201
+ aureus doctor # cek sistem
202
+ ```
203
+
204
+ #### Flag penting `aureus convert / url`
205
+
206
+ | Flag | Nilai | Keterangan |
207
+ |---|---|---|
208
+ | `-p, --preset` | lihat tabel di bawah | preset output (default `superhd`) |
209
+ | `-S, --scale` | `source 720p 1080p 1440p 2160p 2x 4x 1920x1080` | resolusi target (default `source`) |
210
+ | `--effects` | daftar dipisah koma | `denoise:1-3, sharpen:0-1, grain:1-12, deband, deblock, deinterlace, hdr, tone-map, color-boost, all` |
211
+ | `--shader` | `cas unsharp none` | shader sharpen (default `cas`) |
212
+ | `--scaler` | `lanczos spline bicubic gauss neighbor xbr2 xbr4` | algoritma upscale (default `lanczos`) |
213
+ | `--hdr` | — | SDR→HDR expansion |
214
+ | `--tone-map` | `auto hdr2sdr off` | penanganan sumber HDR |
215
+ | `--fps` / `--motion-interp` | `source 24 30 48 60` | frame rate + interpolasi gerak |
216
+ | `--audio` | `auto copy flac pcm aac` | mode audio (default `auto`) |
217
+ | `--chroma` | `auto 420 422 444 rgb` | subsampling kroma |
218
+ | `--depth` | `auto 8 10 12` | bit depth |
219
+ | `--crf` | 14–28 | override kualitas untuk preset lossy |
220
+ | `--quality` | `best 2160 1440 1080 720 480` | kualitas download (khusus `aureus url`) |
221
+ | `-o, --output` | direktori | lokasi output (default: dir file input / cwd) |
222
+ | `--force` | — | jalankan meski RAM < 8 GB |
223
+ | `--dry-run` | — | tampilkan perintah ffmpeg saja |
224
+
225
+ ---
226
+
227
+ ## 🎚 Preset Output (`aureus presets`)
228
+
229
+ | Key | Preset | Jenis | Kompatibilitas | Ukuran / menit @1080p |
230
+ |---|---|---|---|---|
231
+ | `raw` | **RAW FFV1** — MKV | 🔴 lossless total | ☆☆ (arsip/editing) | 2–8 GB |
232
+ | `y4m` | **RAW Y4M** — stream uncompressed | 🔴 paling raw | ☆ (pipeline pro) | ~4,5 GB |
233
+ | `lossless-x264` | Lossless H.264 (qp=0) | 🟡 lossless | ★★★★ | 0,4–2 GB |
234
+ | `lossless-x265` | Lossless HEVC | 🟡 lossless | ★★★ | 0,3–1,5 GB |
235
+ | `prores4444` | Apple ProRes 4444 (10-bit 4:4:4) | 🟣 visually lossless | ★★★ (NLE) | 1–2 GB |
236
+ | `dnxhr` | Avid DNxHR 444 | 🟣 visually lossless | ★★★ (NLE) | 1–2 GB |
237
+ | `hdr10` | **HDR10** — HEVC 10-bit PQ | 🔵 HDR | ★★★★ | 200–600 MB |
238
+ | `hq-hevc` | HEVC CRF 17 | 🟣 HQ | ★★★★ | 60–200 MB |
239
+ | `superhd` | **Super HD H.264** CRF 16 | 🟢 paling kompatibel | ★★★★★ | 100–350 MB |
240
+ | `av1` | AV1 (AOM) | 🟣 HQ efisien | ★★★ | 40–150 MB |
241
+
242
+ ---
243
+
244
+ ## 🎛 Efek & Shader (`aureus effects`)
245
+
246
+ | Efek | Flag/Setting | Keterangan |
247
+ |---|---|---|
248
+ | **Denoise** | `--effects denoise:1-3` / `--denoiser nlmeans` | hqdn3d (cepat) atau NLMeans (paling halus) — membersihkan noise & jejak kompresi |
249
+ | **Sharpen Shader** | `--shader cas --sharpen 0.5` | CAS (contrast adaptive, ala AMD FidelityFX) atau Unsharp Mask — mempertajam setelah upscale |
250
+ | **Deband** | `--deband` / `--effects deband` | menghapus banding pada gradasi (langit, scene gelap) |
251
+ | **Deblock** | `--deblock` | melembutkan artefak blok dari video terkompresi berat |
252
+ | **Deinterlace** | `--deinterlace` | yadif bob untuk materi DVD/TV interlaced |
253
+ | **Film Grain** | `--grain 6` | grain film sintetis (menyamarkan banding, kesan sinematik) |
254
+ | **Color Boost** | `--saturation --contrast --gamma --brightness` | koreksi warna (filter eq) |
255
+ | **SDR→HDR** | `--hdr` (ideal dengan preset `hdr10`) | ekspansi ke 10-bit BT.2020 + PQ (zimg tone-mapping + signaling x265) |
256
+ | **HDR→SDR** | `--tone-map hdr2sdr` / otomatis | tone-mapping hable untuk perangkat SDR |
257
+ | **Upscale** | `-S 1080p` dll. | Lanczos/Spline/XBR; AR terjaga otomatis |
258
+ | **Frame rate** | `--fps 60 --motion-interp` | minterpolate MCI/AOBMC (sangat lambat) |
259
+
260
+ ---
261
+
262
+ ## 📡 Catatan HDR
263
+
264
+ - **SDR→HDR** bekerja dengan mengonversi ke cahaya linear → BT.2020 → PQ (SMPTE 2084) lewat zimg, lalu memberi sinyal metadata HDR10 pada stream HEVC. Hasil terbaik diputar di display HDR; di display SDR warna bisa terlihat pudar (wajar, karena butuh decoding HDR).
265
+ - **Sumber HDR** dideteksi otomatis: preset RAW/lossless menyimpannya tetap sebagai HDR 10-bit; preset 8-bit (mis. `superhd`) otomatis tone-map ke SDR BT.709.
266
+ - Build ffmpeg tanpa `zscale` tetap didukung — AUREUS otomatis fallback ke 10-bit + signaling metadata (cek dengan `aureus doctor`).
267
+
268
+ ## ⚠️ Catatan jujur soal "RAW"
269
+
270
+ - Preset `raw`/`y4m`/`lossless-*` menjamin **tidak ada degradasi sama sekali** dari hasil proses enhancement — cocok untuk arsip, re-encode berkali-kali, atau editing.
271
+ - Upscale **tidak bisa menciptakan detail yang memang tidak ada** di video sumber; yang AUREUS lakukan adalah menaikkan resolusi dengan algoritma terbaik + menjernihkan + menjaga setiap piksel hasilnya secara lossless.
272
+ - File RAW itu BESAR. 10 menit video 1080p bisa 20–80 GB (Y4M). Untuk distribusi ke HP/TV gunakan `superhd` atau `hq-hevc`.
273
+
274
+ ---
275
+
276
+ ## 🧰 Troubleshooting
277
+
278
+ | Masalah | Solusi |
279
+ |---|---|
280
+ | `ffmpeg NOT FOUND` | `apt/brew/winget/pkg install ffmpeg` — lalu `aureus doctor` |
281
+ | `yt-dlp NOT FOUND` | `pip install yt-dlp` (fitur URL butuh ini) |
282
+ | Ditolak: "requires at least 8 GB" | Sesuai spesifikasi. Override: `--force` (CLI) / centang *Proceed anyway* (Web/TUI) |
283
+ | Download YouTube gagal / 403 | Update yt-dlp: `pip install -U yt-dlp` |
284
+ | `no path between colorspaces` (HDR) | Jarang terjadi — pastikan ffmpeg terbaru; AUREUS sudah men-tag otomatis sumber tanpa metadata warna |
285
+ | Playback FFV1/Y4M gagal | Normal — codec arsip. Putar dengan VLC/mpv/ffplay, atau konversi ulang ke `superhd` untuk distribusi |
286
+ | Port 8765 terpakai | `aureus server --port 9000` |
287
+
288
+ ---
289
+
290
+ ## 🏗 Struktur Proyek
291
+
292
+ ```
293
+ aureus/
294
+ ├── aureus/
295
+ │ ├── cli.py # CLI (argparse) — aureus --help
296
+ │ ├── core/
297
+ │ │ ├── options.py # Settings — kontrak tunggal CLI/TUI/Web
298
+ │ │ ├── presets.py # 10 preset output + efek
299
+ │ │ ├── filters.py # pembangun filter-graph (upscale/shader/HDR)
300
+ │ │ ├── encoder.py # konstruksi & eksekusi ffmpeg + progress
301
+ │ │ ├── downloader.py # yt-dlp (link embed/shorts di-normalisasi)
302
+ │ │ ├── media.py # ffprobe wrapper
303
+ │ │ ├── pipeline.py # orkestrasi (gate RAM → download → enhance)
304
+ │ │ ├── jobs.py # job engine (dipakai TUI & Web)
305
+ │ │ └── sysinfo.py # deteksi platform/RAM/kapabilitas
306
+ │ ├── tui/app.py # TUI Textual (file manager, queue live)
307
+ │ └── web/
308
+ │ ├── server.py # web server stdlib (upload, range, API)
309
+ │ └── static/index.html# UI web (tanpa dependensi eksternal)
310
+ ├── docs/ # screenshot TUI (SVG)
311
+ ├── install.sh
312
+ └── pyproject.toml
313
+ ```
314
+
315
+ ---
316
+
317
+ ## ⚖️ Lisensi & Etika
318
+
319
+ MIT License. Gunakan hanya untuk konten yang Anda miliki haknya — mengunduh materi berhak cipta dari YouTube/situs lain tanpa izin dapat melanggar ketentuan layanan mereka dan hukum yang berlaku.
320
+
321
+ <div align="center">
322
+ <sub>AUREUS v1.0.0 — dibangun di atas <b>ffmpeg</b>, <b>yt-dlp</b>, <b>Textual</b> & <b>rich</b></sub>
323
+ </div>
@@ -0,0 +1,302 @@
1
+ <div align="center">
2
+
3
+ ```
4
+ _ _ _____ __ __ _____ ____ _ _
5
+ / \ | |_ _| \/ | ____| _ \ / \ | |
6
+ / _ \ | | | | | |\/| | _| | |_) | / _ \ | |
7
+ / ___ \| | | | | | | | |___| _ < / ___ \| |___
8
+ /_/ \_\_| | |_|_| |_|_____|_| \_/_/ \_\_____|
9
+ ```
10
+
11
+ # AUREUS
12
+
13
+ **Video Enhancer · Upscaler · RAW Lossless Converter**
14
+
15
+ TUI interaktif ✦ CLI lengkap ✦ Web UI lokal (`aureus server`) ✦ Linux · Windows · macOS · Termux
16
+
17
+ [![platform](https://img.shields.io/badge/platform-linux%20%7C%20windows%20%7C%20macos%20%7C%20termux-8f6a1f)]() [![python](https://img.shields.io/badge/python-3.9%2B-3776ab)]() [![ffmpeg](https://img.shields.io/badge/powered%20by-ffmpeg%20%2B%20yt--dlp-e39a2d)]()
18
+
19
+ </div>
20
+
21
+ ---
22
+
23
+ ## ✨ Fitur
24
+
25
+ | Kategori | Detail |
26
+ |---|---|
27
+ | **Upscaler resolusi** | 480p → 1080p, 720p, 1440p, 4K, faktor 2×/4×, atau `WxH` kustom — scaler Lanczos/Spline/Bicubic/Gaussian/XBR (pixel-art), aspect ratio selalu terjaga |
28
+ | **RAW & Lossless** | FFV1 (lossless arsip), Y4M **uncompressed** (paling raw), Lossless H.264/HEVC, ProRes 4444, DNxHR 444 — setiap piksel hasil proses dijaga bit-exact |
29
+ | **HDR / SDR** | SDR → HDR (ekspansi 10-bit BT.2020 PQ + signaling HDR10), HDR → SDR (tone-mapping hable otomatis), sumber HDR tetap HDR |
30
+ | **Menjernihkan video** | Denoise hqdn3d/NLMeans (3 level), Deband, Deblock, Deinterlace |
31
+ | **Shader & efek** | Sharpen shader CAS (ala FidelityFX) / Unsharp Mask, Film Grain, Color Boost (saturation/kontras/gamma), Frame-rate + motion interpolation 60fps |
32
+ | **Link & Embed** | YouTube (watch/embed/shorts/youtu.be) + 1000+ situs lain via yt-dlp, langsung di-convert ke RAW/lossless |
33
+ | **File lokal** | Konversi file lokal apa pun (mp4, mkv, mov, avi, webm, ts, dll.) |
34
+ | **3 antarmuka** | TUI modern (file manager + queue live), CLI penuh flag, Web UI lokal dengan upload, file browser & progress real-time |
35
+ | **Gate spesifikasi** | Cek otomatis **RAM ≥ 8 GB** sebelum konversi (`aureus doctor`), override `--force` / "Proceed anyway" |
36
+ | **Encoding stabil & kompatibel** | Preset `superhd` (H.264 CRF 16 + faststart) diputar hampir di semua perangkat; deteksi encoder otomatis + fallback |
37
+
38
+ ---
39
+
40
+ ## 📋 Persyaratan
41
+
42
+ | Kebutuhan | Keterangan |
43
+ |---|---|
44
+ | **RAM** | **Minimum 8 GB** untuk proses konversi (di bawah itu harus konfirmasi `--force` / *Proceed anyway*) |
45
+ | Python | 3.9+ |
46
+ | ffmpeg + ffprobe | wajib untuk konversi |
47
+ | yt-dlp | opsional — untuk fitur download URL |
48
+ | Ruang disk | Preset RAW sangat besar (lihat tabel preset) |
49
+
50
+ ---
51
+
52
+ ## 🚀 Instalasi
53
+
54
+ ### Metode 1: npm (Paling Mudah — Auto-install Python + Dependencies)
55
+ ```bash
56
+ npm install -g aureus
57
+ # Atau one-line via curl:
58
+ curl -fsSL https://raw.githubusercontent.com/zetagoaurum/Aureus/main/npm-wrapper/install-npm.sh | bash
59
+ ```
60
+
61
+ ### Metode 2: Universal Installer (Coba npm → pip → source)
62
+ ```bash
63
+ curl -fsSL https://raw.githubusercontent.com/zetagoaurum/Aureus/main/install-universal.sh | bash
64
+ ```
65
+
66
+ ### Metode 3: Pip (Python Native)
67
+ ```bash
68
+ pip install aureus
69
+ # Dengan fitur YouTube:
70
+ pip install "aureus[youtube]"
71
+ ```
72
+
73
+ ### Metode 4: Dari Source (Development)
74
+ ```bash
75
+ git clone https://github.com/zetagoaurum/Aureus.git
76
+ cd Aureus
77
+ pip install -e .
78
+ # Atau jalankan helper:
79
+ bash install.sh
80
+ ```
81
+
82
+ ### 1. Siapkan dependensi sistem (hanya untuk metode pip/source)
83
+
84
+ ```bash
85
+ # Linux (Debian/Ubuntu)
86
+ sudo apt install ffmpeg python3-pip
87
+ pip install yt-dlp # atau: sudo apt install yt-dlp
88
+
89
+ # Linux (Fedora) # Linux (Arch)
90
+ sudo dnf install ffmpeg python-pip sudo pacman -S ffmpeg python-pip
91
+ pip install yt-dlp pip install yt-dlp
92
+
93
+ # macOS (Homebrew)
94
+ brew install ffmpeg yt-dlp python
95
+
96
+ # Windows (winget)
97
+ winget install Gyan.FFmpeg yt-dlp.yt-dlp Python.Python.3.12
98
+
99
+ # Termux (Android)
100
+ pkg update && pkg install ffmpeg python git
101
+ pip install yt-dlp
102
+ ```
103
+
104
+ ### 2. Pasang AUREUS
105
+
106
+ Dari folder source ini:
107
+
108
+ ```bash
109
+ pip install . # dasar (TUI + CLI + Web)
110
+ pip install ".[youtube]" # sekalian memasang yt-dlp
111
+ # atau mode development:
112
+ pip install -e .
113
+ ```
114
+
115
+ Atau cukup jalankan helper: `bash install.sh`
116
+
117
+ Verifikasi:
118
+
119
+ ```bash
120
+ aureus -V
121
+ aureus doctor # cek RAM, ffmpeg, yt-dlp, encoder & filter
122
+ ```
123
+
124
+ > Sebagai alternatif tanpa instalasi: `python -m aureus --help` dari root folder project.
125
+
126
+ ---
127
+
128
+ ## 🖥️ Cara Pakai
129
+
130
+ ### TUI interaktif (default)
131
+
132
+ ```bash
133
+ aureus # langsung membuka TUI
134
+ aureus tui # sama dengan di atas
135
+ ```
136
+
137
+ Panel TUI: **Dashboard** · **File Manager** (browser folder + detail probe) · **Enhance & Convert** (preset, efek, shader) · **URL Grabber** (YouTube/embed) · **Jobs/Queue** (progress live) · **System Info**.
138
+ Shortcut: `1`–`6` pindah panel, `q` keluar, mouse sepenuhnya didukung.
139
+
140
+ Screenshot ada di folder [`docs/`](docs/).
141
+
142
+ ### Web UI lokal
143
+
144
+ ```bash
145
+ aureus server # buka http://127.0.0.1:8765
146
+ aureus server --port 9000 --host 0.0.0.0
147
+ aureus server --output-dir /mnt/hdd/renders --no-open
148
+ ```
149
+
150
+ Fitur web: paste link YouTube/embed → check info → pilih preset & efek → **START ENHANCE**, upload file (drag & drop), file browser server, progress bar live, preview video hasil, download langsung.
151
+
152
+ ### CLI
153
+
154
+ ```bash
155
+ aureus --help
156
+ aureus -h
157
+
158
+ # File lokal: 480p → 1080p, output paling raw (FFV1 lossless)
159
+ aureus convert video480.mp4 -S 1080p -p raw --effects denoise:2,sharpen:0.5
160
+
161
+ # File lokal: hasil paling kompatibel untuk semua device
162
+ aureus convert video.mp4 -S 1080p -p superhd --effects all
163
+
164
+ # Dari YouTube (termasuk link embed) → lossless
165
+ aureus url "https://www.youtube.com/watch?v=XXXX" -S 1080p -p lossless-x264
166
+ aureus url "https://www.youtube.com/embed/XXXX" -S 2160p -p hdr10 --hdr
167
+
168
+ # SDR → HDR 4K
169
+ aureus convert video.mp4 -S 2160p -p hdr10 --hdr --effects sharpen:0.5,denoise:1
170
+
171
+ # Inspeksi media / URL
172
+ aureus info video.mp4
173
+ aureus info "https://youtu.be/XXXX"
174
+
175
+ # Lihat rencana perintah ffmpeg tanpa menjalankan
176
+ aureus convert video.mp4 -S 1080p -p raw --dry-run
177
+
178
+ aureus presets # daftar 10 preset output
179
+ aureus effects # daftar efek & shader
180
+ aureus doctor # cek sistem
181
+ ```
182
+
183
+ #### Flag penting `aureus convert / url`
184
+
185
+ | Flag | Nilai | Keterangan |
186
+ |---|---|---|
187
+ | `-p, --preset` | lihat tabel di bawah | preset output (default `superhd`) |
188
+ | `-S, --scale` | `source 720p 1080p 1440p 2160p 2x 4x 1920x1080` | resolusi target (default `source`) |
189
+ | `--effects` | daftar dipisah koma | `denoise:1-3, sharpen:0-1, grain:1-12, deband, deblock, deinterlace, hdr, tone-map, color-boost, all` |
190
+ | `--shader` | `cas unsharp none` | shader sharpen (default `cas`) |
191
+ | `--scaler` | `lanczos spline bicubic gauss neighbor xbr2 xbr4` | algoritma upscale (default `lanczos`) |
192
+ | `--hdr` | — | SDR→HDR expansion |
193
+ | `--tone-map` | `auto hdr2sdr off` | penanganan sumber HDR |
194
+ | `--fps` / `--motion-interp` | `source 24 30 48 60` | frame rate + interpolasi gerak |
195
+ | `--audio` | `auto copy flac pcm aac` | mode audio (default `auto`) |
196
+ | `--chroma` | `auto 420 422 444 rgb` | subsampling kroma |
197
+ | `--depth` | `auto 8 10 12` | bit depth |
198
+ | `--crf` | 14–28 | override kualitas untuk preset lossy |
199
+ | `--quality` | `best 2160 1440 1080 720 480` | kualitas download (khusus `aureus url`) |
200
+ | `-o, --output` | direktori | lokasi output (default: dir file input / cwd) |
201
+ | `--force` | — | jalankan meski RAM < 8 GB |
202
+ | `--dry-run` | — | tampilkan perintah ffmpeg saja |
203
+
204
+ ---
205
+
206
+ ## 🎚 Preset Output (`aureus presets`)
207
+
208
+ | Key | Preset | Jenis | Kompatibilitas | Ukuran / menit @1080p |
209
+ |---|---|---|---|---|
210
+ | `raw` | **RAW FFV1** — MKV | 🔴 lossless total | ☆☆ (arsip/editing) | 2–8 GB |
211
+ | `y4m` | **RAW Y4M** — stream uncompressed | 🔴 paling raw | ☆ (pipeline pro) | ~4,5 GB |
212
+ | `lossless-x264` | Lossless H.264 (qp=0) | 🟡 lossless | ★★★★ | 0,4–2 GB |
213
+ | `lossless-x265` | Lossless HEVC | 🟡 lossless | ★★★ | 0,3–1,5 GB |
214
+ | `prores4444` | Apple ProRes 4444 (10-bit 4:4:4) | 🟣 visually lossless | ★★★ (NLE) | 1–2 GB |
215
+ | `dnxhr` | Avid DNxHR 444 | 🟣 visually lossless | ★★★ (NLE) | 1–2 GB |
216
+ | `hdr10` | **HDR10** — HEVC 10-bit PQ | 🔵 HDR | ★★★★ | 200–600 MB |
217
+ | `hq-hevc` | HEVC CRF 17 | 🟣 HQ | ★★★★ | 60–200 MB |
218
+ | `superhd` | **Super HD H.264** CRF 16 | 🟢 paling kompatibel | ★★★★★ | 100–350 MB |
219
+ | `av1` | AV1 (AOM) | 🟣 HQ efisien | ★★★ | 40–150 MB |
220
+
221
+ ---
222
+
223
+ ## 🎛 Efek & Shader (`aureus effects`)
224
+
225
+ | Efek | Flag/Setting | Keterangan |
226
+ |---|---|---|
227
+ | **Denoise** | `--effects denoise:1-3` / `--denoiser nlmeans` | hqdn3d (cepat) atau NLMeans (paling halus) — membersihkan noise & jejak kompresi |
228
+ | **Sharpen Shader** | `--shader cas --sharpen 0.5` | CAS (contrast adaptive, ala AMD FidelityFX) atau Unsharp Mask — mempertajam setelah upscale |
229
+ | **Deband** | `--deband` / `--effects deband` | menghapus banding pada gradasi (langit, scene gelap) |
230
+ | **Deblock** | `--deblock` | melembutkan artefak blok dari video terkompresi berat |
231
+ | **Deinterlace** | `--deinterlace` | yadif bob untuk materi DVD/TV interlaced |
232
+ | **Film Grain** | `--grain 6` | grain film sintetis (menyamarkan banding, kesan sinematik) |
233
+ | **Color Boost** | `--saturation --contrast --gamma --brightness` | koreksi warna (filter eq) |
234
+ | **SDR→HDR** | `--hdr` (ideal dengan preset `hdr10`) | ekspansi ke 10-bit BT.2020 + PQ (zimg tone-mapping + signaling x265) |
235
+ | **HDR→SDR** | `--tone-map hdr2sdr` / otomatis | tone-mapping hable untuk perangkat SDR |
236
+ | **Upscale** | `-S 1080p` dll. | Lanczos/Spline/XBR; AR terjaga otomatis |
237
+ | **Frame rate** | `--fps 60 --motion-interp` | minterpolate MCI/AOBMC (sangat lambat) |
238
+
239
+ ---
240
+
241
+ ## 📡 Catatan HDR
242
+
243
+ - **SDR→HDR** bekerja dengan mengonversi ke cahaya linear → BT.2020 → PQ (SMPTE 2084) lewat zimg, lalu memberi sinyal metadata HDR10 pada stream HEVC. Hasil terbaik diputar di display HDR; di display SDR warna bisa terlihat pudar (wajar, karena butuh decoding HDR).
244
+ - **Sumber HDR** dideteksi otomatis: preset RAW/lossless menyimpannya tetap sebagai HDR 10-bit; preset 8-bit (mis. `superhd`) otomatis tone-map ke SDR BT.709.
245
+ - Build ffmpeg tanpa `zscale` tetap didukung — AUREUS otomatis fallback ke 10-bit + signaling metadata (cek dengan `aureus doctor`).
246
+
247
+ ## ⚠️ Catatan jujur soal "RAW"
248
+
249
+ - Preset `raw`/`y4m`/`lossless-*` menjamin **tidak ada degradasi sama sekali** dari hasil proses enhancement — cocok untuk arsip, re-encode berkali-kali, atau editing.
250
+ - Upscale **tidak bisa menciptakan detail yang memang tidak ada** di video sumber; yang AUREUS lakukan adalah menaikkan resolusi dengan algoritma terbaik + menjernihkan + menjaga setiap piksel hasilnya secara lossless.
251
+ - File RAW itu BESAR. 10 menit video 1080p bisa 20–80 GB (Y4M). Untuk distribusi ke HP/TV gunakan `superhd` atau `hq-hevc`.
252
+
253
+ ---
254
+
255
+ ## 🧰 Troubleshooting
256
+
257
+ | Masalah | Solusi |
258
+ |---|---|
259
+ | `ffmpeg NOT FOUND` | `apt/brew/winget/pkg install ffmpeg` — lalu `aureus doctor` |
260
+ | `yt-dlp NOT FOUND` | `pip install yt-dlp` (fitur URL butuh ini) |
261
+ | Ditolak: "requires at least 8 GB" | Sesuai spesifikasi. Override: `--force` (CLI) / centang *Proceed anyway* (Web/TUI) |
262
+ | Download YouTube gagal / 403 | Update yt-dlp: `pip install -U yt-dlp` |
263
+ | `no path between colorspaces` (HDR) | Jarang terjadi — pastikan ffmpeg terbaru; AUREUS sudah men-tag otomatis sumber tanpa metadata warna |
264
+ | Playback FFV1/Y4M gagal | Normal — codec arsip. Putar dengan VLC/mpv/ffplay, atau konversi ulang ke `superhd` untuk distribusi |
265
+ | Port 8765 terpakai | `aureus server --port 9000` |
266
+
267
+ ---
268
+
269
+ ## 🏗 Struktur Proyek
270
+
271
+ ```
272
+ aureus/
273
+ ├── aureus/
274
+ │ ├── cli.py # CLI (argparse) — aureus --help
275
+ │ ├── core/
276
+ │ │ ├── options.py # Settings — kontrak tunggal CLI/TUI/Web
277
+ │ │ ├── presets.py # 10 preset output + efek
278
+ │ │ ├── filters.py # pembangun filter-graph (upscale/shader/HDR)
279
+ │ │ ├── encoder.py # konstruksi & eksekusi ffmpeg + progress
280
+ │ │ ├── downloader.py # yt-dlp (link embed/shorts di-normalisasi)
281
+ │ │ ├── media.py # ffprobe wrapper
282
+ │ │ ├── pipeline.py # orkestrasi (gate RAM → download → enhance)
283
+ │ │ ├── jobs.py # job engine (dipakai TUI & Web)
284
+ │ │ └── sysinfo.py # deteksi platform/RAM/kapabilitas
285
+ │ ├── tui/app.py # TUI Textual (file manager, queue live)
286
+ │ └── web/
287
+ │ ├── server.py # web server stdlib (upload, range, API)
288
+ │ └── static/index.html# UI web (tanpa dependensi eksternal)
289
+ ├── docs/ # screenshot TUI (SVG)
290
+ ├── install.sh
291
+ └── pyproject.toml
292
+ ```
293
+
294
+ ---
295
+
296
+ ## ⚖️ Lisensi & Etika
297
+
298
+ MIT License. Gunakan hanya untuk konten yang Anda miliki haknya — mengunduh materi berhak cipta dari YouTube/situs lain tanpa izin dapat melanggar ketentuan layanan mereka dan hukum yang berlaku.
299
+
300
+ <div align="center">
301
+ <sub>AUREUS v1.0.0 — dibangun di atas <b>ffmpeg</b>, <b>yt-dlp</b>, <b>Textual</b> & <b>rich</b></sub>
302
+ </div>
@@ -0,0 +1,10 @@
1
+ """AUREUS — Video Enhancer, Upscaler & RAW Lossless Converter.
2
+
3
+ Runs on Linux, Windows, macOS and Termux. Provides a modern interactive
4
+ TUI, a full-featured CLI and a local web UI (`aureus server`).
5
+ """
6
+
7
+ __version__ = "1.0.0"
8
+ APP_NAME = "AUREUS"
9
+ TAGLINE = "Video Enhancer · Upscaler · RAW Lossless Output"
10
+ MIN_RAM_GB = 8.0
@@ -0,0 +1,6 @@
1
+ import sys
2
+
3
+ from aureus.cli import main
4
+
5
+ if __name__ == "__main__":
6
+ sys.exit(main())