Media Server :: Buffer Grows Without Proportion Until Browser Crashes?
Apr 14, 2010
We are experiences a phenomena that flash clients connecting to a live (pre recoreded)stream served from FMS (we use 3.5.2), have their buffer grow out of proportionit is alsoccompanied mostly with a complete video freeze, until the browser crashes.(you can expect a crash after having more then 4000 seconds of video buffer active in memory)The more we switch streams via a playlist,the more this seems to happen,Thus, streaming long video feeds keeps the system stable, but when injectingfeeds into a main stream and switching back increases the probability
Finding faults in my reasoning, or expanding the discussion further. We are benchmarking FMS 3.5.x for live dynamic streaming and we have run across an issue. When throttling the client from a high bandwidth (1500kbps) to a low bandwidth (325kbps) via a bandwidth shaper (a physical firewall) it takes a very long (real-) time for the client to see the new stream-quality.
During the investigation of this issue we have narrowed this down to:
1. when transition is requested from client, the client-side buffer is 1/2 i.e. 4-5seconds. 2. if transition is request on a client with unlimited bandwidth, it takes about 6 seconds for the server to process, find an acceptable switching position and send a "transition.complete" event. 3. on the throttled client however, this event takes much longer.
I am publishing the video over FMS and viewing it on other PC through display video. Now when I stop publishing the video, I am getting the last buffer as still image on the other PC(viewer). I want to know how we can delete that last buffer on viewr PC when publishing stops.
I have a service running off a FMS and I was wondering how I would get a stream to keep downloading the rest of the file even while streaming. For example, like YouTube downloads the entire video while you're watching it, much like Progressive Download does but I want that from my streaming server.Or even better than that, if I could buffer at least 20 seconds ahead of the current stream position. If I use NetStream.setBufferTime(20) - the stream doesn't play until at least 20 seconds has been buffered, but I want it so that it will play even though it hasn't buffered completely, but will keep buffering while streaming.
I just had a very bad user experience here: [URL] The Loading... text appears every 1 second. Is it possible to buffer all the video content before playing it? Or at least a portion of the video content when playback, and at the same time display the percentage of video content loaded?
I'm new to all this, so please forgive my lack of knowledge My purpose of this is to do high quality video conference. I've set up flash media server, and installed media encoder on another computer, input and output looks very much the same, but on the media player, it has about 1 second delay even on LAN,
is this because of the buffer of the flash player? how can i disable buffer completely?
I'm trying different subversions of FMS 3.5 on CentOS 5.5 ;I tried :
FMS 3.5.1 on CentOS 5.5 64 bits (3.5.2 and 3.5.3 not working, libraries problems) FMS 3.5.3 on CentOS 5.5 32 bits FMS 3.5.4 on CentOS 5.5 (fmsadmin illegal instruction) See post http://forums.adobe.com/thread/715650
On 3.5.1 and 3.5.3, the server works well many hours / day, but sometimes the FMS service and the server crashes (tested on 2 servers) ;The only thing i can see in logs is in the /opt/adobe/fms/logs/access.XX.log files and looks like this :
There is something i can do to prevent my server from crashing ? I will try the release 3.5.0 which works well on Gentoo distrib ... but i would like to use last versions of the server.
we are using FMS 2.0. I need to patch the buffer overlfow vulnerabilities. The doc that Abobe supplies with the patch/upgrade releases is confusing. The doc for the 2.0.1 recommends uninstalling 2.0 prior to the 2.0.1 installation. Upgrades 2.0.2 and up do not state this.. However, installing 2.0.5 specifically mentions patching v 2.0 vulerabilities, but does not mention uninstalling first OR that prior patches need be applied...And, finally version 2.0.2 - 2.0.5 do not mention is the patches are cumulative - are they?
I notice that, when I pause the video, the event "NetStream.Buffer.Flush" is triggered. And according to the language reference: "Data has finished streaming, and the remaining buffer will be emptied.", I have to re-buffer it, right? However, also according to the reference, it shouldn't stop buffering:Starting with Flash Player 9.0.115.0, Flash Player no longer clears the buffer when NetStream.pause() is called. This behavior is called "smart pause". Before Flash Player 9.0.115.0, Flash Player waited for the buffer to fill up before resuming playback, which often caused a delay.I'm using Flash Professional to do the debugging, and the traced version number is: MAC 10,0,22,91, and the streaming server is FMS4
I've had some problems with FMS crashing when trying to execute or compile large regular expressions. This is the most easily reproducible scenario:
var patterns = []; for(var iter = 0; iter < Math.pow(2, 16); iter++) { patterns.push('a'); } var filter = new RegExp('('+patterns.join('|')+')', 'i');
2^16 dies, 2^16 - 1 works fine. Understandable that it crashes with such a big RegExp, but the problem I have with FMS is that the error messages are useless when it crashes. "Experienced 1 failure(s)!" is all I get. So my question is; can we get better debug info when FMS crashes?
I'm currently working on a webcam recorder to record high quality video. I had the recorder working before, but the video quality was quite poor. Instead I'm trying to use a client side buffer and then upload the buffer after recording has stopped. I thought after I unattached the video and audio from the NetStream that either a NetStream.Buffer.Empty or NetStream.Record.Stop event would be sent when the buffer was finished uploading.
What is actually happening after I start recording is two NetStream.Record.Stop events are being sent in a row, so recording never really happens. Also, on the server side I'm trying to save a user name and password into a variable, but I'm not sure how to go about doing that since the application script is just a bunch of callback functions.
I need to increase my buffer size in FMS. My video is running from RTMP and I faces the problem to load. Video stalled between the running. So I need to increase buffer size for running video smoothly.
I am developing a C++ program to connect FMS via RTMP, and then publish a live stream I can't use FMLE here because I need collect the H.264 NALU from somewhere and forward them to the FMS.I write a demo app, which parses H.264 encoded FLV file, and send the VideoTag in the FLV as RTMP Message content for publishing.Finally, I make it run and I can see some frames of video!But the problem is: The video does not play smoothly and it just updates some frames. Then I looked at the NetStream event and found that:Everytime when there is a NetStream.Buffer.Full event, the frame in the video is updated and display correctly But immediately there is another NetStream.Buffer.Empty event followed and the video is frozen.
I'm sure this has been asked and answered a million times, but searching for "application" "buffer" "cache" "live" and "hls" isn't giving me any answers, so let's get to it. After I end a live stream (which I do using FMLE 3.2 and FMS 4.5) and I then start a new live stream with the same application name, the HLS stream just loops the last 30 seconds of the old stream. To prevent this, after I end a stream, I have to go to applicationslivepkgstreams\_definst_ and delete the buffered data there. Only then can I start a new stream with the same name as the old stream. Now... that can't be normal, can it? Is there a switch somewhere I can set to tell FMS to cut it out and stop buffering old streams?
dvrcast is a live service.mp4: as the service record and I look over to the dvr sample player debug output messages while out NetStream.Buffer.Empty will stop.Screenshot is shown below. Is it possible to do without stopping the service?
Cen i communicate to FMS from browser not with swf. For example - by javascript from user side or by C# from IIS server side.
I need to built a live chat appliction where the swf only get the live streem and show it to the user but all the other logic code that communicate to FMS will be not in the swf and not in some *.exe file.
I need this because this live chat appliction will have to work on apple ipad and iphone soon when FMS will be able to stream to those devices and i will have to abandon the swf anyway.
Cen i communicate to FMS from browser not with swf. For example - by javascript from user side or by C# from IIS server side.
I need to built a live chat application where the swf only get the live stream and show it to the user but all the other logic code that communicate to FMS will be not in the swf and not in some *.exe file.
I need this because this live chat appliction will have to work on apple ipad and iphone soon when FMS will be able to stream to those devices and i will have to abandon the swf anyway.
Currently we have a swf file application that runs in a browser and takes the live video stream from the camera on the computer and streams a live sorenson spark stream to the fms 3.5 server.
Question is: How to live stream vp6 from the browser/swf file on the camera computer, instead of the sorenson spark. (We seem to be stuck only on sorenson spark).
We have several small websites, some with limited php and some with small mysql databases and we are planning on running Flash Media Server as well all on one RedHat server. I have installed the FMS and apache as per default installation and all is working ok I see the sample videos and have added some of my own videos. I have added some content under /opt/adobe/fms/webroot and this appears ok.
I have 2 flat sites called mysite1 and mysite2 Apache is installed as the default install on linux under /opt/adobe/fms/Apache2.2. I have installed php php -vPHP 5.1.6 (cli) (built: Feb 26 2009 07:01:12) Copyright (c) 1997-2006 The PHP GroupZend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
I have the following in my httpd.conf file and this seems to work ok for the virtual hosts in apache as I can see these sites NameVirtualHost *:8134 <VirtualHost *:8134> DocumentRoot "/opt/adobe/fms/webroot" ServerName myservername ErrorLog /var/log/httpd/error.myservername.log .....
But when I go to look at a php page all I saw was the php text. So for example I go to [URL] page appears fine, when I go to [URL] all I see is the php text. I looked at the php.conf file from another server and I noticed that it used modules/libphp5.which is not available on this copy of Apache so I am not sure what I need to do to get php running on the server.
i'm developing a web site, and i'm trying to let the user record some video from his webcam. I'm using actionscript and flash media server. I got it work in my delevoper enviroment, but when i deployed it to the production server, the webcam can't get connected to the FMS. I'm afraid this is because of port blocking from the firewall. Does anyone knows wich ports are userd for recording from a browser by the Flash Media Server? I open the 1935 port in the Flas Media Server, but it still doesn't work.
I use video player from the flash media server and it will playback url.. as this originates from Flash media encoder then i have to enter this on the videoplayer but when i replace localhost with my IP address i get no joy at all. Also i can run url...ok from videoplayer in the media server but it allows the user to use http so how is this achieve as i cannot get it to work at all. tells me there is no connection. also this i try using local host and my IP address as well but no joy.
I'm having trouble connecting to a remote persistent shared object. When I run from the Flash authoring environment it works. But when I run it from a browser it doesn't. The code attaches an event listener to the sync event, and then calls so.connect(nc).
As mentioned - it works inside Flash authoring only. In both cases the connection to the server is successful. I also tried setting client.readAccess to "/" in the application.onConnect function of the server-side code - but it doesn't help. (Everything was written by me including the server-side application code. I have full control and access to the server).
Also, I can see the remote object exists on the server in the admin console.And as mentioned, when running inside Flash CS5 - the onsync gets triggered after connecting to the shared object.But, the same code under a browser - doesn't trigger the onsync.The SharedObject.getRemote method on the client side returns an object on both occasions.
I tried to search for tutorials here at Kirupa but it seems I keep on bumping on a dead end. I have a problem with a video clip I imported to my flash movie. When I am on the editing screen, I can see that there is a TOOL BAR below the movie. But when I publish it, it doesn't show anything at all in the browser. The movie then is not preloaded. And by the way, I placed a preloader at the beginning of the frame but it seems that the movie is not preloaded so it jitters as it plays frame by frame. [URL]