Avatar billede schwaner Nybegynder
08. december 2004 - 13:09 Der er 16 kommentarer

Including FLV

Hej med jer.

Jeg skal importere en ekstern FLV til en flash fil. Jeg har brug for lidt hjælp og info om hvordan jeg gør det. Kort sagt skal jeg vide hvordan man importere filen til min ny Flash fil og jeg skal vide hvordan jeg "tilgår" den så jeg kan arbejde med hvilket frame nr den står i og hvilket frame nr den skal flytte sig hen til.

Er der nogen derude der kan hjælpe. Jeg er nemlig helt grøn på FLV-import fronten.

Tak
Schwaner.
Avatar billede nikolajdu Nybegynder
08. december 2004 - 13:26 #1
Hvis du vil importere filen og har Flash MX 2004 PRO så importér originalen. Det du vil er ikke at importere filen i flash men loade filen ind. Har kan du kigge i hjælpefilen under NetConnection klassen.

Læser du lidt videre i den (vil anbefale du kigger det hele igennem) så står der noget om at afspille eksterne .flv filer. Vær dog opmærksom på at ektern .flv kun understøttes i Flash Player 6 hvis du kører igennem Flash Communication Server. Flash Player 7 kan fint køre uden.

/Nikolaj
Avatar billede _k Nybegynder
08. december 2004 - 13:26 #2
I princippet kan du bare trykke ctrl-r og hente flv'en ind på din tidslinje. Ingen hokus pokus dér. Den store fidus med flv-formatet er imidlertid at du kan hente din film ind i runtime (måske i virkeligheden det du vil?), for på den måde at simulere en streaming af videoen. Ønsker du at gøre det på den måde, kan du vælge imellem at scripte det, eller bruge nogle komponenter som kan styre det hele for dig.

Timeline eller runtime? Scripting eller komponenter?
Avatar billede _k Nybegynder
08. december 2004 - 13:27 #3
damn, hvor er folk hurtige her op til jul <:o)
Avatar billede schwaner Nybegynder
08. december 2004 - 13:33 #4
Hej k.

Jeg ville helst have den så den bliver hentet ind i runtime, men jeg skal også kunne script'e til filmen og styrer hvilke frames der skal spilles hvornår. Kan det overhovedet lad sig gøre?
Avatar billede nikolajdu Nybegynder
08. december 2004 - 13:48 #5
Så inkludér originalen og vælg at gøre det til et movieclip på timeline. Originalen bliver som hovedregel bedre end .flv men størrelsen kan af og til også blive lidt større. Men igen kun MX 2004 PRO.

Taler vi simulering af streaming så er det langt bedre at bruge den version jeg lagde op til. Her vælger du ikke hvilken frame der skal gåes til, men hvilken keyframe filen er komprimeret med. Vil du vælge frame by frame så skal du gøre som jeg skrev lige her ovenover.
Avatar billede _k Nybegynder
08. december 2004 - 13:49 #6
Hvis du vil hente en video ind i runtime, så snakker vi vist mere sekunder og minutter snarere end frames. Men hvis du mener at du gerne vil gå hen til et bestemt tidspunkt i din film, skulle det nok kunne lade sig gøre.

Opsæningen ser nogenlunde sådan her ud (tror også du kan finde en bedre step for step vejledning i hjælpen):

1: tryk ctrl-l
2: tryk yderst til højre oppe i det library-vindue som åbnes. Vælg "New Video"
3: træk video-komponenten fra librariet og ud på stagen.
4: giv det instance-navnet "minVideo"
5 skriv følgende script i en frame:

var netConn:NetConnection = new NetConnection();
netConn.connect(null);
var netStream:NetStream = new NetStream(netConn);
minVideo.attachVideo(netStream);
netStream.setBufferTime(5); //
netStream.play("navnetPåDinFLV.flv"); // Sætter din flv igang
netStream.seek(10); // Antal sekunder inde i din flv

Du skal først sætte filmen igang, derefter kan du med seek() hoppe derhen hvor du vil afspille fra.
..og husk også, at du skal justere størrelsen på "minVideo" når du har tyret den ind på scenen, så den passer til din faktiske størrelse på den video du loader.....
Avatar billede nikolajdu Nybegynder
08. december 2004 - 13:51 #7
seek() // angives i milisekunder og hopper til nærmeste keyframe.
Avatar billede _k Nybegynder
08. december 2004 - 13:53 #8
Damn nikolaidu, du er hurtig i dag! Til gengæld, ser det ud som om vi supplerer hinanden fint med forskellige løsninger :o)

schwaner: når du vælger imellem vores løsninger, så tjek lige hvor meget din flv fylder. Jeg vil mene, at såfremt den er +1 MB så gå efter min løsning. Mindre, og nikolaidu's løsning holder.
Avatar billede nikolajdu Nybegynder
08. december 2004 - 13:56 #9
_k din løsning er faktisk den første jeg hentød til med NetConnection udover at filen ikke behøver at blive inkluderet i flashen, men kan nøjes med at ligge eksternt. Som jeg ser det er der ingen fordel i at inkludere en .flv, da kontrollerne alligevel er de samme.
Avatar billede nikolajdu Nybegynder
08. december 2004 - 13:57 #10
hov seek() er selvfølgelig i sekunder.
Avatar billede _k Nybegynder
08. december 2004 - 14:07 #11
nikolai: Yep, regnede også med det var den løsning du hentydede til. Men må indrømme at jeg aldrig selv har leget med at inkludere en flv i Flash for derefter at tilgå den med script. Her har jeg været konservativ nok til at holde mig til avi'er og stort set behandle dem som mc'er. Flv'er ville jeg til hver en tid hente ind udefra, men det er måske slet ikke så hensigtæssigt?
Avatar billede schwaner Nybegynder
08. december 2004 - 14:08 #12
FLV'en er 14,5 Mb. Jeg vil give jer lidt mere info om hvad jeg egentlig skal ende op med. Det kan være det hjælper lidt på valget af model. Jeg har en FLV fil der indeholder en 3D film af en teknisk-dims. FLV'en er bygget op på en måde så den kører f.eks. 100 frames i en vinkel (horisontalt). De efterfølgende 100 frames er så den samme dims og den eneste forskel er at billedet er drejet en lille smule vertikalt. På den måde kan jeg fremstille en "virtuel tour" der gøre det muligt at dreje rundt på den tekniske dims i et 3D agtigt miljø, op og ned og rundt og rundt.

Derfor er det vigtigt at ramme de præcise frames når man vipper op eller ned ad. Man kunne sige i pseudo kode:
hvis op:
video.framenr = video.framenr + 100
hvis ned:
video.framenr = video.framenr - 100
hvis til højre
video.framenr = video.framenr + 1
hvis til venstre
video.framenr = video.framenr - 1

Jeg håber ikke jeg lyder alt for kryptisk?
Avatar billede _k Nybegynder
08. december 2004 - 15:11 #13
...det var da lidt af et dilemma. Vælger du Nikolajs løsning på nettet vil det køre mest smooth og overbevisende, men det vil tage en krig for brugeren at hente swf'en hjem.
Anvender du mit løsningsforslag, vil det på nettet gå ud over brugerens oplevelse af at kunne interagere med modellen. Der vil være et delay fra når man trykker, til flv'en loader hen til det rigtige sted og sætter igang. Delayet kan komme ned på ikke ret meget hvis brugeren sidder på en hurtig forbindelse, men det vil være der - og sådan noget kan brugere ikke li!

Den bedste løsning må derfor være Nikolajs løsning på en cd-rom!

...ved ikke om du er klar over det, men hvis du i stedet anvender Director (og producerer Shockwave-filer), kan du importere en hel 3D model og lade brugeren hive i den derinde.
Avatar billede schwaner Nybegynder
08. december 2004 - 18:36 #14
Jeg har valgt at hive den ind i flash's timeline. Det er vist den bedste måde at styre den på, og da præsentationen skal ligge på CD'er er det vist ikke det store problem med størrelsen.

I skal have tak for hjælpen. Hvis I skal have lidt points må I lige oprette et svar hver.

Tak for ide'erne
Schwaner.
Avatar billede nikolajdu Nybegynder
08. december 2004 - 18:42 #15
det var heldigt det var på cd ;-)

Held og lyk :!)
Avatar billede _k Nybegynder
08. december 2004 - 19:35 #16
Også svar herfra.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester