Lehet hogy érdemes ha mindenféle formátumú videód van, ffmpeg-el konvertálni valami egységes formára, nem? Játszadoztam kicsit az ffmpeg-gel. Ha érdemes a videókat egységesen kezelni...
ffmpeg -y -hwaccel cuda -i input.mp4 -vf "scale='min(1920,iw):min(1080,ih):force_original_aspect_ratio=decrease:force_divisible_by=2:flags=lanczos'"
-map_metadata 0 -c:s copy -c:v hevc_nvenc -tag:v hvc1 -preset slow -b:v 2M -cq 28 -c:a copy -movflags +faststart output.mp4
Ezt a parancsot bemásoltam a chatgpt-be, hogy magyarázza el (teljesen el fog lustulni mindenki ezektől az AI eszközöktől):
FFmpeg parancs paraméterei és jelentésük
| Paraméter | Jelentés |
|---|---|
ffmpeg |
Az FFmpeg parancssori videófeldolgozó eszköz. |
-y |
Felülírja a meglévő output.mp4 fájlt megerősítés nélkül. |
-hwaccel cuda |
NVIDIA GPU hardveres gyorsítás engedélyezése a dekódoláshoz. |
-i input.mp4 |
A bemeneti videófájl. |
-vf "scale='min(1920,iw):min(1080,ih):force_original_aspect_ratio=decrease:force_divisible_by=2:flags=lanczos'" |
Átméretezi a videót max. 1920×1080-ra, megtartja az arányokat, és minőségi átméretezést alkalmaz. |
-map_metadata 0 |
Átviszi az összes metaadatot az eredeti fájlból. |
-c:s copy |
Felirat sávok másolása újrakódolás nélkül (ha vannak). |
-c:v hevc_nvenc |
Videó kódolása HEVC (H.265) formátumba NVIDIA GPU-val. |
-tag:v hvc1 |
A videó formátumjelölője (fourcc) hvc1, hogy Apple eszközökön is jól lejátszható legyen. |
-preset slow |
Lassabb, de hatékonyabb kódolás (jobb tömörítés/minőség arány). |
-b:v 2M |
Cél bitráta: 2 megabit/másodperc. |
-cq 28 |
Constant Quality érték: 28 → tömörítés minőségalapon (alacsonyabb = jobb minőség). |
-c:a copy |
Hang sáv változtatás nélküli másolása (nem újratömörítve). |
-movflags +faststart |
Az MP4 fájl elejére teszi az indexet, így gyorsabban kezdődik online lejátszáskor. |
output.mp4 |
A végleges, konvertált videófájl neve. |
Ez nvidia videókártyával megy, de simán át lehet írni cpu-sra is akár, vagy mac-esre (pl libx265 codec). A hangot én másolni gondoltam, de lehet hogy jobb ötlet lenne azt is újrakódolni valamire. A felirat másolása nekem valamiért nem ment, próbáltam olyan videót is.
A lanczos szűrőről nem írt a chatgpt: Ha csak lekicsinyítesz egy képet, amin apró mintázat van, úgy, hogy simán kihagysz pixeleket, akkor az rossz minőségű lesz, pl "interferenciához" hasonló vonalak jelennek meg (moiré-hatás) ott, ahol az apró mintázat volt. A lanczos filter ezeket eltünteti szépen. Pl, egy bankjegy képe ilyen, amin finom csíkok, finom minta van. Érdemes használni, sokkal jobb minőségű lesz az átméretezett kép. Sokkal jobb képet ad, mint a bilinear, vagy bicubic algoritmus. - Kerestem egy képet: https://imgur.com/a/GzpKV2N példaként (a jobb oldalin jelent meg a moiré effekt).
Ja, és ezt sem írta, de a fenti parancs csak akkor méretez át, ha nagyobb a felbontás.