Search code examples
apache-flexflashactionscript-3videoflv

Play FLV from ByteArray in Flash Player


I have a flash video file (FLV) stored in the ByteArray object and would like to play this video. Is there any way to achieve it? Maybe using Alchemy?

Thank you!


Solution

  • i think "why ByteArray" is actually THE question ... how did it get there? :)

    there are numerous approaches ... one was given by konrad ... but as he said it will be slow ... in fact, i think it'll be much slower than you can even imagine ... so here another one:

    pass the ByteArray to a server and load the flv from there ... there are several options:

    • remote server: load it to a remote server (probably the one distributing your swf) ... still leaving the question why you don't distribute the flv from there in the first place ...
    • local server:
      1. installed: simply install a tiny local app to do exactly that for you, that is, you can push the bytearray there and then retrieve it over a suitable protocoll (HTTP, RTMP) ...
      2. browser-embedded: same as installed, but you can simply create a Java Applet to do that job ... signed java applets are allowed to bind ports (yes, this is an extra click for the user, but it's as comfortable as it can get) which is what you'll have to do and the rest is really the same as with an installed server ...

    in both scenarios, you might run into crossdomain policy issues (probably only when sending, since i think you're allowed to load videos across domains), where you need to respond correctly to FlashPlayer's policy file requests (you can find tons of stuff on that) ... you could bypass sending restriction by making a LocalConnection bridge, as this one for C# ...

    good luck then ... ;)


    edit: ah ok, now i understand ... actually, there was already a very similar question ... i remember a short interview with some adobe guy, just shortly after p2p feature was announced ... adobe is very shy about this ... actually it took me weeks to find the p2p after flash player 10 was officially released (didn't really have time to bother before) ...

    actually, i think this is made on purpose ... in the interview, it was made clear, that adobe is not trying to push away video streaming sites ... the two most important probably are youtube and google video ... youtube is one of the main reasons, why flash player became so popular in the first place ... and it's owned by google, as google video ... allowing easy creation of a p2p media platform would piss google off a lot ... you don't need a lot of servers for that ... "just" good software, but that's affordable ... and i think, adobe does not want to piss off google ... some reasons:

    • they are THE search engine
    • they need google to allow indexing flash based sites
    • google is n times bigger
    • google is really trying to get a huge chunk of the RIA market ... they have the GWT, chrome, the V8, the native client ...

    so i guess adobe does not have that much of an interest to do so ... it's pretty much a bit, like when google announced their payment system (was it GPay or so?), which was a direct concurrent of PayPal ... eBay is one of google's most important income sources ... and actually i never heard anything about it again ...

    many decisions are political, when it comes to big companies ... and i think, the one not to make flash player's p2p too strong is one of them ...