NetStream.Play.InsufficientBW when streaming server side playlist

Hi
I am streaming pre recorded audio files (mp4) to an AIR client. I have tried two different solutions,
streaming the file directly with the NetStream.play("mp4:xxxxx.m4a") and creating a server side playlist, adding the
same sound clip and then streaming the playlist. The problem is, when streaming the playlist i get a few NetStream.Play.InsufficientBW, this does not happen when streaming the file direct. Both solutions uses bufferTime=1.0
I would like to use a server side playlist to implement a simple key solution so that the client dont know the full path to
the file, but instead sends a key to a custom server side function that looks up the file path and creates a stream for the client.
TIA
Ruben Chadien
FMS 4.0(linux)

Subscribing via playlist and playing file directly are two different things , as first one is live mode of play while other is playing recorded file - so the way streams are delivered are also quite different. Can you try setting higher buffer and see if that helps or if you don't want to set higher buffer, see if disabling AggregateMessages (you will find the tag in Application.xml under Live/Queue) helps

Similar Messages

  • Getting lots of "NetStream.Play.InsufficientBW" when there's plenty of Bandwidth

    Hi All,
    We've upgraded our production servers to 3.5.3 on Windows 2008, and now I'm seeing a lot of "NetStream.Play.InsufficientBW" statuses in our client app's log.  The server is streaming a very low bandwidth live video/audio stream, and the client has more than plenty of bandwidth to play it.  The stream doesn't exhibit any audio drops or skipped frames, and there are no message drops on the server side.  We have had clients complaining of random disconnects.  Does anyone know why I might be getting this message?  If anyone from Adobe could help with this, I'd greatly appreciate it.  Thank you.
    Best,
    -Costin

    Hi Asa,
    Thanks for the reply! 
    Unfortunately, I already had this in my Application.xml and it was still doing it:
         <Queue enabled="false">
    Any other work arounds at this time?
    In addition, I'm getting reports that users are getting disconnected.  After some arbitrary time, the server issues a "NetConnection.Connect.Rejected" for no reason, or at least none that I can find.  Is this also a known issue?  Please advise, since this is happening on our production systems.  Should I roll back to 3.5.2?
    Thank you!
    -Costin

  • "NetStream.Play.InsufficientBW" dispatched when there's plenty of Bandwidth

    Hi,  
         I am working on the Audio-Video application having two Flash Media Server, One is Flash Media Interactive Server and another is Flash Media Streaming Server.
    I am publishing stream on Flash Media Streaming Server and receiving stream from Flash Media Streaming Server. Flash Media Interactive Server  publish stream to live folder
    "rtmp://xxx.xxx.xx.xx/live" Flash Media Streaming Server from server side code.
    when application.onPublish of Interactive server dispatch then the stream published by interactive server  has been republished to live of the streaming server and from there client receive stream by
    making connection with live folder of Streaming server. Stream from streaming server received successfully but .....
    After few minute at receiving side receiving netStream Object dispatch "NetStream.Play.InsufficientBW" and stop receiving stream.
    Please help if anyone know any solution.
    Thanks.

    Hi,
              I want to add more to above, that for testing purpose I am using Flash Media Developement server as the Flash Media Interactive Server and Flash Media Streaming Server.
    Thanks

  • Can i build custom p2p stream server-side app

    Can i build custom p2p stream server-side app

    Hi,
    Here are some links that might help you :
    http://help.adobe.com/en_US/flashmediaserver/devguide/WSa4cb07693d123884520b86f312a354ba36 d-8000.html
    Thanks,
    Apurva

  • NetStream.Play.StreamNotFound when connecting to my AMS

    When I try and connect to the video on my AMS using Flash and AS3 I keep getting NetStream.PLay.StreamNotFound
    The exact same video streams on the AMS home page.
    I can stream from http://www.helpexamples.com/flash/video/cuepoints.flv but nothing from own server in flash.
    Here is my code with the IP Address removed
    import flash.media.Video;
    var video:Video = new Video();
    this.addChild(video);
    var mNetConnection:NetConnection=new NetConnection();
    mNetConnection.connect(null);
    var mNetStream:NetStream=new NetStream(mNetConnection);      
    video.attachNetStream(mNetStream);
    mNetStream.play("rtmp://000.000.000.000/vod/mp4:sample1_1500kbps.f4v");      
    mNetStream.client=this;
    mNetStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStreamStatusEvent);
    mNetStream.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    function onNetStreamStatusEvent(event:NetStatusEvent):void
         if (event.info.code == "NetStream.Play.Start")
              trace("NetStream.Play.Start");      
         if (event.info.code == "NetStream.Play.StreamNotFound")
              trace("Video Not Found");      
         if (event.info.code == "NetStream.Buffer.Full")
    function onMetaData(metadata:Object):void
    function securityErrorHandler(event:SecurityErrorEvent):void {
         trace("securityErrorHandler: " + event);

    Ok founbd a way to adjust the code to work with a f4v file over rtmp.
    However I am still not able to stream from an f4m. Can someone help?
    import flash.media.Video;
    var nc:NetConnection = null;
    var video:Video = null;
    var mNetStream:NetStream = null;
    video = new Video();
    this.addChild(video);
    nc=new NetConnection();
    nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
    nc.connect("rtmp://000.000.000.000/vod");
    nc.client = this;
    function onNetStatus(event:NetStatusEvent):void
         //Trace the value of event.info.code
         trace( event.info.code );
         /*Check for a successful NetConnection, and if successful
         call publishCamera(), displayPublishingVideo(), and displayPlaybackVideo()*/
         if( event.info.code == "NetConnection.Connect.Success" )
              mNetStream=new NetStream(nc);      
              video.attachNetStream(mNetStream);
              mNetStream.play("mp4:sample1_1500kbps.f4v");      
              mNetStream.client=this;
              mNetStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStreamStatusEvent);
              mNetStream.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    function onNetStreamStatusEvent(event:NetStatusEvent):void
         if (event.info.code == "NetStream.Play.Start")
              trace("NetStream.Play.Start");      
         if (event.info.code == "NetStream.Play.StreamNotFound")
              trace("Video Not Found");      
         if (event.info.code == "NetStream.Buffer.Full")
    function onMetaData(metadata:Object):void
    function securityErrorHandler(event:SecurityErrorEvent):void {
         trace("securityErrorHandler: " + event);

  • Stoping a client live published stream, server side

    Hello buddies,
    I have a very very important and urgent question.
    Suppose in some client a stream is being published live with
    the name 'A'. now, if some other client should and tries to publish
    with the same name ('A'), it will encounter a 'NetStream.BadName'
    status error code, to avoid that I think there should be some way
    to stop the stream('A') server side, and then let the 2nd client
    starts publishing with name 'A'. if so, how can I stop 'A' stream
    on server?
    Thank you so much for any help

    Let your server call a function (on the first client that
    publishes the stream A) that stops the publishing and shows show
    local message to that client e.g. "another client has started to
    publish a stream with the same name".
    It's unclear why you want such a system because you don't fix
    the problem ; you fix the symptoms. If you let clients publish a
    stream related to their loginname for example you will always have
    unique streams on your server.
    If you let them connect to an unique instance of your
    application you don't even have the problem of non-unique
    stream-names because inside every instance you can publish stream A
    again.
    Viewing clients would connect to each instance if they want
    to see that particular stream, like
    rtmp://yourserver.com/appnameXYZ/instancenameABC/A
    where A is the name of your published stream in instance
    "instancenameABC" , which is a child of application called
    "appnameXYZ".

  • Server-Side stream play problem

    Hello,
    I have a problem, which I am trying to solve for many nights already without any success.
    Everytime I try to switch or change a server-side stream, it starts lagging after 2 seconds of playing and sound disappears.
    Here are scenarios that result in that terrible lag:
    1. I create server-side playlist with stream.play() with reset=false; when it is time to play the next movie in the playlist, it starts lagging after 2 seconds.
    2. The same problems appears when I just switch streams. I installed FMF Feature Explorer and tried to launch SwitchStreams sample application: the same problem - server stream starts lagging after I switch streams with stream.play().
    I tried on different servers (local and remote), with different players (debug player of FMS Admin Console, Standard Flash videoplayer component, OSMF player, Flex video player). I also tried all possible flv, f4v and mp4 file compression options for video files - still the same problem.
    I have also tried literally thousands of Application.xml settings: changing buffer, buffer ration etc.
    Is there any tip where I should search for a solution?
    Thank you in advance

    JayCharles,
    Thank you for your reply.
    But in my case the client is subscribed to a stream on the FMS. And that stream is switching video files and handling the playlist. So, I don't see any possibility to listen to onPlayStatus on a client-side, as my client is only playing live stream and has no clue what is happening on the server side.
    Or I am wrong?

  • How to create a Playlist in flash Streaming Server

    Hi all,
            am new in the flash streaming server. I download the Flash streaming server and install it its work fine.
    I want know about the following question:
              how to stream the video using playlist?
              What is the format of the playlist?
              can i create a playlist from visual studio.Net and pass the value to the player?
    awaiting your reply,
    Thanks in advance.

    If you have bought Streaming Server License - you want to be able to create any server-side playlists as you cannot write you own customized code on Streaming Server.
    However what you can do is create client-side playlist using client-side code, place all your files in media folder of VOD and use them in your playlist. Playlist is nothing but set of plays which are queued up so you just need to issue NetStream plays with last parameter "reset" set to false - this is so that you do not reset your previous play.
    So it would be like
    ns.play("abc",0,20,true);
    ns.play("xyz",0,30,false);
    ns.play("uvw",0,20,false);

  • NetStream.Play.Stop and Complete fired early on RTMPE streams

    Hi there
    I am experiencing an issue with playback on RTMPE streams. after investigation it seems that the FMS server is firing the NetStream.Play.Complete message at random points, indicating that a stream has ended. This is happening and random points during the stream,  not even close to the end.
    The order of Status messages is as follows:
    Thu Oct 20 2011 04:15:17 PM :: NetStream.Play.Start : status
    Thu Oct 20 2011 04:32:40 PM :: NetStream.Play.Stop : status
    Thu Oct 20 2011 04:32:40 PM :: NetStream.Buffer.Flush : status
    Thu Oct 20 2011 04:32:58 PM :: NetStream.Buffer.Empty : status
    Thu Oct 20 2011 04:32:58 PM :: onPlayStatus : NetStream.Play.Complete
    As you can see roughly 17mins into playback...although the stream is 1 hour 24mins long
    I have tested this numerous times, and each time it is at a different point in the stream.
    Intermittently the NetStream.Play.InsufficientBW warning is being fired prior to NetStream.Play.Stop.
    I am using a player built on OSMF 1.5.
    Just need to know why these messages would be fired and how to handle them
    Thanks
    Steve

    Hi Steve,
    Thanks for the information. Did you check with flvcheck tool to see if the file is a valid FMS file ? If not, can you do that please ?

  • Streaming server 3.5.1 no script works except main.far (VOD)

    we own multiple FMS servers, interactive and now we installed
    a few Streaming servers.
    during the install process we provide the license key
    for the Stream server's we got from the adobe representatives
    in our country, and all seems well until we try to move an already used VOD
    script to the /opt/adobe/fms/applications/vod/ folder
    the script is named main.asc and replaces the main.far
    which comes with the out of the box VOD application.
    this script works on all Interactive servers but fails
    to work on the Stream servers.
    it simply fails silenty, no logs and no errors are written anywhere....
    so i thought the problem might be some feature i try to invoke
    in the code while streaming server does not support it, so i stripped
    the main.asc to be practically empty..
    application.onAppStart = function(){
        trace("application start");
    application.onAppStop = function(){
        trace("application end");
    application.onConnect = function( client ) {
        trace("accepting connection");
        application.acceptConnection( client );
    application.onDisconnect = function(client){
        trace("application.onDisconnect");
    yet the problem persists, perhaps we have wrong license key?
    does the streaming server allow scripting at all???
    ps: when i change the licence key of the streaming server to
    Interactive server's Key, all starts working...
    Any ideas ?

    Hi,
    The behavior you encounter with FMS Streaming Server edition is expected. The streaming edition only offers streaming capabilities as outlined athttp://www.adobe.com/devnet/logged_in/dmotamedi_fms3.html .
    As small gist from there :
    Flash Media Streaming Server (FMSS) is a brand new product offering. This low-cost server is limited to live and video-on-demand (VOD) applications only. It cannot be used for multiway applications such as video chat, server-side playlists, or server-side recording. Flash Media Streaming Server does not support the new plug-in architecture or server-side ActionScript API. Edge or Origin configurations are not available in the streaming server either.
    So if you are looking for server-side scripting support and other features like C++ plug-in framework etc to build interactive/ collaborative applications you need to choose the Flash Media Interactive Server.
    Thanks
    Mamata

  • Live video stream play permission on server-side

    I have a live video stream application one-to-many for
    example, and i want to send video only to few clients, not to all.
    Like:
    quote:
    application.onConnect = function(client, canSeeVideo) {
    // canSeeVideo = boolean
    this.acceptConnection(client);
    if (!canSeeVideo) client.receiveVideo(false);
    // and after this, can be swich to TRUE or FALSE ?
    client.receiveVideo(true);
    I only want to do restriction for Video, from server-side
    with FMS, or if can't be possible.. how can i put for example a
    black screen on video ? :) and after can be removed, etc...

    1.
    necesary client.receiveVideo() and client.receiveAudio()
    server-side functions
    Thank you fmslove for you trying to help me but
    client.readAccess property can NOT be set after client
    connection was accepted, and for me is useless. Any other
    solution(s) ? i strong recomend to Adobe FMS dev staff to implement
    this feature because is refering to security client-side solution
    from server-side. I have bad experience with users trying to modify
    the Flash Player (plug-in) run memory and set values for my swf
    without my accept, and is nothing that i can do from client-side
    like NetSream.receiveVideo(false) on many-to-many or one-to-many
    live A/V stream.
    2.
    a necesary server-side video encoder solution better than
    Sorenson Spark
    If in future FMS staff from Adobe will implement this
    necesary security feature on server-side like a copy of
    NetSream.receiveVideo() function from client-side, i will be happy
    if i see a solution to encode LIVE video stream on server-side
    because
    Sorenson Spark video encoder built-in Flash Player (plug-in) is
    very old and unuseful.
    If this can't be possible i hope the future Flash Player
    version (10) will have a better video encoder built-in than
    Sorenson Spark !!!

  • Stream.play(live_from_FMLE, -1, 4500, true) got no NetStream.Play.Start

    Hi,
    I am stuck on one random issue that I really need your help.
    I got a bunch of live stream from FMLE, say: "FMLE_channel1", "FMLE_channel2", "FMLE_channel3". And then on the server side, I created several corresponding republished stream called "channel1", "channel2", "channel3".
    On periodical basis, we call Stream.get("channel1").play("FMLE_channel1", -1, 10, true) every 10 seconds. Similar things were done on the second channel & third channel.
    Soon after the above Stream.get("channel1").play() call, I should get the following events in sequence:
    info :NetStream.Unpublish.Success
    info :NetStream.Publish.Start
    info :NetStream.Play.Reset
    info :NetStream.Play.Start
    In the above case all are happy. Clients can view channel1, channel2, channel3 well.
    But then after a while, one of the three channels, in most case it would be channel1, will not be viewable. With the server trace info, I found that after the Stream.get("channel1").play() call, only the following two events exists:
    info :NetStream.Unpublish.Success
    info :NetStream.Publish.Start
    i.e. I was missing the play.reset and play.start event.
    I further checked and confirmed that the FMLE was publishing all three channels fine to the server. I was able to view the "FMLE_channel1" from flash clients, but not the republished "channel1".
    Can anyone help to solve the problem please? the version is FMS 3.5.0. Thanks.

    Thank you very much for your effort in helping.
    1. How do I check the said logs?
    2. I will upgrade to 3.5.4 and have a try. Unfortunately I am out of town now and could not do it in the new few days.
    3. When you asked about repeatedly calling of Stream.get(), are you implying some kind of memory leaks? Or do you have other implications in your mind? We are handling an array of broadcasting channels. Of course, we could've saved the handles in an array, but we did it the way as it is now for the sake of simplicity.
    4. Another clue/observation: say for a F4V clip of 44 seconds (e.g. name it as example.f4v). If I call Stream.get("channel1").play("mp4:sample.f4v", -1, 45, true) at one point, and after 45 seconds, if I do another call of Stream.get("channel1").play("mp4:sample.f4v", -1, 45, true), "channel1" will show no video after the second call. Please note in this example, the video length is actually 44 seconds, but I treat it as if it is 45 seconds.
    Your continued help will be highly appreciated!

  • How to know the status of stream played using NetStream.Play method ?

    I am playing stream data published by third party server
    similar to FCS by creating NetStream object and calling Play method
    on it. Now the problem is, sometimes I am not able to view the
    published stream by playing it using Play method. Also it does not
    call OnStatus method of NetSteam. How can I know the status(or
    result) of Play method ?
    Note: NetConnection gets created successfully. I get status
    of NetStream.Play.Start / Stop when I put local flv as a first
    parameter to Play method

    Hi
    There are SQL reports in the following zip which has SQLDeveloper reports for runtime objects such as mappings and process flows;
    http://www.oracle.com/technology/products/warehouse/htdocs/Experts/owb_sqldeveloper.zip
    Cheers
    David

  • Client side playlist with dynamicaly streamed items possible?

    Hey,
    is there a way to define a client side playlist like this:
    ns.play(      "stream1",      0,      30              );
    ns.play(      "stream2",      10,    -1, false      );
    ns.play( "     stream3",      0,      -1, false      );
    ns.play(      "stream4",      30,    120, false    );
    but instead of a single videofiles for each playlistentry use dynamic streaming?
    I know how the DynamicStream class is working and how to set it up but i can't find any information if it is possible to combined those two techniques.
    Thanks for any suggestions.

    Yes upto a certain extent you can achieve it, see below approach if it suits you. You can have playlist as xml file and each video tag will represent single item in playlist. So suppose you have xml file with video tags as below:
    <videoList vodurl="rtmp://localhost/myapp">
    <video>
                      <label>flv:stream</label>
                       <data>stream1,stream2,stream3</data>
                       <bitrate>100,200,350</bitrate>
    </video>
    <video>
                       <label>mp4:stream</label>
                        <data>mp4:stream1.mp4,mp4:stream2.mp4,mp4:stream3.mp4</data>
                        <bitrate>100,200,350</bitrate>
    </video>
    </videoList>
    Then you need to create dynamic stream item("dsi") as below for each video tag and create array of "dsi".
    var dsi:DynamicStreamItem = new DynamicStreamItem();
    dsi.addStream( "mp4:stream1.mp4", 100);
    dsi.addStream( "mp4:stream2.mp4", 200 );
    dsi.addStream( "mp4:stream3.mp4", 350 );
    ds.startPlay( dsi );
    Then iterate each item of array, while you are playing first item of array then based on netstatus messages like "NetStream.Play.Complete" you can decide to move on to next item in array. So in this way you can create client side playlist.
    Regards,
    Amit

  • Current buffer got cleared when netstream.play.transition happen for rtmp

    recently we have came across this issue where everytime when the dynamic stream switch happen the buffer will be reset back to 0. This is causing the player often run into buffering state.
    We are not sure what is the cause of this, since there were little change in the code on the client side, only change that might be related is that we have upgraded the stream server to adobe flash media streaming server 4.
    Anyone have any idea what might be causing this?

    I have added a bug to the bugbase requesting that Adobe upgrade the Netstream for Androids to support the bufferTime property.
    https://bugbase.adobe.com/index.cfm?event=bug&id=3648268
    Please add your vote if you are having the same issue.

Maybe you are looking for

  • 3rd party order processing GR movement type

    Hi In 3rd party order processing the goods are delivered to customer from vendor directly, but for billing purpose we do the GR at plant level(against purchase order)>invoice>Billing Physically stock is not delivered to the plant, so when we do the G

  • New Macbook Pro set up is stuck on iCloud Drive upgrade screen

    I am setting up a new macbook pro and have chosen the option to upgrade to iCloud Drive. After choosing to continue with that option, the spinning ball has been active for quite sometime. Is this normal? I am afraid to force restart as it is a brand

  • Total result  & formula result  is wrong in query out put

    Hi BW gurus I have issue with total result and formula result my requirement Formula for hours is ( total time / Counter / 60) hours  column displaying    14.2      2.4      3.4 Total - 5.6   not  20    then I setp calculate results to SUM  now total

  • HERE Transit Brisbane

    Hi Nokia and HERE Transit. The Nokia HERE Transit app seems to have a corrupted database for Brisbane, Australia since the weekend. Bus journeys no longer appear in search results. And train information is incorrect and not valid. If your development

  • CL_ABAP_STRUCTDESCR

    Hello, I have to create a internal table like the structur of a DB-Table of a remote system. Therefore i wanted to something like the following   l_r_descr_ref ?= cl_abap_structdescr=>describe_by_name( p_name = l_active_table_name ).   CREATE DATA l_