Volt néhány kérdés a videókódoló alkalmazásommal kapcsolatban, ismertetem hát, hogy mit tud. Dióhéjban arról van szó, hogy a szerveren történő konvertálás helyett inkább a user gépén végezzük el a dolgot, amivel több legyet is ütünk egy csapásra:
Nem árulok zsákbamacskát, az AVEncoder az FFMPEG-et használja, mert az a legjobb erre a célra, de mégsem egy egyszerű wrapper, hanem tud egy-két plusz dolgot is:
Központból vezérelt. Egy megadott URL-ből húzza a konfigurációt (mit kell konvertálni, hogyan) és így mindig frissíti magát. Ha nemcsak a konfig változik, hanem maga a szoftver is átesett valami komoly frissítésen, akkor szól, hogy nincs konvert, hanem erről és erről a webcímről húzza le a felhasználó a legfrissebbet.
Windows és Mac OSX. Gondolhatjátok, hogy az FFMPEG lefordítása a megfelelő cuccokkal (finomhangolás) mekkora szívás volt, pláne Mac-re.
Nem kell telepíteni. Mac-en sima ZIP, Windows-on önkicsomagoló EXE. Közönséges futtatható alkalmazás van benne, nem kell hozzá semmi egyéb hülyeség, például .NET környezet vagy Java. Korlátozott user is futtathatja.
Bőrözhető (skin). A bőrök egyszerű Flash SWF (igen!) fájlok, magad is előállíthatod mindenféle ActionScript tudás nélkül, csak grafika. Így a felhasználód nem azt látja, hogy AVEncoder, hanem a saját neveddel a saját arculatod. Ugyanígy a nyelvi fájl is szerkeszthető, jelenleg HU és EN van, de bármire átírhatod a sztringeket.
Saját konfiguráció (XML fájlban). Beállíthatod, hogy milyen formátumokat készítsen, jelenleg ezekből választhatsz: Flash h264, Flash FLV, iPod/iPhone MP4, 3GP. (A Flash h264-et a Silverlight is le fogja játszani hamarosan.) Természetesen formátumonként állíthatod a bitrátát, felbontást, frémrétet. Maximumok is beállíthatók, pl. maximális videó hossz.
Preview képek. Bármennyit beállíthatsz, egyszerre több változatot is elkészít (pl. egy kisméretűt a thumbnailekhez és egy nagyot valami cikkhez).
A felhasználód természetesen semmit sem állíthat be, te kontrollálsz mindent. Ő csak kitallózza a videófájlt, kiválasztja valamelyik felkínált előnézeti képet (ha kell), elindítja a cuccot és nézegeti a progressbart.
A végén egy darab állomány készül el, ami egy TAR fájl. Benne vannak a kért formátumaid és egy hash, hogy tutira tudd a szoftver állította elő a cuccot és nem a felhasználó hekkelt valamit össze. A TAR fájlok kezelése a szervered számára valószínűleg nem újdonság, Linuxon alap.
Van egy minta PHP osztály is, ami kitömöríti neked a megfelelő helyre és lekezeli az esetleges hibákat. Nem kell FFMPEG-et, de még GD-t sem telepíteni a szerverre.
A szoftverben lévő formátumok kezelése webes videókhoz finomhangolt, de annyira, hogy pl. egy h264 paraméterezése 4 sor. Csak a megfelelő videókodekek finombeállítására 8 teljes munkanap ment rá. Minden konvertálás így a lehető legjobb minőséget hozza ki és természetesen kétmenetes.
A szoftver igyekszik kezelni a videókodekek esetleges bénázásait. Pl. sokszor futhatsz bitrate too low és hasonló ügyekbe, ilyenkor újrapróbálkozik és te állíthatod be a konfigurációban, hogy milyen stepping-gel menjen föl és meddig.
Automatikusan adagolja a megfelelő padding-et, tökmindegy, hogy a milyen a forrásvideó és milyen a célvideó képaránya. Az elkészült videó pedig mindig 1:1-es, azaz négyzetes pixelarányú lesz (hány kamera készít egzotikus téglalap pixeleket, amivel aztán nehéz küzdeni).
Ha a forrásvideó minősége bármelyik paraméterben kisebb, mint a cél, akkor megpróbálja a lehető legkevesebb veszteséggel járó konvertálást. Szélsőséges esetben, pl. ha egyből Flash kompatibilis és paramétereken belül eső h264-et tolsz neki, azt nem is fogja átkonvertálni, csak copy és már indítja is a következő formátumot. Másik példa: ha a bitráta jelentősen kisebb a célnél, akkor kb. másfélszerest fog neki adni, hogy további kockázódás ne alakulhasson ki.
Végzetes hiba esetén logfájlt ad, amit a felhasználó elküldhet a megadott e-mail címre és kielemezzük, hogy mi volt a probléma.
Elvégzi a megfelelő "patkolásokat", pl. QT-faststart az mp4-ekre, vagy Yamdi-s metaadatok az FLV-kre. Az elkészült fájlok kapásból mehetnek pseudo-streamingre is.
Bár én fejlesztem, de a szoftver az AVKreatív Kft. tulajdona, őket kell megkérdezni, hogy mennyi az annyi. Szerintem nem sok, kedves emberek. :-)
iMect means internet, media and other cool things. iMect is a small company near lake Velence, Hungary. We’ve a big footer on every page where you can discover what we do and what happens with us.
Az iMect jelentése: internet, média és egyéb király dolgok. Egy kis cég vagyunk közel a Velencei-tóhoz. Minden oldalon van egy nagy lábléc, ahol felfedezheted, hogy mivel foglalkozunk.