
Det mest anvendte måde til afspilning af videofilm på internettet er gennem Flash Playeren. Fordelen ved denne metode er at brugeren kun behøver et Flash plug-in i deres browser, for at kunne se din video. Udbredelsen af denne plug-in er langt større end f.eks Windows Media Player, Real Player og Quicktime plug-ins, som ville være nødvendige, hvis ikke du valgte at konvertere disse formater til en FLV fil, som er det format Flash Playeren bruger. Selvom du kan publicere SWF filer med video uden brug af ActionScript, er der en del fordele ved at bruge kode, heriblandt størrelsen på din SWF fil. Læg mærke til at hvergang jeg nævner ActionScript på denne side, hentyder jeg til version 3.0. Spørgsmålene til venstre skulle meget gerne gøre din indgang til denne verden lidt nemere. Er du stadig i tvivl når du har læst denne side, så vend tilbage til mig.
For at afspille videofilm på internettet bruger Flash Playeren FLV formatet (Flash Live Video). Dette format er Flash programmet eget format, derfor skal du konvertere dinne videofilm til dette format. FLV filen hentes ind i en SWF fil, som så placeres i et HTML dokument, og så kan den afspilles af Flash Playeren.
På en Mac kan du konvertere følgende formater:
- Quicktime (.mov)
- Audio Video Interleaved (.avi)
- Digital Video (.dv)
- Motion Picture Experts Group (.mpg)
På en Windows maskine kan du foruden de førnævnte formater også konvertere følgende formater:
- Active Streaming Format (.asf)
- Windows Media (.wmv)
Til dette eksempel har jeg brugt en Quicktime videofilm, som du kan downloade her. Til at starte med gælder det om at have en videofilm af den højest muligt kvalitet. Det vil sige, at din videofilm ikke skal være komprimeret. Det er jo det du skal gøre.
| Progressive Download from a web server | Er den du skal bruge. Den opretter en ekstern fil (FLV), som linkes til din SWF fil. Dette betyder at brugeren kan begynde at se videofilmen inden den er helt downloaded til computerens hukommelse. Efter fremvisningen findes videofilen i browserens cache. |
| Stream from Flash Video Streaming Service | Bruges hvis du har adgang til en Flash Media Server (... og det har du ikke, så derfor ikke mere information om det). |
| Stream from Flash Media Server | Bruges hvis du har din egen Flash Media Server (... og det har du ikke, så derfor heller ikke mere information om det). |
| As mobile device video bundled in SWF | Bruges til mobiltelefoner og kræver Adobe Flash Lite 2 for at afspilles. |
| Embed video in SWF and play in timeline | Anbefales ikke da den er afhængig af SWF filens frame rate og den computer der afspiller filen. Dette viser sig ved at billede og lyd ikke altid passer sammen. Meget små filer kan dog godt bruge denne metode, dog skal de helst ikke indholde lyd. Flash Player begynder først at afspille videofilmen når hele SWF filen er indlæst i computerens hukommelse. |
| Linked Quicktime video for publishing to Quicktime | Kan kun bruges i Flash Player 3-5. |
| Video codec | Her kan du vælge mellem On2 VP 6 (Flash Player 8 og nyere) eller Sorenson Spark (Flash Player 6 og nyere). Hvis din FLA fil er sat til at bruge Flash Player 9 Update 3, så vil du også kunne vælge H.264. Brug On2 VP 6 codec, det er den der giver dig den bedste løsning i øjeblikket. Når Flash Player 10 (beta version udkom Maj 2008) findes på flest browsere, så kan du skifte til H.264. |
| Encode alpha channel | Hvis du bruger gennemsigtighed i din videofilm, så slår du denne funktion til. Et eksempel ville være hvis du har fritskrabet et eller andet og ønsker at bruge den baggrund, som findes i f.eks. HTML filen. Størrelsen på videofilmen bliver selvføgelig også større. |
| Deinterlace | |
| Frame rate | Videofilmens afspilningshastighed bestemmer du her. En Quicktime videofilms hastighed kan du få oplyst ved at åbne filen i Quicktime og vælge Window > Show Movie Inspector. Aflæs tallet under FPS i vinduet. Hvis din hastighed er under 15, så vælg "Same as source" i Flash vinduet. Er den over, så skriv 15 i vinduet. Har du en videofilm der indholder hurtige bevægelser, som f.eks sport, så skal du vælge en støre hastighed. Den hastighed du vælger, skal ikke være større en den hastighed din videofilm er optaget med. |
| Quality | |
| Max. data rate | |
| Key frame placement | |
| Key frame interval |
| Skin | Her vælger du hvilken foruddefineret videokontrolknapper du vil bruge. Forskellen mellem dem, er om de skal placeres ovenpå eller nedenunder din video, hvor mange knapper du vil have osv. Hvis du ikke ønsker nogen form for videokontrolknapper, så skal du vælge None. Ønsker du at bruge en SWF fil du selv har lavet, skal du vælge Custom Skin URL. |
| Color | Her bestemmer du farven på din videokontrol. |
| URL | Hvis du ønsker at lave din egen videokontrol, så skal du under Skin vælge "Custom Skin URL" og her skrive hvor SWF filen findes. (Se eventuelt Hvordan ændrer jeg et skin?) |
Efter at du har konverteret din Quicktime film til FLV formatet, skal du have en mappe med en FLA, som indholder en SWF (din videokontrol) og en FLV (din video). I dette eksempel navngiver jeg mappen "video" og FLA filen også for "video". Med FLA filen åben, vælger du File > Publish Settings. Her skal Flash og HTML være afkrydset under Formats vinduet. Så trykker du på Publish knappen. På billedet kan du se hvad din mappe skal indholde:
Åben dit FTP program, og træk hele mappen over på din server (FLA filen skal ikke bruges). I dette eksempel har jeg adgang til serveren "undervisning.monten.dk", så for mit vedkommende kan jeg se min videofilm ved at skrive følgende adresse http://undervisning.monten.dk/undervisning/video/video.html.
En codec (forkortelse af compression-decompression) er en dekoder. Ved lagring komprimerer den valgte codec videofilmen (lyd og billede) så det fylder så lidt som muligt. Ved afspilningen pakker den videofilmen ud igen. Brugen af en codec er det samme som at gemme en fil i f.eks. .jpg format. Ved komprimering af filen mister du dog nogle informationer. For en videofilm kan det betyde at billedet er uskarp og lyden har baggrundsstøj. En codecs formål er altid at komprimere videofilmen så meget som muligt, samtidig med at den beholder den bedst mulig billede og lyd kvalitet.
Som standard importerer og eksporterer Flash en videofilm med en On2 VP 6 codec. Dette format anbefales hvis det publikum som skal se videofilmen har Flash Player 8 eller nyere installeret på deres computere. Hvis de tilgængel bruger Flash Player 6 eller 7 anbefales en Sorenson Spark codec. Muligheden for at bruge Sorenson Spark video codec for første gang var med Flash Player 6 i 2002, mens On2 VP 6 var med Flash Player 8 i 2005. I Flash Player 9 Update 3 (2007) blev en ny codec introduceret. Denne codec, H.264, komprimerer bedre en de to andre formater. Brug først denne codec når Flash Player 10 er lige så udbredt, som den nuværende version.
For at ændre i FLVPlayback komponenten skal du vælge Window > Components, og under Video trække FLVPlayback over til din scene.
Herefter kan du i Window > Properties > Parameters eller Window > Component Inspector pille ved følgende egenskaber:
| align | Denne egenskab har intet med placeringen af din videofilm på scenen, men istedet med hvor den placeres iforhold til komponenten.
|
| autoPlay | Her kan du vælge om din videofilm skal gå igang med at afspille med det samme, eller vente til brugeren starter den. Standardindstillingen er true (start afspilning). |
| cuePoints | Her kan du redigere de cue points du eventuelt har lavet på din videofilm. Du kan ikke slette, kun vælge at deaktivere dem. Du kan også oprette nye, men mangler et preview af din videofillm, for at se hvor de skal placeres (hmmmm!). Vinduet der kommer frem er det samme som Import Video funktionen bruger. |
| preview | Aaah! Her er preview vinduet du manglede tidligere under cuePoints. En god ting du kan med dette vindue, er at eksportere enkelte frames af din videofilm. Vælg et frame og tryk på Export for at få en PNG fil af det valgte klip. Du kan bruge denne PNG fil som f.eks en forside på din videofilm på internettet. Du kan også vælge et frame for at se et preview på din scene istedet for en sort baggrund. Dette kan bruges hvis du har flere videofilm på scenen, og ønsker at se forskel på dem. Denne funktion har ingen inflydelse på udseendet af din videofilm, når du afspiller den på internettet. |
| scaleMode | Skalering af din video indenfor FLVPlaybak komponenten når filen afspilles. Standardindstillingen er maintainAspectRatio (proportional skalering). |
| skin | Her kan du skifte udseende og farve på den SWF fil der kontrollerer din video. Du kan vælge at placere videokontrolknapperne under eller ovenpå videofilen. Vinduet der kommer frem er det samme som Import Video funktionen bruger. |
| skinAutoHide | Her kan du vælge om videokontrolknapperne altid skal være synlig eller kun skal komme frem når brugerens mus er over videofilmen. Standardindstillingen er false (vis videokontrol). |
| skinBaggroundAlpha | Her kan du vælge videokontrolens transparentværdi. Standardindstillingen er 0.85 (85% synlig). |
| skinBackgroundColor | Her skifter du farven på videokontrolknapperne. |
| source | Her kan du vælge hvilke FLV fil du vil bruge. |
| volume | Her kan du vælge lydstyrke på videofilmen. Standardindstillingen er 1 (100% lyd). 50% er 0.5. |
Det er et videokonverteringsprogram der følger med når du installerer Flash CS3. Den kan det samme som menuen File > Import > Import Video i Flash programmet... og lidt mere. Den kan nemlig konvertere flere videofilm på en gang. Det eneste du skal gøre er at trække videofilmene over i det åbne vindue, trykke på Settings for at sætte dinne indstillinger (det er gennemgået i spørgsmålet Hvordan konverterer jeg en videofilm til FLV?) og afslutte med at trykke på Start Queue. Du kan også bruge dette program til at lave forskellige udgaver af den samme videofilm. Træk videofilmen over til det åbne vindue det antal gange du skal bruge den, vælg en af udgaverne og tryk på Settings. Gentag indtil du er færdig med at behandle alle videofilm og afslut med at trykke på Start Queue.
Meget nemt, du gør følgende:
Du skal så bruge lidt tid på at sætte nogle af de egenskaber, som du kan se i Component Inspector vinduet. Se spørgsmålet Hvordan ændrer jeg egenskaberne i et videokomponent? for en liste over disse egenskabers formål.
Jeg troede aldrig at du ville spørge.
import fl.video.FLVPlayback;var video:FLVPlayback = new FLVPlayback();
video.source = "video.flv";video.autoPlay = false;video.skin = "SkinOverPlaySeekStop.swf";video.x = 20;video.y = 20;
addChild(video);På nuværende tidspunkt kan det være at du synes at det var meget nemmere at gøre det manuelt end at bruge ActionScript. Og det har du ret i. ActionScript'ens styrke kommer først frem når du f.eks. vil lave spillelister (Se Hvordan laver jeg en spilleliste hvor jeg kan vælge forskellige videofilm?).
Du downloade en mappe med bla. den færdige FLA fil her.
Alle skins findes under Applications/Adobe Flash CS3/Configuration/FLVPlayback Skins/FLA/ActionScript 3.0.
I de følgende punkter vil jeg vise hvordan du bygger den spilleliste du kan se her på siden. Til dette eksempel har jeg lavet en SWF fil der loader fire FLV filer, som viser tallene fra 1 til 4 i forskellige farver. Alle filer jeg har brugt, kan du downloade i slutningen af denne tutorial.
var array_obj:Array = ["tal_1.flv", "tal_2.flv", "tal_3.flv", "tal_4.flv"];for(var i:int = 0; i < array_obj.length; i++) {
list_com.addItem({label:array_obj[i]});
}list_com.addEventListener(Event.CHANGE, list_listener);function list_listener(event:Event) {
flv_com.play(event.target.selectedItem.label);
}flv_com.play(array_obj[0]);list_com.selectedIndex = 0;FLVPlayback komponenten fylder 50KB i din hoved SWF fil. Derudover bruger du også en SWF fil for skin (videokontrollen) som fylder mellem 4-12KB og en FLV fil, som kun du ved hvad fylder.
Ja, det er der faktisk, men det kræver ActionScript. Din hovedfil kommer til at fylde under 1KB, uden videokontrolknapper. Filerne til dette eksempel kan du downloade her.
var connection:NetConnection = new NetConnection();connection.connect(null);var stream:NetStream = new NetStream(connection);stream.client = this;stream.play("video.flv");var video:Video = new Video();video.attachNetStream(stream);addChild(video);video.x = 20;
video.y = 20;play_btn.addEventListener(MouseEvent.CLICK, play_function);
pause_btn.addEventListener(MouseEvent.CLICK, pause_function);
stop_btn.addEventListener(MouseEvent.CLICK, stop_function);function play_function(e:MouseEvent):void {
stream.resume();
}function pause_function(e:MouseEvent):void {
stream.togglePause();
}function stop_function(e:MouseEvent):void {
stream.pause();
stream.seek(0);
}Ja, det kan du sagtens. Husk også at du kan eksportere som FLA, en animeret GIF og hvert frame som et selvstændig dokument i LPG, PNG, GIF, EPS med flere.
NetConnection er klassen der bruges til at få forbindelse til en server, så du kan afspille video og lyd, eller sende meddelelser til serveren. Klassen kan ikke afspille video, den kan kun oprette en forbindelse. For at afspille video skal du bruge NetStream klassen.
Her er et eksempel på brugen at NetConnection klassen:
var connection:NetConnection = new NetConnection();connection.connect(null);Fremvisningen af video kan foregå som progressiv eller som streaming. Ved progressiv afspilningen begynder fremvisningen af videon med det samme. Den downloades til brugerens computer og man kan først se slutningen af filmen, når hele filen er downloadet. Ved streaming kan brugeren begynde fra f.eks. midten af filmen og filen downloades ikke til brugeres computer. Live streaming er også muligt. Streaming kan kun foregå med adgang til en Flash Media Server.