FLV -> JPG, uz malu pomoc flasha

FLV -> JPG, uz malu pomoc flasha

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Za jedan projekat koji radim vec duze vreme neophodno mi je da iz uploadovanih FLV fajlova "izvucem" jedan od frejmova i sacuvam ga kao JPG. Prvo sam mislio da je to moguce jedino uz pomoc ffdshow-a, ukoliko je instaliran na serveru (sto cesto nije slucaj, niti ga je uvek moguce koristiti), pa sam se bacio na trazenje alternativa. I nasao sam - Flash moze, sa AS 3.0 da izvuce bilo koji frame iz FLV-a i posalje ga na obradu PHP-u, sto bi mi (nadam se) zavrsilo posao. E sad, ima tu par stvari koje me interesuju: da li je moguce pokrenuti flash, a da korisnik to ne vidi (osim pravljenja 1*1px flash fajla), i, bitnije, da li je moguce izmeniti neki od prilozenih kodova tako da automatski uradi posao, odnosno da izvuce frejm sa recimo polovine FLV-a (vecina njih koristi dugme i onRelease).

[Link mogu videti samo ulogovani korisnici]
[Link mogu videti samo ulogovani korisnici]
[Link mogu videti samo ulogovani korisnici]

Ili neko ima neku drugu ideju?

Btw, ukoliko mogu da se izvuku i dimenzije FLV-a (sirina i visina), i to bi mi veoma znacilo Wink



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Maj 2005
  • Poruke: 5224
  • Gde živiš: Oslo

A ceo taj proces izvlacenja jednog frejma treba da se desava... kada? U run time? Posle ucitavanja strane? Na korisnikov zahtev?

Recimo, ucitava se stranica... da li se i .flv fajlovi odmah ucitavaju? (Jasno ti je koliko bi to opteretilo stranu, pa makar ti swf bio 1px x 1px.) I kada se sve ucita, izvlaci se .jpg salje se PHPu. Jel bi tako nekako isao redosled?



offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Vidi Tamti, proces je jednostavan: Flash ovde sluzi kao backup, odnosno, za one servere gde ffmpeg nije instaliran, ili ne moze da se koristi.

Procedura je ovakva: korisnik iz admin panela uploaduje FLV video - to je laksi deo. Ukoliko ffmpeg postoji, i moze da se koristi, izvucem frejm, obradim ga, sacuvam dve verzije (originalni prvi frejm i 120*80 slicicu sa poluprovidnim PLAY dugmetom na sredini) i zapisem u bazu jos par detalja o FLV-u (visina, sirina, naslov, opis...).

Problem je u tome sto mnogi serveri nemaju ffmpeg, ili korisnici nemaju dozvolu da ga koriste, sto mi mnogo komplikuje posao. Moja zamisao je da prvo proverim moze li ffmpeg da se koristi, ako moze - super, on zavrsava sav posao. Medjutim, ako to nije moguce, neophodna mi je alternativa - i tu flash stupa na snagu.

Dakle - korisnik uploaduje FLV, ali nema mogucnost obrade preko ffmpeg-a. Moj plan je da onda, umesto da FLV prosledim na dalju obradu PHP-u, Flash uskoci u medjuvremenu. Prikaze se Flash klip odredjenih dimenzija (bela pozadina, kruzic koji se vrti, tekst "Molimo sacekajte...") koji izvlaci odredjeni frame i salje ga PHPu na obradu - automatski, bez interakcije korisnika. PHP obradi zahtev (uradi ono isto sto bi uradio da ima ffmpeg), vrati Flashu true/false, i ako je odgovor true, Flash pozove jos jedan JS koji ce da popuni neke elemente forme, i to je to (ta JS f-ja izmedju ostalog i zatvara "prozor" sa Flash fajlom).

Ceo proces izvlacenja frame-a se desava samo jednom za svaki FLV, prilikom uploada. Deluje jednostavno Smile jos samo kad bi bilo moguce, bilo bi i vise nego super Smile

offline
  • Pridružio: 19 Maj 2005
  • Poruke: 5224
  • Gde živiš: Oslo

Napisano: 21 Jun 2009 22:55

A zar ne moze neki div ili js da ti sakrije flash?

Jesi li probao da uradis ovo o cemu pises? Meni se cini da je sasvim razumno i izvodljivo. Je l' ti treba pomoc oko ASa ili to mozes da napravis pomocu ovih sajtova?
Jeste da malo cudno deluje da Flash koji je napravljen da bi GUI bio veseliji sada postaje motor koji radi u pozadini, ali sto da ne smešak

Dopuna: 21 Jun 2009 23:01

Gledam onaj prvi link (i treci): da bi uhvatio sliku, cini se da taj deo mora biti ucitan. Ako su filmovi kratki, verovatno da sve ide brzo, ali je prilicno neprakticno ako moras ucitavati ceo flv zbog slicice na kraju.

Nisam sasvim razumela da li su frejmovi u flv koji se izvajaju unapred definisani (Cue point markerima).

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Ne, ne mora div da sakrije flash - bas suprotno, zelim da obavestim korisnika da se nesto radi i da ne treba da zatvara prozor. Klipovi iz kojih bi vadio frejmove su kratki - par minuta, do 20MB, i apsolutno je nebitno koji frejm se vadi - recimo prvi (pogotovo ako ce to da ubrza celu proceduru).

E sad, glavni problem: ja AS ne znam, i recimo da ne planiram da ga ucim, jer mi je u 99% projekata nepotreban. Takodje, Flash nemam na sistemu, niti mogu da ga instaliram (mozda bi i moglo preko Wine-a, ali neka starija verzija Flasha).

Verujem (ispravi me ako gresim) da 90% onoga sto mi treba se nalazi na ona 3 linka iz prvog posta. Sve sto bi mi trebalo je modifikacija jednog od njih, i swf fajl tog modifikovanog AS-a Smile Jel ne trazim previse? *trep*trep*

Ko je trenutno na forumu
 

Ukupno su 1079 korisnika na forumu :: 85 registrovanih, 9 sakrivenih i 985 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Apok, arsa, Ba4e, Bojke549, BORUTUS, cavatina, crnogorac, d.arsenal321, Darko Jovanovic, Darko8, DeerHunter, Dimitrije Paunovic, Dimitrise93, Dioniss, Django777, Djordje29, DonRumataEstorski, EVIDENTICAR, EXIT78, FAMAS, filip1326, g_g, GAGI, Gerila015, HogarStrashni, hooraay, ivan979, jodzula, Jomini, Jose, Kriglord, Kruger, Litostroton, Lotus, madza, Marko Marković, menges, mercedesamg, Mercury, Michellefromrezistance, micke83, MiGac, mige84, Miki01, Milan Miscevic, milenko crazy north, Milos ZA, milutin134, MiroslavD, Misirac, nebidrag, nenad81, Niko Bitan, Nikola00, nikolapetkovic, opt1, pablojepao, Papadubi, Pavle29L, Pilence, pirke96, proka89, raster12, repac, Romibrat, samojednoimeznam, sap, scimitar19, sixpac, sluga, smes_no, Str2022, The Boss, tom, tomigun, TRZH92, tuja, Vatreni Zmaj, Vlad000, vladaa012, Vojin, wolf431, Zorge, zrno, zukara