Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    76

    [actionscript 3.0] Smoothing di un video fullscreen

    Compagni e camerati buongiorno...

    Oggi per il mio compleanno vorrei un regalo speciale... più precisamente vorrei sapere come si fa ad ottimizzare un video in flash in modo tale da ottenere un risultato tipo you tube... mi spiego meglio:

    Uso Flash CS3, Actioscript 3, un componente FLVPlayer che ha il tasto "fullscreen" per riprodurre un file video .flv esterno... fino a qui tutto ok, ma ho notato che in modalità fullscreen ovviamente si vedono tutti i bei pixel che compongono l'immagine... invece su youtube no!!! guardando i video youtube (le cui dimensioni originali sono abbastanza ridotte) tutti questi maledetti pixel non si vedono... ci deve essere una qualche forma di antialiasing o smoothing che non sono riuscito a trovare in alcun sito...

    Grazie in anticipo per il vostro aiuto.

    Ciaooo!!!
    .,.-*'``'* Andrus *'``'*-.,.

  2. #2
    Il video, quando ingrandito, sgrana come ogni immagine, in fondo un video è composto da fotogrammi raster. Per cui non puoi migliorarne molto la qualità, se tu hai un video di base a qualità bassa, ingrandendolo peggiori solo le cose.

    E' molto più probabile che su Youtube il video inserito abbia una risoluzione maggiore e poi venga rimpicciolito per stare nella pagina...credo insomma che molto dipenda dal video in se. Se ad esempio provi ad ingrandire in fullscreen un filmato messo so youtube ma ripreso col cellulare, degraderà comunque, mentre se provi a fare la stessa operazione con un filmato che era stato ripreso da una telecamera con una buona qualità non noterai grandi degradamenti perchè comunque la risoluzione originale del filmato è abbastanza elevata.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    76
    Ciao Broly,

    grazie per la risposta, sono d'accordo con te solo in parte, per spiegarmi meglio invio questo link dove si può vedere quello di cui sto parlando: http://julian.empiregn.com/2006/1/30...V-AntiAliasing

    Questo codice però credo che funzioni solo con Actionscript 2... (e tra l'altro non sono stato capace di riprodurre lo stesso effetto nel mio fla), io cercavo il modo di agire con AS 3.0...

    .,.-*'``'* Andrus *'``'*-.,.

  4. #4
    Beh sì se intendi quello, c'è la possibilità di ridurre un po' il degradamento della qualità con questi "trucchetti", probabilmente viene applicato un po' di antialiasing ai vari fotogrammi del video da parte del player.

    Con Actionscript 3 il comando non sembra aver subito variazioni, però richiede che la qualità del player sia impostata su high, hai controllato questo aspetto?

    smoothing property

    smoothing:Boolean [read-write]

    Language version: ActionScript 3.0
    Player version: Flash Player 9


    Specifies whether the video should be smoothed (interpolated) when it is scaled. For smoothing to work, the player must be in high quality mode. The default value is false (no smoothing).


    Implementation
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void


    Occhio che, a giudicare dall'articolo e dalla guida, non è possibile sfruttare queste proprietà con il component FLVPlayback, ma solo con l'oggetto Video

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    76
    Perfetto!!! Grazie mille ho capito, testato e mi è riuscito...

    Allora non è possibile agire in questo modo sul componente FLVPlayer... ho importato il file "pippo.flv" nello stage e gli ho dato il nome istanza "myvideo", poi sul primo fotogramma della timeline gli ho messo: myvideo.smoothing = true;

    Ottimo... molto utile direi.. specialmente con questi video fullscreen...

    Ciao, grazie

    PS: Un'ultima cosa: però sarebbe bello un effetto del genere anche sul componente no? ho già fatto un bel po di ricerche (a vuoto)... scusa se ho la testa dura ma insisto... guarda questo video per esempio: http://www.youtube.com/watch?v=v2qyd...elated&search= le dimensioni originali sono abbastanza ridotte... se lo metti fullscreen non si vedono tutti i pixel sgranati (ovviamente perde un po di qualità ma un po di antialiasing io lo vedo)...
    Forse hanno realizzato un componente personalizzato dove il display in realtà non è un FLVPlayer ma un oggetto video???
    .,.-*'``'* Andrus *'``'*-.,.

  6. #6
    Youtube non penso usi il component FLVPlayback , direi che quasi sicuramente hanno creato un player personalizzato usando l'oggetto Video.

    Anche il component FLVPlayback comunque in teoria è realizzato con lo stesso metodo, per cui spulciando un po' magari si riesce a trovare l'oggetto Video/NetStream utilizzato nel component e applicarvi lo smoothing, ma potrebbe essere un po' macchinoso.

    Le dimensioni originali del video che hai linkato non penso siano così ridotte , ripeto è molto più sensato pensare che i video uploadati abbiano una risoluzione quantomeno decente (tranne quelli registrati coi telefonini), poi vengono ridotti nel player di youtube, ma la loro dimensione "naturale" è magari più vicina a quella in fullscreen, quindi non hai un degradamento esagerato della qualità quando li ingrandisci perchè semplicemente li porti vicino alla loro dimensione reale.

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    in un componente FLVPlayback è possibile risalire all'oggetto VideoPlayer, che è una sottoclasse dell'oggetto Video e come tale ne possiede anche le proprietà tra cui smoothing, perciò credo che sia possibile senza problemi utilizzare tale proprietà per effettuare lo smoothing anche direttamente sull'FLVPlayback

  8. #8
    Originariamente inviato da and80
    in un componente FLVPlayback è possibile risalire all'oggetto VideoPlayer, che è una sottoclasse dell'oggetto Video e come tale ne possiede anche le proprietà tra cui smoothing, perciò credo che sia possibile senza problemi utilizzare tale proprietà per effettuare lo smoothing anche direttamente sull'FLVPlayback
    Sì è quello che dicevo nel post prima. Se hai la locazione precisa dell'oggetto video puoi applicargli la proprietà smoothing senza problemi...magari sul component è pure già applicata di default

    L'unica rottura di scatole è andarsi a cercare l'oggetto video, che può richiedere un po' di tempo...a volte 'sti component hanno 84029402 oggetti nidificati

    Con "non è possibile" intendevo che non sembra esserci un metodo direttamente applicabile all'istanza del component a quanto pare, il che è anche un po' strano visto che può tornare utile

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    76
    Mmm... quindi voi come procedereste per risalire all'oggetto Video di un componente FLVPlayback?

    Purtroppo con queste classi sono un po' indietro...

    Sto provando come consigliato qui (che poi è un trucco e non il modo corretto credo):

    http://julian.empiregn.com/2006/2/3/...ideo-Smoothing

    in pratica, il ragazzo, converte il video player in un movieclip... che in actionscript 3 dovrebbe essere: flash.display.MovieClip(myvideo.getVideoPlayer(myv ideo.activeVideoPlayerIndex))._video.smoothing = true;

    ho provato molte varianti di questo script ma niente... l'errore nell'output è: TypeError: Error #1034: Assegnazione di tipo forzata non riuscita: impossibile convertire fl.video::VideoPlayer@2caa0d1 in flash.display.MovieClip.

    sto sicuramente saltando qualcosa che ha a che fare con le classi...
    .,.-*'``'* Andrus *'``'*-.,.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    76


    Siiiiiiiiiiiiiiiiiiiiiiiii!!! Ho trovato!!!!!!! Giusto in tempo... stavo per buttare il monitor a mare!!!

    Schiaffate pure con violenza un FLVPlayback component sullo stage... e chiamatelo "myvideo"

    Nel primo fotogramma della timeline inserire: myvideo.getVideoPlayer(myvideo.activeVideoPlayerIn dex).smoothing = true;

    Tutto qui!

    Alla prossima...
    .,.-*'``'* Andrus *'``'*-.,.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.