Hogyan csináljunk házi jutubot?

A legtöbb ember számára nem is a hogyan a kérdés (nem is érdekli őket), hanem inkább a minek. A válasz rém egyszerű, összevesztem a youtube-al. Illetve ők nehezteltek rám, és ezt nem lehetett megváltoztatni, ezért én is neheztelni kezdtem rájuk, ami oda vezetett, hogy egy szép napon, enyhén meggondolatlan állapotban töröltem magamat a youtube-ról.

Törlődött minden általam feltöltött videó, és minden személyes adatom is ((Legalábbis ők ezt állítják)). Viszont a filmeket valami módon mégis meg kellene osztani, gondoltam, és nosza, neki is álltam keresgélni a youtube-hoz mérhető megoldást. Nem állítom, hogy rettenetesen alapos voltam, tulajdonképpen a vonatkozó wikipedia oldal (Comparison of video hosting servicesW) átbogarászása elég volt ahhoz, hogy úgy döntsek, hogy saját kezembe veszem a dolgokat.

A dolog szépsége, hogy az átlagember ((Hanyagoljuk azt a tény, hogy az átlagemberben fel se merül a gondolat, hogy saját youtube-ja legyen, már ha egyáltalán tudja, hogy mi az.)) számára is rém könnyen megvalósítható. Pláne ha van egy wordpress blogja, mint pl. ez itt.

A wordpress ugyanis – számomra meglepő módon – egész kényelmesen bővíthető pluginekkel, és azok jobbára működnek is. Nem mindig ugyan, és ez nem is mindig a pluginek hibája, de a használhatósági arány igen jó. Többek között pl. van videólejátszó plugin is. Nem is kevés.

Ezek közül az egyik ((Illetve a másik, mert az első, amit választottam kissé kiverte nálam a biztosítékot, nyekeregtem a fejlesztőknél, hogy amit csináltak az egy szánalmas szeméthalom, és adják vissza a pénzemet (ha lehet). Legnagyobb meglepetésemre visszaadták.)) a hdwebplayer nevű. Persze bárki használhatja direktben pl. a flowplayer-t, amire (szerintem) az összes épül, de sokkal egyszerűbb egy plugint bepattintani, mint a flowplayer konfigjával szenvedni.

Ha ez megvan, akkor nincs is más hátra, mint feltölteni a filmeket a megfelelő formátumban, megadni az url-t a lejátszónak, és hajrá.

Az első gond persze a megfelelő formátum kérdése. Én általában az mpeg4 konténerbe csomagolt h264-es stream-et szeretem használni, ám ilyet előállítani némiképp problémás. Íme egy működő linuxos parancssor:

ffmpeg -y -i moovie.avi -acodec libfaac -ar 44100 -ab 96k -vcodec libx264 -level 41 -crf 20 -bufsize 20000k -maxrate 25000k -g 250 -r 20 -s 720×304 -coder 1 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -vpre medium -flags2 +dct8x8+bpyramid -me_method umh -subq 7 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -rc_eq ‘blurCplx^(1-qComp)’ -bf 16 -b_strategy 1 -bidir_refine 1 -refs 6 -deblockalpha 0 -deblockbeta 0 output.mp4

Ez csak egy a számos lehetséges megoldásból, és egy bizonyos képmérettel működik jól. Persze bőven fejleszthető, aki linuxozik annak nem is igazi probléma ezt megoldani. Ám mi van ha valaki kevésbé szerencsés, és nem linuxőrült? Neki való a handbrake nevű kis cucc. Remekül használható pl. DVD lemezek fájlba tuszkolására, és egész remek mp4 fájlokat gyárt.

Ám mindez még picit kevés, mert így csak HTTP-n keresztül lehet elérni a videofájlokat, azaz nincs realtime seek meg az se megoldott, hogy ha az ember vált SD és HD felbontás között, akkor ne kezdje elölről a lejátszást.

Számos megoldás van, de talán a legjobb a RTMP. Sok a blabla, el lehet olvasni a googléban, de ami a lényeg: van egy pici és hatékony RTMP szerver a C++ RTMP Server, ami pl. a RED5-höz képest hihetetlenül kevés erőforrást eszik. A konfigurálása igen rugalmas, azaz bonyolult is lehet, de a megadott példákkal kb. 5 perc alatt lehet életre rugdosni. A legnagyobb trükk, az az, hogy a médiatárnak a wordpress saját médiatár könyvtárát kell megadni.

Update

Azóta az RTMP-t lecseréltem http progressive download-ra, és az ffmpeg-et handbrake-ra.

Blabla, blabla, és az eredmény:

You may also like...