Skip to main content
Participant
August 6, 2009
Question

We are having problems with choppy, slow and delayed live video streaming

  • August 6, 2009
  • 1 reply
  • 2351 views

Hi, we have installed FMS on our godaddy server to work with and used live video streaming services. We are having problems with the video quality being choppy, slow and pauses continuously during live broadcast and motion. We can't figure what is wrong; video needs to be flawless and in high quality. The godaddy server is running:

Red Hat Fedora Core 7

Intel Core 2 Duo - 2.13 GHzRAM

2 GB RAM

250 GB Total Disk Space

So here is the issue in detail with our code, any help would be greatly appreciated. Thanks.

I am facing below mentioned problem regarding video broadcasting with adobe flash media interactive server (Developers version).I am using DVRCAST for recording video from a webcam and broadcasting the same live.please find video settings below.
    width:320
    height:240
    fps:15
    quality:90
    bandwidth:150
    buffer time:0.01

Our problem is that videos are not playing smoothly in application. The motion is getting paused and inturreped in time of broadcast live.

I downloaded and checked the recorded flv files from server and found the recorded file also has same problem. So this problem is appearing in time of streaming the video from client computer to fms server. if anyone can advise me how to solve this problem, I would appreciate it.

This problem is not appearing when i am testing the application in my localhost.

My code for live streaming mentioned below
  private function publishCamera():void {
   cam = Camera.getCamera();
   cam.setMode(cameraSettings.width,cameraSettings.height,cameraSettings.fps);
   cam.setQuality(cameraSettings.bandwidth,0);
   cam.setQuality(cameraSettings.bandwidth,cameraSettings.quality);
   cam.setQuality(0,cameraSettings.quality);
  
   mic = Microphone.getMicrophone();
   ns = new NetStream(nc);
   ns.client = new CustomClient();
   ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
   ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError);
   ns.attachCamera(cam);
   ns.attachAudio(mic);
   ns.bufferTime=0.01;
   ns.publish(stream, "record");
  }
        private function onNetStatus(event:NetStatusEvent):void{
   trace(event.info.code);
   switch(event.info.code){
    case "NetConnection.Connect.Success":
     publishCamera();
     displayPublishingVideo();
     displayPlaybackVideo();
     break;
    case "NetStream.Play.Start":
     trace("dvrFlag " + dvrFlag);
     if(dvrFlag){
      nsPlayer.seek(1000000);
      dvrFlag = false;
     } 
     break;
   }
  }

Thanks a bunch,

Steve

    This topic has been closed for replies.

    1 reply

    August 6, 2009

    Try lowering the camera quality (or setting it to 0), or increasing your bitrate to 400kbps or better.

    Right now, you're telling the flashplayer to maintain 90% quality at 150kbps. The flashplayer responds by dropping frames as needed to maintain quality. At 150kbps/90 quality @ 320x240, you can't achieve 15fps... so what you're seeing is the result of lots of dropped video frames.

    puzzle121Author
    Participant
    August 6, 2009

    Thanks, but doesnt that reduce the quality of the video and it will get blured. what will be solution to maintain qulaity?

    We need our video to be clear like live video broadcasts seen on ustream.com?

    August 7, 2009

    Yes, it will. When you are limiting bitrate, you have two choices:

    1. Maintain quality and drop frames as needed - camera.setQuality(80, 25000);

    2. Maintain framerate and reduce quality as needed - camera.setQuality(0, 25000)

    If you want a higher quality image, increase your bitrate.