FLVPlayback dynamic buffering

This is a multi-part request.
I'm looking for a way to dynamically buffer progressive video
using the AS3 FLVPlayback component. I am doing bandwidth detection
using a SMIL file. I would like to set buffer via the clients
bandwidth. I do not have FMS.
I've "heard" that the AS3 FLVPlayback component has this
built in. That is, only starts playing after it concludes what it
will take to play the video from start to end. I'm having a hard
time verifying this through documentation.
So, I'm looking for help on dynamic buffering, and if anyone
knows if the AS3 FLVPlayback component offers this ability out of
the box.

I don't use FLVPlayback (I write my own players) but for sure
AS2 or AS3 the code you are trying to use is not good because it
doesn't use FLVPlayback.
There is an example in CS3/CS4 of using FLVPlayback.
Here is documentation for the componenet:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html

Similar Messages

  • Dynamic Buffering

    I'm tring to implement a dual buffering strategy. (Flash
    Media Server 3, Flash Player 9 and Actionscript 3)
    I have a simple player with FLVComponent, a standard skin
    using the vod application.
    I put in the first frame the following code:
    videoPlayer.bufferTime = 8;
    videoPlayer.source = root.loaderInfo.parameters.url; (I use
    the variable url to pass the video name)
    I read your article but I don't know how to use the code. I
    tried to copy and past below my to lines and didn't work.
    Please help me.
    Thanks,
    Thiago Prado
    function initConnection() {
    // Create a NetConnection
    nc = new NetConnection();
    // Define onStatus event handler
    nc.onStatus = function(info) {
    trace("Level: "+info.level+" Code: "+info.code);
    // Initialize the stream after the connection is successful
    if (info.code == "NetConnection.Connect.Success") {
    trace("--- connected to: " + this.uri);
    startStream(); //Inizialize the stream
    // try to connect, to be changed with your app path
    nc.connect("rtmp://localhost/vod");
    function startStream() {
    //Define stream and buffers parameters
    stream_name="test_stream"; //your stream - How can I pass my
    variable url to stream_name?
    startBufferLength=2; //keep this in the range 2-4+
    expandedBufferLength=15; //arbitrarily high
    // create a netstream
    ns = new NetStream(nc);
    // Define onStatus event handler
    ns.onStatus = function(infoObject:Object) {
    if (infoObject["code"]=="NetStream.Buffer.Full"){
    ns.setBufferTime(expandedBufferLength);
    trace("set expanded buffer");
    if (infoObject["code"]=="NetStream.Buffer.Empty"){
    ns.setBufferTime(startBufferLength);
    trace("set start buffer");
    // attach the NetStream to a video object
    // change from videoObj to your istance name if needed
    videoObj.attachVideo(ns);
    ns.setBufferTime(startBufferLength);
    ns.play(stream_name, 0);
    initConnection();
    stop();

    I don't use FLVPlayback (I write my own players) but for sure
    AS2 or AS3 the code you are trying to use is not good because it
    doesn't use FLVPlayback.
    There is an example in CS3/CS4 of using FLVPlayback.
    Here is documentation for the componenet:
    http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html

  • Attach flvplayback dynamically - when is it initialized

    hello,
    i am trying to create a class that would use the flvplayback
    component. i do not want to place the component on the stage as i
    need to deal with that dynamically, and i need to reuse the class
    in many projects.
    however i find problems, as even if the flvplayback is
    attached on the stage, it has not been loaded yet. so i tried using
    a setinterval to deal with that, but it did not always work as the
    delay seems to change depending how many processes are going on at
    the same time
    i stumbled upon the ready property (or event? i have a hard
    time understanding the event handling), but it seems like it does
    not do me any good since the event is never called.
    can anybody help me? it would be greatly appreciated
    here are the docs i relied on so far
    doc on the flvplayback component
    http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveD ocs_Parts&file=00003477.html
    doc on the flvplayback.ready property
    http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveD ocs_Parts&file=00003584.html
    doc on using flvplayback with attachmovie
    http://flashmove.com/forum/archive/index.php/t-27852.html
    you may see the code at the following link:
    http://jansensan.net/icongo/videoPlayerClass.zip

    Hi Fabien - I had tried to follow and implement the code Liam referenced, but was unable to get it to work.
    I ended up grouping the products instead. The good thing was, product grouping accommodated different shipping packaging sizes. (I don't believe attributes will allow you to do this?)
    Some of the possible downsides to using product groupings include:
    Possible "duplicate content" SEO concern - which I believe I addressed (I granted search engines access to these grouped product pages via one url only).
    Updating product details with product grouping can be more time-consuming, compared with using attributes. However, I do not have a lot of groups or products, and do not anticipate many updates.
    I think the way the system displays product attribute prices by default is very confusing to the visitor. Hopefully you will be able to make sense of the code reference provided in Liam's link. Otherwise, maybe one of the BC pros would be kind enough to help walk you through the price update code for attributes. Good luck on your site, Fabien.

  • Dynamic Buffering Based on Bandwidth and Datarate

    I'm trying to determine an initial value for NetStream.bufferTime based on the client's calculated bandwidth and the video's bitrate.
    As far as I can tell you can't do this, because you must have an initial buffer set BEFORE you call NetStream.play() (or use the default 2 seconds) and FMS does not call NetStream.onMetaData, where one would normally find the videodatarate, until after NetStream.play() is called.
    Even if you modify NetStream.bufferTime during the onMetaData call back it doesn't effect when the video starts playing or when the NetStatus event registers "NetStatus.Buffer.Full".
    Therefore my question is:
    How do I find the Video Data Rate BEFORE I call NetStream.play?
    -Or-
    How do how do I reset the initial bufferTime before acctual play back begins and the NetStatus event fires with "NetStatus.Buffer.Full"

    I think you are right. Without playing the stream you cant decide it datarate.

  • Use buffering and psp with datasocket-VIs and without any binding and shared variable node

    Hello,
    I'm using LV 8.5.
    I'm trying to develop a multiplatform (windows and mac os x) and multi-computer application. II want to get executables running on each device, communicating through the network. Communication process includes datas (such as images) and events messages (something like "Hello, I got an error" or "youyou, my work is done" or "I'm hereeeee!!!!...."). I do need a communication without any loss of data.
    I worked a lot and wanted to test a psp-based design, without any binding nor shared variable node (mac os...) using data socket VIs and SVE buffering.
    I managed to :
    - deploy shared variable library dynamically (even in an executable)
    - communicate between two PCs with datasocket VIs
    However, I never managed to enjoy buffering (even locally with one VI doing the deployment and writing datas and another one for reading).
    I worked hard (dynamic buffering setting, dynamic buffering watching like in  http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/buffering_data/ and in the example "DS send image" and "DS receive image" in the labview examples, trying to use "?sync=true" in the URL, etc...) but no way to get things work.
    I attached a jpeg of an example of receiver and sender. I use wait commands in both receiver and sender to test buffering
    Receiver do receive datas (the last written) but buffering doesn't work.
    Did somebody did that before ? (better than me...)
    Thanks
    Bo
    Attachments:
    Sender.JPG ‏87 KB
    Receiver.JPG ‏96 KB

    Hello,
    Indeed my problem has been solved. My error : in the While loop of the receiver VI, I always reactualize the PacketsMaxBuffer and OctetsMawBuffer parameters, what resets the buffer and make it appears ineffective.
    I now set  the PacketsMaxBuffer and OctetsMawBuffer values only once at the begining of the VI and the psp buffering works perfectly.
    Sorry for the desagreement...
    Bo

  • How to add fast forward - rewind functionality using flvplayback in as3

    hello,
    i am using flvplayback (dynamically add from as3), now to add fastforward - rewind functionality in it.
    Thanks,
    Vishal Parekh

    The docs say the inBufferSeek is intended for "Flash Media Server 3.5.3 and Flash Player 10.1" or higher and does not work in AIR3.0 for iOS. Do you meet those requirements? They call that protocol RTFMP.
    The doc also explains that when inBufferSeek=true, and you seek() or step(), an event is dispatched if it was successful. You should see if these events fire.
    From the docs:
    When inBufferSeek=true and a call to NetStream.seek() is successful, the NetStatusEvent info.description property contains the string "client-inBufferSeek".
    When a call to NetStream.step() is successful, the NetStatusEvent info.code property contains the string "NetStream.Step.Notify".
    If you don't see those events, you know you have an issue.

  • Media server dynamic buffer

    Hi,
    I am evaluating flash media server for usage of our camera
    application. Reason that I wanna use this is that mediaserver has
    ability for dynamic buffering.
    My question: is it possible to set up dynamic buffer if it
    not a pre recorded file. For example I am making a video of 60
    minutes and want to broadcast straight away - I save the file on
    mediaserver and mediaserver needs to broadcast staright away.
    People with a slow connection can start viewing the video after
    lets say 10 minutes, mediaserver calculates the connection. So when
    we finish recording they finish watching ten minutes later.
    Can anybody please help with this question and also if it is
    possible how to make the application?
    thanks Julie

    Have a look at the following article. It's was written for
    recorded streams, but I don't see any reason why you couldn't apply
    the same technique to a live stream.
    http://www.adobe.com/devnet/flashmediaserver/articles/fms_dual_buffering.html

  • Playback pauses and audio sync issues with live video stream

    I'm seeing playback pauses about every three seconds and audio sync issues with our live demo stream when using the OSMF/Strobe player.  It happens on both our 2Mbps 720p stream and our 480p 750Kbps stream so it does not seem to be related to higher resolution/bandwidth streams.  It also happens if I point directly to a stream asset or if I point to a .f4v with both streams listed for dynamic so it does not seem to be related to dynamic streaming specifically.
    The same live streams play back very well without pauses or audio sync issues in the Akamai's dynamic player and even slightly better with JW 5.2.
    I have viewed the OSMF/Strobe playback on three different laptops of various age (3 months to 2 years) and two are Windows and one is Linux.  I have also tried the various buffering options on the Flash Media Player Setup and Strobe setup and it has not made a noticeable difference.
    To see the stream with the Akamai player, go to:  http://live.kulabyte.com
    To see the stream with the OSMF/Strobe player, go to:  http://live.kulabyte.com/osmf
    I do not have JW set up for public viewing yet, but the two above show the distinct difference.
    We are really hoping to start pointing our customers towards the OSMF player because of the support provided by the community and Adobe, but we have to get the quality of the playback to be acceptable first.
    If someone has ideas on debugging I can PM the actual video assets to you.
    Thanks,
    Tim

    Hi Tim,
    You need to add this setting:
    dynamicStreamBufferTime=8
    The actual value can be higher or lower. The best practice is to use a value that is twice the keyframe distance. Anyway, try different values and see which performs the best for your content.
    I know that the setup page does not contain this option and it is not documented in the UserGuide. We simply missed it. Sorry.
    Also note that the dynamic buffering algorithms are not being used for dynamic streaming content. I tried to explain this here:
    https://sourceforge.net/adobe/smp/wiki/Dynamic%20Buffering/
    Looking forward to your confirmation that this solved your issue.
    -Andrian

  • Audio sync issues with Flip video and PSE9?

    If I upload directly from my Flip video camera to PSE9, the audio may start out as synchronized, but as the video progresses the audio becomes more and more out-of-sync.  If I use Quicktime to upload the video and export it as a Quicktime movie, the audio synchronization is fine in PSE9.  I have tried ALL the tech support suggestions, but no luck.  Does anhyone else have this problem?  I am running Windows 7.
    Thanks,
    Ron

    Hi Tim,
    You need to add this setting:
    dynamicStreamBufferTime=8
    The actual value can be higher or lower. The best practice is to use a value that is twice the keyframe distance. Anyway, try different values and see which performs the best for your content.
    I know that the setup page does not contain this option and it is not documented in the UserGuide. We simply missed it. Sorry.
    Also note that the dynamic buffering algorithms are not being used for dynamic streaming content. I tried to explain this here:
    https://sourceforge.net/adobe/smp/wiki/Dynamic%20Buffering/
    Looking forward to your confirmation that this solved your issue.
    -Andrian

  • Datagram test shows low success rate with Exalogic configuration (IB)

    The success rate from our Coherence datagram test is kind of low with Exalogic configuration
    ## with IB interface ##
    throughput: 1014 MB/sec
    16236 packets/sec
    received: 300000 of 779167
    missing: 479167
    success rate: 0.38502657
    ## with 1G ethernet ##
    ethernet throughput: 97 MB/sec
    69141 packets/sec
    received: 1600000 of 1885461
    missing: 285461
    success rate: 0.84859884
    The listener Coherence node has
    bond0 Link encap:InfiniBand HWaddr 80:00:00:4A:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00
    inet addr:192.168.34.91 Bcast:192.168.39.255 Mask:255.255.248.0
    inet6 addr: fe80::221:2800:1a0:ebf9/64 Scope:Link
    UP BROADCAST RUNNING MASTER MULTICAST MTU:65520 Metric:1
    RX packets:23621494301 errors:0 dropped:0 overruns:0 frame:0
    TX packets:23218231154 errors:0 dropped:1779 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:41399991507456 (37.6 TiB) TX bytes:36726866951912 (33.4 TiB)
    The Coherence publisher node has
    bond0 Link encap:InfiniBand HWaddr 80:00:00:4A:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00
    inet addr:192.168.34.90 Bcast:192.168.39.255 Mask:255.255.248.0
    inet6 addr: fe80::221:2800:1a0:fb55/64 Scope:Link
    UP BROADCAST RUNNING MASTER MULTICAST MTU:65520 Metric:1
    RX packets:23781098798 errors:0 dropped:0 overruns:0 frame:0
    TX packets:24186487356 errors:0 dropped:2229 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:39474424472056 (35.9 TiB) TX bytes:44425819197666 (40.4 TiB)
    Is there anything needs to be tuned/configured to use InfiniBand? Or any suggestions to resolve the issue?
    Thanks in advance.

    Hi,
    Is important that the IB NIC have it's MTU set to the maximum allowed value of just under 64KB to get the best performance.
    Try throttling the test to just under the data rate the test achieved by adding -txRate to the test parameters. You can continue to lower the throttle until packet loss is less then 1%. Coherence will do the same thing automatically to avoid the packet loss. Also you should plan on running a number of nodes on each blade to help spread the network load over more CPUs.
    For further information about the -txRate option, please take a look at http://docs.oracle.com/cd/E18686_01/coh.37/e18679/tune_datagramtest.htm
    Also, as can be seen at http://docs.oracle.com/cd/E18476_01/doc.220/e18480/solaris.htm note that Coherence on Oracle Exalogic dynamically adjusts buffering to the MTU of the interface. To use dynamic buffering, you must run the following parameters:
    ndd -set /dev/ip ip_reass_queue_bytes 16777216
    ndd -set /dev/tcp tcp_max_buf 8388608
    ndd -set /dev/udp udp_max_buf 8388608
    This applied for Linux Exalogic too.
    Hope this helps.
    Thanks,
    Cris

  • Dynamic live streaming on AMS 5 on AWS buffering and skipping

    I'm having a lot of trouble getting Adobe Media Server 5 on Amazon Web Services working with live dynamic streaming, I've done a of this on Flash Media Server 4.5 and am trying to duplicate what I have done there on AMS since I got an email that FMS 4.5 will be dropped soon.
    I have tried replicating my own setup from FMS 4.5 and I have also tried using the base install and following Adobe's tutorial. I get the same results in both events.
    First, the HLS streaming appears to work fine. I've watch it on several iOS devices with no problem.
    I use StrobeMediaPlayback for HDS streaming and that's where there are problems. The streams usually play fine at first and even transition well, then after a few minutes I start getting a lot of buffering and then video skipping. The longer it goes on, the more it buffers and the larger chucks of video get skipped. Sometimes I also get and error that says "TypeError: Error #1009"
    I am using FMLE and both it and the server are set to use absolute time.
    Any help would be appreciated!!

    Hi,
    Welcome to Adobe forums.
    May I know the FMS URL and the stream name you are using inside the FMLE and make sure you have full permissions on Adobe media server folder. And also check the streams folder inside the livepkgr folder and see if you are getting all the files created.
    And would you mind if you can send me the logs folder at [email protected] so that I can analyse this issue at my end.
    Regards,
    Puspendra

  • FLVPlayback buffering entire FLV before playback

    I've been trying to help a company with their video playback. They are using the FLVPlayback component to play some FLV files and also use XML caption files.
    For some reason some FLV videos are insisting on buffering the entire file before it begins to play. Then there are other FLVs that start playing just fine and buffer the remainder during playback.
    I've tried updating their FLVPLayback component to the 2.5 version but I get the same results.
    Could it have something to do with how the FLV files were created? I will suggest that they have all of the videos encoded again but I want to make sure that would actually effect the playback. I've never seen anything like this but honestly I usually make my own FLV player. But since they insist on using this component I am trying to work through it with them.
    Thanks!

    Look into the MOOV ATOM issue. The behaviour you describe is typical of a video file with the movie atom placed at the end of the video file rather than the beginnning. When placed at the very end, the file will not progressive download but must be completely downloaded first.
    More info here:
    http://renaun.com/blog/code/qtindexswapper/
    http://www.youtube.com/watch?v=8c8oqNX4b3k
    Best wishes,
    Adninjastrator

  • Controls in skin of dynamically loaded FLVPlayback component don't work

    can be viewed here: http://jimslounge.com/publicDomain/captainVideo/
    my code:
            public function WebSite() {
                this.stage.frameRate=60;
                com = new FLVPlayback();
                addChild(com);
                com.skin="SkinOverPlayStopSeekMuteVol.swf";
                com.skinBackgroundAlpha = .2;
                com.skinBackgroundColor=0x999999;
                com.skinAutoHide=true;
                poster=new cVidCropped();
                addChild(poster);
                stage.align=StageAlign.TOP_LEFT;
                stage.scaleMode=StageScaleMode.NO_SCALE;
                nenu = new Benu();
                addChild(nenu);
                nenu.up.addEventListener(MouseEvent.MOUSE_DOWN, scrollUp);
                nenu.up.addEventListener(MouseEvent.MOUSE_UP, stopUp);
                nenu.down.addEventListener(MouseEvent.MOUSE_DOWN, scrollDown);
                nenu.down.addEventListener(MouseEvent.MOUSE_UP, stopDown);
                nenu.addEventListener(MouseEvent.ROLL_OUT, fadeOut);
                nenu.addEventListener(MouseEvent.ROLL_OVER, fadeIn);
                nenu.btn_list.reset.addEventListener(MouseEvent.CLICK, playReset);
                stage.addEventListener(Event.RESIZE, fillBG);
                fillBG();
                makeMenu();
    I can't change vol pause or anything

    Are you sure there is nothing on top of this skin. I can see that set of buttons are above the layer where your movie runs.
    So do you have anything on top of the area of skin, then buttons of skin will not catch mouse over and click actions.
    Looks like something on top of the area of skin.
    what does that  fillBG() method do?

  • Buffered Input stream that increases internal buffer dynamically

    I need to parse an input stream until I find a <META> tag with character encoding. I then need to reset to the beginning of the input stream and start parsing the stream again with the correct character encoding.
    BufferedInputStream provides mark() and reset() methods which can be used to accomplish this task. However, the input stream data can be 1MB size and the only way I can think of forcing the BufferedInputStream to hold that content size is by specifying the size during construction.
    I don't want to initialize the content size during construction of the BufferedStream for every data file I parse because some documents could have the tag in the beginning of the file and it could be waste of memory.
    Question: Is there already a class which allows to set the maximum buffer size and which grows gradually to that size rather than during construction.
    Thanks for any help.

    DrClap, I connect to a webserver and request a file. I just use the InputStream returned by the HttpResponse object to read the file. So, the answer to your question is I can't close and reopen the file.
    Jawahar

  • FLVPlayback component pauses when enters in buffering mode

    Hi,

    why yes there is, pay for a media server so that the video
    doesn't need to download. however, if you set it to stream, it must
    be downloaded to memory to play, so when it is 'pausing', it is
    actually out of content to play until more of the file downloads.
    so there is no way to keep it playing, if you are progressively
    streaming the video.

Maybe you are looking for

  • Birthday calendar and list view

    Hey, I'm loving my iPhone and have been very lucky in avoiding issues others have had. I do have a slight problem, though. I enabled birthdays in iCal and allowed them to sync over to iPhone. The only problem is that these birthdays from last year ar

  • When i log in i can't access my verizon info such as bill or usage info

    When I try and log in under my Verizon it wont let me go any further. It has a continue button but it just stays there. I can't access my usage or my bil.

  • How to send query string by using form action

    Hai to all, I am new to this topic Ihave one doubt about jsp form action.... That is I am using input type is submit button <input type="submit" name="submit" value="Edit" onclick="indows.location.href=+sample.jsp?query=+editvalue+editname"> If I get

  • Cannot open Catalyst (FXP) files when the project reaches a certain size!

    Hi, I am a UI designer working for Playstation and have recently downloaded the trial of Flash Catalyst in order to test the validity of using it for game UI prototyping. This has worked well for me up until a week ago when I attempted to open the pr

  • Exception with regards to SharePoint Workflow Services

    Hi there, Since today we suddenly get the following exception on our development farm: Method 'get_IsClientValid' in type 'Microsoft.SharePoint.WorkflowServices.WorkflowServiceApplicationProxy' from assembly 'Microsoft.SharePoint.WorkflowServices, Ve