Nem titok, hogy a Webcsatornánál egyszerre több formátumba konvertálunk. A nagy magyar iPhone mizériára felkészülve már több hónapja iPod/iPhone kompatibilis videókat is készítünk, amiket aztán a megjelenésre terveztünk élesíteni. Jó terv volt és jól is működött a 2.0-s iPhone verzióig.
Augusztus közepén frissítettem 2.0-ra és elhűlve láttam, hogy nem képes lejátszani a videókat, illetve az iTunesba sem lehetett már importálni őket, hibaüzenetettel visszadobta.
Rákerestem a neten. Találtam néhány panaszt, megoldás viszont sehol sem volt, az Apple honlapján is volt téma, de semmi válasz. A specifikáció nem változott. Fasza, csináld magad mozgalom tehát, indul a próbálgatás.
Fél nap után meglett a megoldás, de gondolom hiába számláznék az Apple részére, nem fizetik meg a munkaidőt. Ezt kell hozzácsapni az FFMPEG paramétereihez: -level 30. Tudatja a lejátszóval, hogy 3-as szintű H264-ről van szó.
A H264-ben a szintek mindössze néhány maximum paramétert, pl. felbontást vagy bitrátát határoznak meg. Hiába vagy ezeken belül, ha nincs meg a megfelelő header, az Apple nem engedi be a videót.
Egyéb esetekben nem érdemes a használni, mert egy-két egzotikusan kódolt videót nem fog az FFMPEG átalakítani, hiába maradsz belül a határokon. Mondjuk papíron nem így kellene, de ez van.
Egy szó mint száz, újra kellene kódolni az összes Webcsatorna videót, de ezt nem lépjük meg, macerás az archívumból előhalászni az eredetiket. Inkább egy-két fontosabb adás Flash H264 kész verzióját vettük elő és alakítottuk át. Nem túl jó minőség, de bőven elfogadható és még így is sokkal jobb a YouTube iPhone-os verziójánál. Az újabb videók természetesen már tűéles képpel érkeznek.
Megvolt a megoldás, gőzerővel kódoltunk, de egy-két adás kissé torz lett képarányilag. Lecsekkoltam, a felbontás pontosan a beállított érték lett, de egy-két lejátszó szoftver (pont iPhone meg QuickTime) laposra torzított. Pedig nem adtam meg neki, hogy nem square pixel vagyunk.
Egyébként gyűlölöm, hogy sok videónál a pixel nem egzakt négyzet, hanem mindenféle idióta téglalap alakú is lehet. Megértem, hogy egy-két esetben hasznos, de nem kicsit bonyolítja meg az életet. Azt már meg sem említem, hogy háromféle aránnyal kell játszani: PAR (pixel aspect ratio), DAR (display ...), SAR (sample ...).
Lényeg a lényeg, itt a megoldás az, hogy az eredménynél megmondod a helyes aspect ratio-t az FFMPEG-nek, ami mindig a célvideó szélességének és magasságának hányadosa padding-gal együtt (width + padding left + padding right /height + padding top + padding bottom). Például így néz ki: -aspect 1.7778. Fontos, hogy a felbontás (-s) paraméter után kell megadni.
Ezzel a beállítással a célvideó mindig négyzet alakú pixelekkel készül és egyértelmű lesz a helyzet, bármilyen idióta aránnyal készült forrásod is van.
Itt egy link egy már teljesen jó iPhone-os Webcsatorna videóra. (Persze csak iPhone-nal olyan.)
iMect means internet, media and other cool things. We're a small company located in Hungary. There is 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 magyar cég vagyunk. Minden oldalon van egy nagy lábléc, ahol felfedezheted, hogy mivel foglalkozunk.