Month: May 2026

Legális? Legitim?

Valamikor irkáltam a legalitás/legitimitás témáról. Aztán nemrég olvastam egy írást és elgondolkodtatott.

Ha valami legális, az azt jelenti, hogy az aktuális törvényeknek megfelelő. A legitimitás pedig arról szól, hogy az aktuális törvények a nép akaratát tükrözik-e, pontosabban olyanok-e a törvények, melyeket az emberek, ha olykor-olykor morogva is, de szabad akaratukból elfogadnak. Ezt kiegészíti az ún. rossz törvények létezése, azaz amikor kimondják, hogy mivel a kormányzás nem legitim, akkor éppenhogy a nem legitim törvényeik betartása a törvénysértés és a megszegésük törvényes. A ‘rossz törvény’ fogalma egyébként nem csak fecsegés szintű fogalom, ilyen tényleg létezik, a nürnbergi perben használták is.

Eddig oké.

Az újdonság az a felvetés volt, hogy bármennyire is úgy képzelné az ember, hogy mindkét fogalom a jog terepe, nos, ez nem igaz. A legalitás, az igen. De a legitimitás már nem. Eredetileg az lenne, de a meghatározása már rendszerint kilóg a jog alól. Mármint meghatározás alatt nem a definícióját értem, hanem annak a megállapítását, hogy most éppen van-e, vagy nincs? A legitimitás ugyanis nem úgy múlik el, hogy egy testület kijogászkodja, hanem úgy, hogy a forradalom lefejezi a királyt, vagy a csőcselék megeszi a kormányzót. (Nem hülyéskedek, a hollandiai kormányzásért felelős De Witt fivéreket 1672-ben a felheccelt tömeg konkrétan megette.) Ez egyben azt is jelenti, hogy aki nekiáll a legitimitásról jogászkodni, az tévúton jár. A legitimitás változása az mindig forradalom (akár csendes, akár hangos) és ez rendszerint nem az elméleti okoskodás terepe. (Az már más kérdés, hogy az új hatalom mit engedhet meg magának és mit nem, hiszen ők is hamar elveszthetik a legitimitásukat. Ilyet is láttunk már néhányszor a történelemben, lsd 69-ben Rómában a Négy Császár Éve.)

Megvágta, meglőtte 08: Szkriptelünk

Igényes ember a nyersanyag preparálására kizárólag a Shutter Encoder felület Interpolation opcióját használja. Különösen igaz ez akkor, ha éppen most ruházott be egy meglehetősen erős GPU-ba.

Nézzük, mit is jelent ez a számok nyelvén. Próbakonverzió.
– AVC/30fpsVFR/64mbps videó átkonvertálása HEVC/50fpsCFR/40mbps videóra.
– A videó hossza 42 másodperc.
– A konverzió: 44 perc, azaz az időarány gyakorlatilag 1:60.

Ez azért eléggé lelombozó eredmény. Még akkor is, ha az általában egy napokat feldolgozó videóimban kábé 5 percnyi mobilról felvett nyersanyag van csak. Mivel 1:60 az arány, így ez 5 órányi munka. Amivel nem is lenne különösebb probléma, ha tudnám kötegelni, csak hát úgy, hogy beolvasom a Shutter Encoderbe és egyenként konvertálom át a darabokat, úgy folyamatosan ott kell ülnöm mellette. Nem tudom éjszakára ráküldeni az egészet.

Ekkor jött az ötlet. Mi van a Shutter Encoder mögött? Az ffmpeg. Ami egy parancssori program. Mi lenne, ha megkeresném a megfelelő paramétereket és akkor elég lenne éjszakára csak egy parancsfájlt elindítanom? Felvetettem az ötletet a Gemininek és határozottan csillogni kezdett a szeme. Végre egy igazán nekivaló feladat!

Ehhez képest az első szkript le sem futott. Pedig kipróbáltam először a régi ffmpeg progimmal, majd miután hibára futott, lekaptam a legújabb ffmpeg-et, de azzal is hibaüzenetet kaptam. Elküldtem a Gemininek. Komolyan, érezni lehetett a sértődöttséget a válaszában. Közölte, hogy az első ffmpeg túl régi volt, azért nem ismerte az ő paraméterét, a másik meg túl új és az meg azért. Hiába, nem könnyű a programozók élete, különösen, ha szilíciumból vannak.

Küldött egy újabbat.


@echo off
mkdir "konvertalt" 2>nul
for %%f in (*.mp4) do (
    echo Feldolgozas: %%f...
    ffmpeg -i "%%f" -vf "minterpolate=fps=50:mi_mode=mci:mc_mode=aobmc:me_mode=bidir" -c:v libx265 -crf 20 -preset fast -c:a copy "konvertalt\%%f" -y
)
pause

Ez már lefutott és az eredményvideó minősége is megfelelt. Csak éppen a 42 másodperces videóval 1 óra 44 percet molyolt. Ez 1:148-as arány, kábé 12 órán keresztül dolgozna az 5 percnyi videóval. Hát, van még tér az optimalizálásra.

Első lépés: a minterpolate szűrő és azon belül az mi_mode=mci lecserélése. Az MCI azt jelenti, hogy Motion Compensated Interpolation, Ez a legmagasabb minőségű mód, ami pixelről pixelre elemzi a mozgást a képkockák között, és megpróbálja kiszámolni, hová mozdultak el az objektumok. 4K felbontásnál ez egy matematikai rémálom a CPU-nak, mert másodpercenként 50-szer kell elvégeznie ezt a számítást 8,3 millió pixelre. Ehelyett jön be a framerate szűrő. Ez gyakorlatilag a Shutter Encoderben a Blending algoritmus az Interpolate helyett.
Illetve vedd észre, hogy azt írtam, CPU. A fenti parancs nem használta ki a GPU-t, mint lehetőséget. Ezt is belevettük.


@echo off
mkdir "konvertalt" 2>nul
for %%f in (*.mp4) do (
    echo Feldolgozas: %%f...
    ffmpeg -i "%%f" -vf "framerate=fps=50" -c:v hevc_nvenc -preset p4 -rc vbr -cq 24 -b:v 32M -pix_fmt yuv420p -color_range pc -c:a copy "konvertalt\%%f" -y
)
pause

Lefutott. Piszok gyorsan: 31 másodperc. Csak hát a minőség… az nem lett jó. Blőrözött.
(Emellett vegyük észre, hogy itt történt egy apró színhelyesség-korrekció is.)
Mondjuk úgy, hogy a nemtetszésemet fejeztem ki. Maradjon inkább az Interpolate szűrő, csak valamivel gyengébb minőségben.


@echo off
mkdir "konvertalt" 2>nul
echo --- INDUL AZ OPTIMALIZALT EJSZAKAI MUSZAK ---

for %%f in (*.mp4) do (
    echo Feldolgozas: %%f...
    :: A minterpolate itt az alap (gyorsabb) MCI modot hasznalja, ahogy a Shutter Encoder is
    ffmpeg -i "%%f" -vf "minterpolate=fps=50:mi_mode=mci" -c:v hevc_nvenc -preset p4 -rc vbr -cq 24 -b:v 32M -pix_fmt yuv420p -color_range pc -c:a copy "konvertalt\%%f" -y
)

echo --- MINDEN FAJL KESZ! ---
pause

Visszajött a minterpolate szűrő, viszont a Gemini elhagyta az “mc_mode=aobmc:me_mode=bidir” paramétereket. (Átlapolt blokk-alapú mozgáskompenzáció, illetve kétirányú becslés.)
A szkript 55 perc alatt futott le, az már közelített a Shutter Encoder eredményéhez, viszont a mozgás még mindig blőrözött.


@echo off
setlocal enabledelayedexpansion
mkdir "konvertalt" 2>nul

for %%f in (*.mp4) do (
    echo Feldolgozas: %%f
    ffmpeg -i "%%f" -vf "minterpolate=fps=50:mi_mode=mci:mc_mode=obmc" -c:v hevc_nvenc -preset p4 -rc vbr -cq 24 -b:v 32M -pix_fmt yuv420p -color_range pc -c:a copy "konvertalt\%%f" -y
)
pause

Látható, hogy visszakerült az mc_mode paraméter, csak egy kevésbé igényes kapcsolóval. Tulajdonképpen itt értük el az optimumot. A szkript 55 perc alatt futott le és a videó minősége is jó lett. Ezt már be tudtam vállalni. Igaz, 5,5 óra kellett a munka elvégzéséhez, de éjjeli munkánál 30 perc pluszmunka nem oszt, nem szoroz.

És akkor emlékezzünk vissza, hogyan vezettem fel ezt az írást a korábbiban?

És bár nem vagyok rá büszke, mert elképesztő, mit bénáztam…

Hol van a bénázás?
Most jön.

Ez itt a Shutter Encoder grafikus felülete. Bejelölgettem a fontosabb részeket, de most egyre hívnám fel a figyelmet, a bal felső sarokban lévő bekarikázásra. Látod? Az ott egy munkaasztal. A nagy szkriptelős felbuzdulásban nem vettem észre, hogy a Shutter Encoder nem úgy működik, hogy beolvas egy fájlt és azzal dolgozik, majd beolvashatom a következőt és így tovább, nem, a Shutter Encoder munkaasztalára tetszőleges mennyiségű fájlt be tudok olvasni (ctrl+klattyintás) és mindegyikkel elvégzi a kijelölt konverziót.
Bakker.
Az egész szkriptelés tök felesleges volt. Este bedobom mind az ötpercnyi mobiltelcsis videót, bekattintom a bekattintanivalókat, elindítom, reggelre kész. Gyorsan és jó minőségben.

A végére még valami. Írtam korábban, hogy Paul Pacifico, a Shutter Encoder fejlesztője mennyire tökéletesen ismeri az ffmpeg-et. Itt van a bizonyíték. A Geminivel összefogva sem bírtuk összerakni egy délután azt a paraméterlistát az ffmpeg mögé, amely a Shutter Encoder conform by interpolate funkciója mögött volt. Ahogy a Gemini fogalmazta, a pacáknak sikerült eltalálnia azt az arany egyensúlyt a futási idő és a minőség között, melyet nekünk nem.

Egy vidám dal

Egyik este hárman együtt voltunk,
kimerült az összes téma már.
Unalmunkban egy kis nótát írtunk,
nem baj, ha a szöveg sántikál.

Egy vidám dal, mely vidámabb, mint léha életed,
egy vidám dal, mely semmit nem közöl.
Egy vidám dal, mit megtanulni könnyű lesz neked,
egy vidám dal, mely nem szól semmiről.

Beadtuk a chanson-bizottságnak,
nem mondták, hogy ízlésromboló.
Azt sem mondták, hogy épp erre várnak,
lényeg az, hogy énekelni jó!

Egy vidám dal, mely vidámabb, mint léha életed,
egy vidám dal, mely semmit nem közöl.
Egy vidám dal, mit megtanulni könnyű lesz neked,
egy vidám dal, mely nem szól semmiről. (3X)

Neoton és a Kócbabák, 1976

Érted, nem? Nem ám írtunk egy dalt, elénekeltük, aztán kiraktuk egy lemezre. Nem. Sanzon-bizottság. Aki eldöntötte, ki lehet-e engedni a dalt a közönség elé.
És valamikor ez teljesen természetes volt, senki nem látott benne szokatlant.

Valahol a távolban felsír egy Dopeman.

2025.07 Júlia kerülgetése 05: Ljubljana, Kranjska Gora

Indulás után elég sokáig bolyongtunk a Postojna körüli hegyekben, jórészt murvás úton, sűrű, sötét erdőkben. Itt le is tudtuk az összes szintet, utána már sík terepen tekertünk tovább Ljubljanáig. A következő napot viszont szétbombázta az időjárás, akkora vihart jelzett a Windy, hogy inkább vonatra szálltunk, majd Jesenicéből húztuk be az utolsó 25 kilométert, mely egyébként a Millenneumi kerékpárút szlovén szakaszának az eleje is egyben.

© 2026 MiVanVelem

Theme by Anders NorénUp ↑