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

Similar Messages

  • 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

  • How to minimize video / audio delay in live meeting?

    I am developing a virtual classroom application. In two way
    live communication the delay with video/audio between participants
    is about 5 seconds, which is totally unaccaptable.
    Can it be improved with the client / server side coding or
    with improving / fine tuning the FMS or Windows server?
    Server specs are:
    FMS 2.04
    Windows 2003 SP2
    2.0 GHZ AMD Athlon 64 Processor 3200+
    1Gig RAM
    Plenty of disc space
    It's a dedicated server located in Germany. The users who
    tested were based in the UK.
    This problem could be a project killer if now solved
    :(

    turbostas - What a coincidence.
    I just hit the forums for the same issue. I currently use a
    Helix server and I want to convert to FMS 2 for on line speech
    communication classes.
    However when I use the Flash media encoder I get the same 5
    second delay in Live streaming.
    I have 8 Megs of available bandwidth and I am testing
    locally. There should be little or no lag. I opened a port and
    tested from home with the same scenario.
    I have a camera setup on a laptop using Flash media encoder -
    creating a live stream. Then I am simply using a swf to connect to
    it. The only thing I noticed is that the swf takes about 5-8 second
    to buffer before playing and I am unsure if it is the cause or not.
    Anyone come across this?
    I have tried every known setting and I get the same delay
    with these settings:
    12 FPS, 320X240, Bitrate 100
    25 fps, 320X240, bitrate 200
    60 fps, 320X240, bitrate 650
    I am open for suggestions?

  • 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

  • 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

  • Using http live streaming to stream data from a Webcam

    JavaFX 2.2 includes support for http live streaming: http://en.wikipedia.org/wiki/HTTP_Live_Streaming
    How could one create a http live stream from a Webcam and thereby enable a JavaFX application to view and hear the Webcam video in realtime?

    Bom Dia Saille,
    Eu acredito que o que você tenha hoje seja isso aqui (Desenho bem simplificado):
    Hoje o que você tem é o Aplicativo do Medidor + USB Driver controlando o seu medidor. Basicamente, sua aplciação está dividida em três camadas:
    Aplicação - Onde estão as funcionalidades principais do programa (interface com o usuário, apresentação de dados, geração de arquivos, etc.)
    VISA - Uma arquitetura de Software para controle de instrumentos. Basicamente, ele se comunica com o Driver USB para poder enviar e receber pacotes de dados através do barramento USB.
    Device Driver - Intruções de SW de baixo nível para controlar um periférico através de um barramento.
    No desenho, eu aponto duas camadas onde você pode tentar atuar para automatizar suas medições:
    Aplicação - Você pode usar o VI Server para controlar o Aplicativo do Medidor (Se este aplicativo tiver sido desenvolvido em LabVIEW, o que eu suponho ser verdade). No entanto é necessário saber se o desenvolvedor do produto permitiu isso (Veja Using VI Server to Pass Data Between a VI and a LabVIEW Executable). Outra alternativa é conversar com o fabricante para ver se ele desenvolveu alguma API (Application Programming Interface) para que você consiga controlar o instrumento diretamente.
    VISA - O LabVIEW Fornece uma API chamada NI-VISA para poder enviar e receber informações através de diversos barramentos (Veja Serial Instrument Control Tutorial)
    É possível acessar o Driver diretamente também, mas eu não recomendo. O resultado não compensa o esfroço!
    Espero ter esclarecido suas dúvidas e espero que você tenha sucesso na sua aplicação!!
    Atenciosamente.
    Felipe Flores
    Engenharia de Aplicações
    National Instruments Brasil

  • Debugging live streaming ingest protocol

    Hi everyone,
    I posted a separate question last week about live streaming protocols. I had been searching for documentation on fmp4 live streaming ingestion and found nothing, but afterward I found the Smooth Streaming protocol specification (MS-SSTR-- the forum won't
    let me link to it directly), which seems to apply to my use case. Now I've spent a few days trying to make it work and so far haven't been able to do so.
    I'm not looking for a canned solution; I'm looking for resources to help me debug the problem.
    According to the specification, I should be able to make a long-lived, chunked http POST request to my ingest endpoint, sending the fragmented mp4 data as the request body. I've tried to implement this without success-- I open the request stream and
    write 1000 byte chunks at a time, but the connection is reset after only one or two chunks. I can't tell if the problem is the data or the chunk size or something else.
    And if I mimic Expression Encoder 4, which seems to diverge from the spec and not send its data chunked at all, the connection isn't reset no matter how much data I send, but the video never makes it to the preview stream on the Azure portal.
    So the question is, how can I debug this? Is there any error log or diagnostic output I can access? Each time I try something new, it doesn't work, but I have no way of knowing whether I am getting closer to or further from a working solution. I'm a bit
    lost here, so help would be greatly appreciated.

    Hi Jason, and thanks for getting back to me.
    The IP security thing is a good thought, but I think I have that part taken care of already. I saw the option to restrict ingest to the IP I used to configure the channel from in the Portal, and I made sure to set it to Off. Also, I can stream successfully
    from Expression, which would have the same source IP.
    As for why I want to use Smooth Streaming, basically there are two reasons. First, it seems like the simpler protocol conceptually. I'm already generating fragmented mp4 files (though I think they might be packaged wrong; I can't really tell which part is
    causing problems), and it seems simple enough that I could implement it without turning to a third-party library (the part that's feeding the stream is written in C#, though I'd be willing to rewrite in C++ if necessary, and there's no RTMP client
    that seems trustworthy-- FluorineFX, for instance, seems to have ceased development years ago now).
    Second, while reading the RTMP spec, I realized that even if I had such a library it isn't clear how I would need to use it with Azure. It allows creating objects or invoking methods on the server, but I couldn't find any guide to which objects and methods
    might be supported. And the spec also doesn't define specifically what video format, codec options, or packaging method I need to use; essentially I would seem to have all the same problems I'm having with Smooth, only with the added difficulty of needing
    a third-party library to implement the spec properly.
    I guess the main problem is that I don't really know how close or far I am from success. Like I said, I think I am doing something wrong in how the video is encoded, but for all I know I'm being dropped because I'm feeding the data too quickly
    or slowly. (I can't find any documentation on how much data Azure can buffer or how it handles underruns when the video to be streamed live is generated on the fly and not tied to strictly realtime output). If there's more documentation on specifically how
    Azure uses or expects data from these protocols, it'd be very helpful.

  • 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

  • How to get live stream name

    Dear all!
    I use ffmepg to push a livestream to my flash media server. Then I want to catchup live stream to file.
    /opt/ffmpeg-1.1.1/bin/ffmpeg -i udp://238.1.1.2:1234 -filter:v yadif -acodec libfaac -ac 2 -ar 44100 -b:a 96k -af volume=5 -b:v 1000k -c:v libx264 -preset fast -pix_fmt yuv420p -s 720x476 -r 25 -threads 0 -t 300 -f flv "rtmp://10.84.70.120/dvrcast_origin/vtv22"
    After, I create an application that main.asc file is:
    application.onConnect = function (){
            name = Stream.name();
            stream = Stream.get(name);
            if(stream){
            stream.record();
    I can not catch live stream to file.
    Can you show me how to get a live stream name?
    Thanks!

    The error only appeare when there is no stream name in output.
    rtmp://10.84.70.120/dvrcast_origin/   --> error
    rtmp://10.84.70.120/dvrcast_origin/vtv22 --> ok.
    1. Could you re-try using the -ru option? for realtime publish?
    2. Have you compiled the ffmpeg with rtmp libraries?
         I can publish without error as the format above. So it is not problem.
    3. Are you able to record the udp stream onto the disk? (to verify there are no problems with the input stream? --> I've test with input without FMS. It's ok.
    4. Are there any error messages logged in FMS? (core logs/application logs)
    There is no error log file in logs/ folder.
    When I test with Flash media live encoder. I press "record" button. Everything is ok.
    The problem only appeare when I put stream with ffmpeg .
    Is there special anyconfig that effect it?

  • 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.

  • 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. 

  • Trying to find lowest latency setting for FMS 3.0 live streaming app

    Hi,
    I work for a technology company in the agricultural industry,
    and we recently bought Adobe FMS 3.0 for live streaming of an
    online auction application. Initially the tests were ok, but the
    stream latency is becoming a real issue. It starts at around 1s
    delay, which is barely acceptable, but an hour into the sale it
    stretches to 2-3s, and more. This is becoming a real deal breaker
    for the Flash solution that looked very promising at the beginning.
    We need to find the absolute lowest latency setting for the
    live streaming application supplied with FMS3.0.
    Low latency (1s max) and stable latency has highest priority,
    more important than picture quality or uninterrupted streaming.
    How can we achieve this? Are there any settings where I can
    tweak the stream latency?
    I am not a Flash expert, but I can find and modify the
    configuration files on the FMS Windows 2003 server.
    Any help would be immensely appreciated.

    On server side:
    FMS installs itself with default configurations optimized for
    Max CPU efficiency. Reducing/shutting-off FMS publisher queues
    using Application.xml config should help in removing the delay that
    you experienced.
    <Application>
    <StreamManager>
    <Live>
    <Queue enabled="true">
    </Queue>
    </Live>
    </StreamManager>
    </Application>
    Changing default setting to <Queue enabled="false">
    disables live publisher queues & aggregate messages ad
    therefore "the delay". (the delay should be reduced to <100 ms
    for a perfect kind of network or LAN)
    --> On client side: Do NOT use NetStream.setBufferTime API
    at all ! i.e. do not set any buffer on client side.; Flash player
    (upto 10, the current version) would try its best to keep the
    buffer around 0.1 seconds, which is the default value.
    OmicronPersei8,
    Which publisher are you using to publish the live stream?
    Sometimes , it is possible that a some fault at stream publisher
    may make buffer at flash player grow.
    I hope this would help !

Maybe you are looking for

  • How can I change the settings to be lower case pdf not upper case PDF?

    my processing site for our business will not allow documents to be saved in upper case PDF, but I can't find where to change it to lower case pdf....which I am told will fix the issue.

  • Sales from vendor consignement stock

    Is it possible to configure sales item catogory and schedule line to automatic withdraw stock from vendor consignement stock? I will assume that the special stock vendor consignement must be assigned to the item category, but there are no standard it

  • Volume decrease when compressing to MP3

    So I have my song all finished and fine-tuned, but when I send the song to iTunes, the volume is turned down substantially to what I have when I play the track in GarageBand. So am I doing something wrong, or am I stuck with this quiet track?

  • My Safari won't update, Software Update says there's nothing to update but gmail does

    According to my Mac all my applications are up to date. But when I go check my gmail it says safari is out of date and needs to be update, however my mac says that there is nothing to update. I have an older MacBook and I am not sure if that is the i

  • Launch problem with JAVAW

    I have a jar file containing a manifest file specifying the main class. When I launch the jar file with java -jar myjar.jar the application is launched correctly. But when I use javaW -jar myjar.jar (with the same jar file) I have a Java Virtual Mach