Live Stream - Huge Delay

Hello,
We have major issue with delayed video.
The delay may reach up to 10-15 minutes. When we restart
Flash Media Encoder (Stop/Start) the delay is reseted.
We are using Flash Media Encoder for quite some time with
Flash Media Server 2.0. Both are the newest version.
Latency between Flash Media Encoder and Server is about
200-300ms. I assume there is a bug and the video stream does not
get synchronized.
I can provide you an access to demo machine if you like.
We observed this on several machines.

Hi,
You won't have much luck with gettng that delay down unless
you have less than 100 ms of latency.
My understanding is that because of a non optimal condition
existing between the server and encoder the server will basically
compensate by buffering longer. You could also see a stream with no
delay inititally but if network conditions change the delay could
grow and because the server doesn't "catch up" the delay will
remain until the encoder is restarted.
Hope that helps,
Adam Walsworth
http://www.adamwalsworth.com

Similar Messages

  • How do I create a variable video delay of a live stream...

    I have a live video feed from my webcam in my Flash Application. I have a second video window next to it that I want to place a variable delayed video of the live stream. Therefore, I need to save the video stream in memory/disk and create this variable delay, say 5-60 seconds. As well as, continue to capture the live stream. The camera I am using suppots H.264 encoding.
    How do I create a variable length queue or buffer to hold the video stream coming into the flash application. Do I create a memory variable or write this to disk ? I have been looking over the ActionScript 3.0 documentation and I can not figure out how to code this either way ( as a memory variable or write to disk queue ).
    I want to be able to change the delay, view the delay stream in slow motion and scrub through the delayed stream.
    I would like to do this with out having to use Flash Media Server.
    Thanks,
    Bob

    I am sure it is practically impossible to accomplish that on the client side. Although theoretically it is conceivable to use NetStream.appendBytes() but it requires an extremely complex implementation.
    I suggest you look into FMS DVR capacities:
    http://help.adobe.com/en_US/flashmediaserver/devguide/WS236AE81A-5319-4327-9E44-310A93CA09 C6Dev.html

  • Realtime delay of 'live' stream

    Hello,
    I'm speccing a job for a client who wants to use live streams
    and have cutomers phoning in to direct the show as it happens in
    the studio. One consideration is how 'live' is live streaming in
    flash. Does anyone know roughly what the delay from studio camera
    to end users machine is? I intend using a high-spec machine with
    good video card, flash media encoder, and Limelight Networks as the
    server provider.
    Thanks in advance
    Mike

    yes, we too have a very small delay in distributing the
    signal.
    But remember the buffer settings in the client. Typically
    that would be 3 seconds and anything smaller than that may result
    in a jiggly video stream.
    The internet itself was not meant as areal-time delivery
    medium, so delays may vary, opposite to classic media like tv or
    radio, where there were no varying delays (until dvb-t came up (=
    jan

  • FMS server buffer delay 5-6 sec live stream ?

    FMS server buffer delay 5-6 sec live stream ?

    To reduce the delay you can try disabling aggregate messages.
    You need to set Streams/EnableAggMsgs in Server.xml and Client/AggregateMessages in Application.xml to false.
    See more about Aggregate messages here : http://help.adobe.com/en_US/flashmediaserver/configadmin/WS5b3ccc516d4fbf351e63e3d119f2925 e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2925e64-7feb
    Hope this helps.
    Thanks,
    Apurva

  • How to make delay Live Streaming ?

    Hi everybody,
    I follow this turorial make HTTP Live Streaming From Camera, using FMS 4.5, and FMLE 3.2, and I success.
    Now I need make delay (1~10 minutes) on HTTP Live Streaming. Example, current now my camera is capture, and client (end-user) can only see the signal (video) is obtained from the camera 10 minutes ago.
    P/s: I'm using Amazon Cloud, specify EC2 (include FMS 4.5)
    Can I do that ?
    Thanks,
    Huy Mai

    Hi Bharat,
    I read your link, and focus in MaxQueueDelay & MaxQueueSize.But its seem can not use in my case. I try config Application.xml follow it, and not success for my purpose , I think "MaxQueueDelay"  is specifies how to often the server will flush the message queue, in miliseconds.
    My puporse is client can view video, late 10 minutes than what is obtained current from camera
    Will I be missing anything?
    Mai Huy

  • Latencies / delay in live streams

    I'm doing some tests with FMS and live streaming, but I observe quite long delays.
    When the stream is first accessed, the latency is around 3-5 seconds, which is acceptable.
    But as we watch the stream for about 30 minutes or more, the latency grows to around 20 seconds, which is just too much.
    What settings should I look at to keep the latency / delay minimal?

    You're going to want to look at the bandwidth that you're pushing into your FMS system and the bandwidth you're getting out.  Usually when you see evolving live latency it's because there's a bandwidth bottleneck somewhere and you're dropping frames and falling behind as FMS attempts to deliver a stream that's too big for the destination.  If not then perhaps it's something else, but you'll want to eliminate that possibility first as it's the most common.
    Asa

  • IOS RTMP live stream audio

    Hi guys hopefully some of you will be able to help me.
    I am trying to stream audio from a live RTMP feed using the NetConnection and NetStream classes. I've managed to get my app running no problem on Android, however I am having some major difficulties getting it to play the audio back on iPad. Interestingly it works in the device emulators when debugging, however I'm assuming this is not really an accurate representation. I've tried streaming the RTMP in both AAC and MP3, but with no luck from either. I can verify through debug that it has connected to the stream, however I just get no audio playing.
    Everything I've read about seems to suggest that this is possible on IOS as I'm only interested in audio and not video. Can anyone help?
    Code sample below (it's quick and dirty! ).
    THanks in advance!
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark" title="Audio" creationComplete="init()">
              <s:layout>
                        <s:VerticalLayout paddingLeft="10" paddingRight="10"
                                                                  paddingTop="10" paddingBottom="10"/>
              </s:layout>
              <fx:Script>
                        <![CDATA[
                                  import flash.media.Video;
                                  import flash.net.NetConnection;
                                  import flash.net.NetStream;
                                  import mx.core.UIComponent;
                                  private var vid:Video;
                                  private var videoHolder:UIComponent;
                                  private var nc:NetConnection;
                                  private var defaultURL:String="[STREAM]";
                                  private var streamName:String="[STREAMNAME]";
                                  private var ns:NetStream;
                                  private var msg:Boolean;
                                  private var intervalMonitorBufferLengthEverySecond:uint;
                                  private function init():void
                                            vid=new Video();
                                            vid.width=864;
                                            vid.height=576;
                                            vid.smoothing = true;                           
                                            //Attach the video to the stage             
                                            videoHolder = new UIComponent();
                                            videoHolder.addChild(vid);
                                            addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
                                            grpVideo.addElement(videoHolder);
                                            connect();
                                  public function onSecurityError(e:SecurityError):void
                                            trace("Security error: ");
                                  public function connect():void
                                            nc = new NetConnection();
                                            nc.client = this;
                                            nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                                            nc.objectEncoding = flash.net.ObjectEncoding.AMF0;
                                            nc.connect(defaultURL);      
                                  public function netStatusHandler(e:NetStatusEvent):void
                                            switch (e.info.code) {
                                                      case "NetConnection.Connect.Success":
                                                                trace("audio - Connected successfully");
                                                                createNS();                
                                                                break;
                                                      case "NetConnection.Connect.Closed":
                                                                trace("audio - Connection closed");                
                                                                //connect();
                                                                break; 
                                                      case "NetConnection.Connect.Failed":
                                                                trace("audio - Connection failed");                
                                                                break;
                                                      case "NetConnection.Connect.Rejected":
                                                                trace("audio - Connection rejected");                                  
                                                                break; 
                                                      case "NetConnection.Connect.AppShutdown":
                                                                trace("audio - App shutdown");                                 
                                                                break;         
                                                      case "NetConnection.Connect.InvalidApp":
                                                                trace("audio - Connection invalid app");                                   
                                                                break; 
                                                      default:
                                                                trace("audio - " + e.info.code + "-" + e.info.description);
                                                                break;                                                                                                    
                                  public function createNS():void
                                            trace("Creating NetStream");
                                            ns=new NetStream(nc);
                                            //nc.call("FCSubscribe", null, "live_production"); // Only use this if your CDN requires it
                                            ns.addEventListener(NetStatusEvent.NET_STATUS, netStreamStatusHandler);
                                            vid.attachNetStream(ns);
                                            //Handle onMetaData and onCuePoint event callbacks: solution at http://tinyurl.com/mkadas
                                            //See another solution at http://www.adobe.com/devnet/flash/quickstart/metadata_cue_points/
                                            var infoClient:Object = new Object();
                                            infoClient.onMetaData = function oMD():void {};
                                            infoClient.onCuePoint = function oCP():void {};        
                                            ns.client = infoClient;
                                            ns.bufferTime = 0;   
                                            ns.play(streamName);  
                                            ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
                                            function asyncErrorHandler(event:AsyncErrorEvent):void {
                                                      trace(event.text);
                                            intervalMonitorBufferLengthEverySecond = setInterval(monPlayback, 1000);
                                  public function netStreamStatusHandler(e:NetStatusEvent):void
                                            switch (e.info.code) {
                                                      case "NetStream.Buffer.Empty":
                                                                trace("audio - Buffer empty: ");
                                                                break;
                                                      case "NetStream.Buffer.Full":
                                                                trace("audio - Buffer full:");
                                                                break;
                                                      case "NetStream.Play.Start":
                                                                trace("audio - Play start:");
                                                                break;
                                                      default:
                                                                trace("audio - " + e.info.code + "-" + e.info.description);
                                                                break;
                                  public function monPlayback():void {
                                            // Print current buffer length
                                            trace("audio - Buffer length: " + ns.bufferLength);
                                            trace("audio - FPS: " + ns.currentFPS);
                                            trace("audio - Live delay: " + ns.liveDelay);
                                  public function onBWDone():void {
                                            //Do nothing
                                  public function onFCSubscribe(info:Object):void {      
                                            // Do nothing. Prevents error if connecting to CDN.    
                                  public function onFCUnsubscribe(info:Object):void {    
                                            // Do nothing. Prevents error if connecting to CDN.    
                        ]]>
              </fx:Script>
              <s:Group id="grpVideo">
              </s:Group>
    </s:View>

    Just an update on this for anyone coming along after me.
    I've managed to get this working on MP3 but not AAC (I guess AAC just isn't supported?).
    My problem was the buffertime. The docs seemed to indicate it shoudl be set to 0 for live streaming, however switching it to "1" solved my problem on the particular stream I was pointing at.
    So essentially justchanged the above line:
                                            ns.bufferTime = 0;  
    to
                                            ns.bufferTime = 1;  
    Would be great to find out if anyone has gotten AAC working however...

  • Live stream - buffer and replay

    Hi,
    i have this issue, which i'm pretty sure isn't feasible, but my boss insists that i give it a try, so here we go:
    i've developed a video player being used by a commercial TV channel, both for its VOD and live stream.  all the video content - live & VOD - is supplied via external CDN, over which i have little (or even no) control.
    what we're trying to achieve now, is while the channel's live stream goes on commercials break, to display our own (website's) ads.  we can tell when the break begins and when it ends, but we cant' know in advance how long it'll last.
    so our plan is to start running our own ads as the break begins, and when it ends - in case the ad is still running, buffer and 'record' the live stream, so when the ad ends the player will display the live stream, but from when its commercials break ended, with a short delay.
    is such a thing even possible?  i mean displaying live stream with a deliberate delay?
    thanks in advance for any thought or idea,
    eRez

    Hi,
    One way you can do this is to use php script to identify the user agent of the client (http://php.about.com/od/learnphp/p/http_user_agent.htm) and then generate dynamic webpages based on the client (HLS for iOS based clients and HDS for flash based clients). As Apache can only serve static webpages, you'll need to use CQ/MySQL/something else. I've personally not attempted to do so, but this may be a good starting point : http://www.ibm.com/developerworks/linux/tutorials/l-php/
    Hope this helps.
    Thanks,
    Apurva

  • ITunes Festival live streaming not working

    Every time I go to the iTunes Festival page in the iTunes Store I keep getting the message of:
    "This computer does not support iTunes Festival live streaming."
    Why not? Does it only work with apple computers (not windows)?  I wanna watch Paul Simon!!   =D
    -Michael

    Lucky for you skalarocks. It's 16th and I still cannot access any of the previosu concerts on iTunes!
    I contacted customer support who advised
    "I have done some research for you and found that there is a delay in the on demand streaming. "
    And then directed me here. I think I am leaning towards an earlier comment about Apple Techs not having a clue.
    I suppose they are giving it away so there is no profit in it they wont want to support a fix. Not goign to that much trouble after all skalarocks

  • Live Stream with Slideshow (jpg), possible?

    Hi guys,
    I'm wondering if the live encoder has the ability to sync images with a live stream. I'd like to store all the images in one folder and push through a call on each slide during the presentation for the image to appear on screen. Obviously it'll never be 100% live but a little delay isn't a problem.
    Accordent currently do this with PresenterPlus but i'm in search of a flash version which seems to be Live Encoder minus the slideshow.
    Thanks in advance,
    Blake

    On the Macintosh side there is the Camtwist app which allows you to do this and it works smoothly with FMLE. On the PC side I´m not sure but there just got to be more apps capable of this than on the mac side.

  • AIR SDK 16 (and 15): live stream video pauses when from non-iOS to iOS

    Using either sdk 15 or 16, when live streaming video through media server, if I go from iOS to iOS devices, no issue. If I go from non-iOS device to iOS device, the non-iOS device receives the video and audio fine from the iOS device, but on the iOS device the video it receives freezes (almost from the start, after a couple of frames, then long, long pause of freeze - minutes long - then a few more frames, then freezing, etc.) - the audio is fine, it appears to be just the video. I have tested this with android to android (fine), android to desktop (fine), iOS to iOS (fine), android to iOS (freezing video only on iOS side), iOS to desktop (freezing only on iOS side).

    VideoTexture is a HUGE improvement for video on Windows and iOS. I am testing on Windows 8 and iPhone 6, but VideoTexture is still in beta and will take a few more months to get the kinks worked out. It is working for me on iOS sometimes, and whenever it works the pixels have a transparency applied to them. I have logged that pixel transparency bug here:
    https://bugbase.adobe.com/index.cfm?event=bug&id=3936111
    Also you will notice that Adobe has mentioned the following in the known issues section:
    [Air Desktop] [Video Texture] Video is not playing if texture is used as ConcreteTexture of starling.(3949908)
         (Release Notes | Flash Player® 17 AIR® 17)
    On iOS the VideoTexture seems to work for MP4s loaded directly from the file system, but RTMP is not ready yet. But when it is ready, I suggest that you adopt it immediately since VideoTexture is where Adobe is focusing it's video efforts.

  • When i visit sites with live streams sites (justin ustream) browser freezes

    Hi
    I got a huge problem everytime i visit a site like justin.tv veetle ustream freedocast or only a site with a live stream in it my browser freezes and i ned to close it it stops to react sometimes i hear a sound on justin but the picture of the stream is frozen and my browser does not react back
    when i watch livestreams on popout it works thats weird
    i think it all started after i deinstalled msn but i m not sure about that pls someone help me i tried on ie or firefox browser both same problem
    i use windows vista 32 bit version on an asus laptop

    Try to create a new profile as a test to check if your current profile is causing the problems.
    See "Creating a profile":
    *https://support.mozilla.org/kb/profile-manager-create-and-remove-firefox-profiles
    *http://kb.mozillazine.org/Standard_diagnostic_-_Firefox#Profile_issues
    There may be extensions and plugins installed by default in a new profile, so check that in "Tools > Add-ons > Extensions & Plugins" in case there are still problems.
    If the new profile works then you can transfer some files from the old profile to that new profile, but be careful not to copy corrupted files.
    *http://kb.mozillazine.org/Transferring_data_to_a_new_profile_-_Firefox
    You can also try to reset Firefox:
    *https://support.mozilla.org/kb/Basic+Troubleshooting

  • Unable to watch live streaming on nrl app

    Have not being able to watch the live streaming on nrl app hasn't been working this whole season.. Will not load, have wifi and fast internet.. Continually being charge for a service that isn't working.

    Thanks. Availability of live match videos is based on broadcaster times. This means that all Fox Sports matches are live and availability of Channel Nine matches is based on broadcaster times. Channel 9 games will be broadcast at the same time as the free to air signal in your territory and therefore may be delayed.
    That means for QLD, the Broncos vs Knights is Live, with the Rabbitohs vs Sea Eagles delayed and in NSW it is the reverse. 

  • HDS stream with delay

    Hi all,
    there is something to set in OSMF property, similar to the smooth streaming's "live backoff"?
    In plain words something that allows to start the live video with delay, specially with HDS stream.
    Thanks in advance
    m

    Only about 5% - 7% consumed by FLE
    The rest is almost idle.
    I allready switch to high priority and remains the same...
    Message was edited by: eduardoluis2010

  • Why does an Interruption to a HTTP Live Stream (HLS)  cause the recorded version to play ?

    We have set up Adobe Media Server to stream HLS. It all works great but when the stream is interupted and we start it again it draws in the recorded asset instead of continuig the live stream. What are we doing wrong?

    Hi ariestav,
    This is known to have some initial lag in the http streaming. HTTP streaming unlike RTMP requires a playlist to be generated first. Since we don't store any playlist on to the disk, this is generated just-in-time as you request. Also, HTTP unlike RTMP requires generated a particular size chunk and downloading. But most solutions around HTTP don't bother from this, because they are supposed to be run behind a HTTP caching system. So lag and all is just for the first user. You can't imagine 1000 HTTP subscribers all hitting the origin server.
    Though I might give you some hints to reduce the lags. For this you try reducing the HTTP chuck size. This is by default configured at 8 seconds. You may try setting it around 4 seconds. You can edit HLSMediaFileDuration in httpd.conf under hls-vod tag to 4000.
    For better seeking purpose, please try keeping the keyframe interval in your file a factor of HLSMediaFileDuration. Hope this helps http://knowfms.wordpress.com/2011/09/22/best-practices-for-setting-ios-media-file-duration /
    Though I said above some initial lag is known, but that doesn't mean it should be too much to be unbearable. If you feel this is too huge, please consider sending me your test file. I will test it out for any possible bugs. You can send me at [email protected]
    Good news is that we are working on improving the performance as max possible.
    For other issues like artifacts/ choppy playback, also please provide the details about
    1. file encoding settings
    2. Device and ios-version on which you tested.

Maybe you are looking for