@@ -55,47 +55,58 @@ class Config(private val version: String, val filePath: String) {
5555 profiles = listOf (
5656 // 🎥 Standardqualität, gut für die meisten Zwecke
5757 Profile (" Normal" ,
58- listOf (" -c:v" , " libx264" , " -preset" , " slow" , " -crf" , " 23" , " -c:a" , " aac" , " -b:a" , " 192k" )),
58+ listOf (" -c:v" , " libx264" , " -preset" , " slow" , " -crf" , " 23" ,
59+ " -c:a" , " aac" , " -b:a" , " 192k" )),
5960
6061 // 🎮 Speziell für Replay Mod Aufnahmen
6162 Profile (" Replay Mod Recording" ,
62- listOf (" -c:v" , " libx264" , " -preset" , " fast" , " -crf" , " 18" , " -pix_fmt" , " yuv420p" , " -r" , " 60" , " -c:a" , " aac" , " -b:a" , " 192k" )),
63+ listOf (" -c:v" , " libx264" , " -preset" , " fast" , " -crf" , " 18" , " -pix_fmt" ,
64+ " yuv420p" , " -r" , " 60" , " -c:a" , " aac" , " -b:a" , " 192k" )),
6365
6466 // 📈 Sehr hohe Qualität, langsame Verarbeitung
6567 Profile (" High Quality (x264)" ,
66- listOf (" -c:v" , " libx264" , " -preset" , " veryslow" , " -crf" , " 18" , " -c:a" , " aac" , " -b:a" , " 256k" )),
68+ listOf (" -c:v" , " libx264" , " -preset" , " veryslow" , " -crf" , " 18" , " -c:a" ,
69+ " aac" , " -b:a" , " 256k" )),
6770
6871 // ⚡ Schnell & effizient
6972 Profile (" Fast Encoding (x264)" ,
70- listOf (" -c:v" , " libx264" , " -preset" , " ultrafast" , " -crf" , " 28" , " -c:a" , " aac" , " -b:a" , " 128k" )),
73+ listOf (" -c:v" , " libx264" , " -preset" , " ultrafast" , " -crf" , " 28" , " -c:a" ,
74+ " aac" , " -b:a" , " 128k" )),
7175
7276 // 🖥️ Für Hardwarebeschleunigung (Nvidia GPU)
7377 Profile (" NVIDIA GPU (h264_nvenc)" ,
74- listOf (" -c:v" , " h264_nvenc" , " -preset" , " p4" , " -cq" , " 23" , " -b:v" , " 5M" , " -c:a" , " aac" , " -b:a" , " 192k" )),
78+ listOf (" -c:v" , " h264_nvenc" , " -preset" , " p4" , " -cq" , " 23" , " -b:v" ,
79+ " 5M" , " -c:a" , " aac" , " -b:a" , " 192k" )),
7580
7681 // 📱 Für Mobile Devices / YouTube
7782 Profile (" YouTube / Mobile Optimized" ,
78- listOf (" -c:v" , " libx264" , " -preset" , " slow" , " -crf" , " 23" , " -pix_fmt" , " yuv420p" , " -movflags" , " +faststart" , " -c:a" , " aac" , " -b:a" , " 160k" )),
83+ listOf (" -c:v" , " libx264" , " -preset" , " slow" , " -crf" , " 23" , " -pix_fmt" ,
84+ " yuv420p" , " -movflags" , " +faststart" , " -c:a" , " aac" , " -b:a" , " 160k" )),
7985
8086 // 💾 Sehr kleine Dateigröße
8187 Profile (" Small File (Low Quality)" ,
82- listOf (" -c:v" , " libx264" , " -preset" , " veryfast" , " -crf" , " 32" , " -c:a" , " aac" , " -b:a" , " 96k" )),
88+ listOf (" -c:v" , " libx264" , " -preset" , " veryfast" , " -crf" , " 32" , " -c:a" ,
89+ " aac" , " -b:a" , " 96k" )),
8390
8491 // 🧼 Lossless (ohne Qualitätsverlust)
8592 Profile (" Lossless (x264)" ,
86- listOf (" -c:v" , " libx264" , " -preset" , " veryslow" , " -crf" , " 0" , " -c:a" , " flac" )),
93+ listOf (" -c:v" , " libx264" , " -preset" , " veryslow" , " -crf" , " 0" , " -c:a" ,
94+ " flac" )),
8795
8896 // 🌈 HEVC/H.265 – bessere Kompression, braucht stärkere Geräte
8997 Profile (" HEVC (x265)" ,
90- listOf (" -c:v" , " libx265" , " -preset" , " slow" , " -crf" , " 28" , " -c:a" , " aac" , " -b:a" , " 160k" )),
98+ listOf (" -c:v" , " libx265" , " -preset" , " slow" , " -crf" , " 28" , " -c:a" ,
99+ " aac" , " -b:a" , " 160k" )),
91100
92101 // 🔥 NVIDIA GPU mit HEVC
93102 Profile (" NVIDIA GPU (HEVC)" ,
94- listOf (" -c:v" , " hevc_nvenc" , " -preset" , " p5" , " -cq" , " 28" , " -c:a" , " aac" , " -b:a" , " 160k" )),
103+ listOf (" -c:v" , " hevc_nvenc" , " -preset" , " p5" , " -cq" , " 28" , " -c:a" ,
104+ " aac" , " -b:a" , " 160k" )),
95105
96106 // 🎮 Twitch Streaming Recording
97107 Profile (" Twitch Recording" ,
98- listOf (" -c:v" , " libx264" , " -preset" , " faster" , " -crf" , " 22" , " -r" , " 30" , " -c:a" , " aac" , " -b:a" , " 128k" )),
108+ listOf (" -c:v" , " libx264" , " -preset" , " faster" , " -crf" , " 22" , " -r" ,
109+ " 30" , " -c:a" , " aac" , " -b:a" , " 128k" )),
99110
100111 // 📸 Nur Video extrahieren (ohne Audio)
101112 Profile (" No Audio" ,
@@ -111,12 +122,104 @@ class Config(private val version: String, val filePath: String) {
111122
112123 // 📼 Interlaced Video Encoding
113124 Profile (" DVD Interlaced (MPEG-2)" ,
114- listOf (" -target" , " pal-dvd" , " -c:v" , " mpeg2video" , " -c:a" , " ac3" , " -b:a" , " 192k" )),
125+ listOf (" -target" , " pal-dvd" , " -c:v" , " mpeg2video" , " -c:a" , " ac3" ,
126+ " -b:a" , " 192k" )),
115127
116128 // 🐢 Super Slow Quality Upload
117129 Profile (" Very High Quality (Slow Upload)" ,
118- listOf (" -c:v" , " libx264" , " -preset" , " veryslow" , " -crf" , " 16" , " -c:a" , " aac" , " -b:a" , " 320k" )),
119-
130+ listOf (" -c:v" , " libx264" , " -preset" , " veryslow" , " -crf" , " 16" ,
131+ " -c:a" , " aac" , " -b:a" , " 320k" )),
132+
133+ // 🆕 AV1 – Standardqualität, gute Kompression
134+ Profile (" AV1 (Standard Quality)" ,
135+ listOf (" -c:v" , " libaom-av1" , " -crf" , " 30" , " -b:v" , " 0" ,
136+ " -preset" , " medium" , " -c:a" , " libopus" , " -b:a" , " 128k" )),
137+
138+ // 🆕 AV1 – Hohe Qualität (langsamer)
139+ Profile (" AV1 (High Quality)" ,
140+ listOf (" -c:v" , " libaom-av1" , " -crf" , " 23" , " -b:v" , " 0" ,
141+ " -preset" , " slow" , " -c:a" , " libopus" , " -b:a" , " 192k" )),
142+
143+ // 🆕 AV1 – NVIDIA Hardware (RTX 30xx+)
144+ Profile (" AV1 (NVIDIA NVENC)" ,
145+ listOf (" -c:v" , " av1_nvenc" , " -cq" , " 28" , " -preset" , " p5" ,
146+ " -c:a" , " aac" , " -b:a" , " 160k" )),
147+
148+ // AV1 für YouTube / Web (optimiert für Streaming-Plattformen)
149+ Profile (" AV1 for YouTube/Web" ,
150+ listOf (" -c:v" , " libaom-av1" , " -crf" , " 30" , " -b:v" , " 0" ,
151+ " -preset" , " good" , " -pix_fmt" , " yuv420p" , " -movflags" , " +faststart" ,
152+ " -c:a" , " libopus" , " -b:a" , " 160k" )),
153+
154+ Profile (" Archival (Lossless FFV1)" ,
155+ listOf (" -c:v" , " ffv1" , " -level" , " 3" , " -c:a" , " flac" )),
156+
157+ Profile (" Social Media (Mobile)" ,
158+ listOf (" -c:v" , " libx264" , " -preset" , " fast" , " -crf" , " 24" ,
159+ " -vf" , " scale=720:1280" , " -r" , " 30" , " -pix_fmt" , " yuv420p" , " -c:a" ,
160+ " aac" , " -b:a" , " 128k" )),
161+
162+ Profile (" Proxy (Superfast Preview)" ,
163+ listOf (" -c:v" , " libx264" , " -preset" , " ultrafast" , " -crf" ,
164+ " 35" , " -c:a" , " aac" , " -b:a" , " 96k" )),
165+
166+ // Container wechseln
167+ Profile (" Remux (No Re-encoding)" ,
168+ listOf (" -c" , " copy" )),
169+
170+ Profile (" Audio Only (Opus)" ,
171+ listOf (" -vn" , " -c:a" , " libopus" , " -b:a" , " 128k" )),
172+
173+ // AV1 is still better
174+ Profile (" VP9 (WebM)" ,
175+ listOf (" -c:v" , " libvpx-vp9" , " -crf" , " 32" , " -b:v" , " 0" ,
176+ " -c:a" , " libopus" , " -b:a" , " 128k" )),
177+
178+ Profile (" Split by 10 min" ,
179+ listOf (" -f" , " segment" , " -segment_time" , " 600" ,
180+ " -reset_timestamps" , " 1" , " -c:v" , " libx264" , " -crf" , " 23" ,
181+ " -preset" , " medium" , " -c:a" , " aac" , " -b:a" , " 128k" )),
182+
183+ Profile (" Screen Capture (Lossless)" ,
184+ listOf (" -c:v" , " libx264rgb" , " -preset" , " ultrafast" ,
185+ " -crf" , " 0" , " -pix_fmt" , " rgb24" , " -c:a" , " flac" )),
186+
187+ Profile (" GIF (Palette Optimized)" ,
188+ listOf (" -vf" , " fps=10,scale=480:-1:flags=lanczos,palettegen" ,
189+ " -y" , " palette.png" )),
190+ Profile (" GIF (Final)" ,
191+ listOf (" -i" , " palette.png" , " -lavfi" ,
192+ " fps=10,scale=480:-1:flags=lanczos [x]; [x][1:v] paletteuse" ,
193+ " -loop" , " 0" )),
194+
195+ Profile (" MPEG-2 (Set-Top Box)" ,
196+ listOf (" -c:v" , " mpeg2video" , " -q:v" , " 5" , " -c:a" , " mp2" ,
197+ " -b:a" , " 192k" , " -target" , " pal-dvd" )),
198+
199+ Profile (" Visually Lossless (x264)" ,
200+ listOf (" -c:v" , " libx264" , " -preset" , " slow" , " -crf" , " 16" ,
201+ " -c:a" , " aac" , " -b:a" , " 256k" )),
202+
203+ Profile (" Gaming (NVIDIA AV1, High FPS)" ,
204+ listOf (" -c:v" , " av1_nvenc" , " -preset" , " p4" , " -cq" , " 23" ,
205+ " -rc" , " vbr" , " -b:v" , " 8M" , " -r" , " 120" , " -c:a" , " aac" , " -b:a" ,
206+ " 160k" )),
207+
208+ Profile (" Podcast / YouTube Audio Normalized" ,
209+ listOf (" -af" , " loudnorm=I=-16:TP=-1.5:LRA=11" , " -c:v" ,
210+ " copy" , " -c:a" , " aac" , " -b:a" , " 192k" )),
211+
212+ Profile (" Two-Pass (1080p @ 4Mbit)" ,
213+ listOf (" -c:v" , " libx264" , " -b:v" , " 4M" , " -pass" , " 1" ,
214+ " -an" , " -f" , " mp4" , " /dev/null" )),
215+ Profile (" Two-Pass (Final)" ,
216+ listOf (" -c:v" , " libx264" , " -b:v" , " 4M" , " -pass" , " 2" ,
217+ " -c:a" , " aac" , " -b:a" , " 192k" )),
218+
219+ Profile (" Square Format (1:1)" ,
220+ listOf (" -vf" , " scale=720:720" , " -c:v" , " libx264" ,
221+ " -preset" , " medium" ," -crf" , " 23" , " -pix_fmt" , " yuv420p" , " -c:a" ,
222+ " aac" , " -b:a" , " 128k" )),
120223 )
121224 )
122225 }
0 commit comments