Actionscript 3 :: Low-latency Audio Streaming In Flash?
Mar 6, 2012
Suppose there is a live WAV stream that can be reached at a certain URL, and we need to stream it with as little latency as possible. Using HTML5 <audio> for this task is a no-go, because browsers attempt to pre-buffer several seconds of the stream, and the latency goes up accordingly. That's the reason behind using Flash for this task. However, due to my inexperience with this technology, I only managed to get occasional clicks and white noise. What's wrong in the code below?
var soundBuffer: ByteArray = new ByteArray();
var soundStream: URLStream = new URLStream();
soundStream.addEventListener(ProgressEvent.PROGRESS, readSound);[code]....
When synthesising sound using the SAMPLE_DATA event of the Sound class, the Flash documentation recommends writing out as many samples as possoible up to 8192. On my system the sound cuts out unless I write at least 4192 samples each event. That's a full tenth of a second, which is going to be user-noticeable.
I may have the option of buffering things up ahead of time, but this is a major annoyance for my application.Is there any way of getting lower latency audio output?
We have one functionality in which one user can communicate with the other user at the same time through flash media server3.5. In this fucnitonality we are catching stream from both end through camera and pass it to flash media server. On FMS side this streams gets stored also we are displaying those recorded flv files side by side to the corresponding user so that they can communicate with each other. In this situation we are facing a video and audio latency upto 1.5 to 2 sec.
I can't find the setttings for have a least latency as possible, either the video quality is bad or the latency is up than 5 secondes...What should i do?
I ran a simple live video streaming application for the first time with actual users and ran into a couple of serious performance issues that had not turned up during testing. In this instance there was one video stream from a live web cam and used FMLE at 150 kbps using VP6 and MP3 @22k. There were 16 clients and everything worked pretty good for about 30 minutes. (although some clients said their audio and video were out of sync by up to 3 seconds)
Then individual clients would have either the video freeze or the video would continue and the audio would stop. These clints had to "disconnect" and then "connect" again to the application. This happened to all of the clients at one time or another for several minutes. I stopped and restarted the FMLE with progessively lower bandwidth settings down to 75 kbps but still clients were having the same issue.
I eventually stopped the FMLE and used the applications built in publisher at 45 kbps and that seemed to eliminate the freeze/dropping issue. But of course the video quality was very poor and some clients still reported that the audio was out of sync with the video. The server hosting the FMS application is a quad processor dell with lots of memory and network connectivity. The Flash Media Admin Console performance graph showed the total Bandwidth as 3 Mbps at maximum.
I am new in action script 3.0. i am trying to build an audio player which will stream audio(mp3 etc.) from wowza media server. the player needs to have a play button, stop/pause button, a play progressbar and a volume scroll bar. i am using NetStream object to paly the audio
I am streaming to live videos with audio to our webpage, each with it's own accompanying audio. On my laptop, I could stream them without any trouble but it would overheat so I had two new computers built just for encoding. Now, on the new computers, the 2 videos stream fine but only on audio file works at a time. The other just gets hung up on one note of sound and repeats very annoyingly over and over.
I think it is loading the whole audio first into the swf, but I would like to get confirmation from someone more knowledgible.[code]I want it to stream the audio when the button is clicked only so that 100 of these swf will not slow down a whole webpage from loading.[code]I only start getting concerned when I noticed that on FF and Chrome, the page loads really quick but when I open the page in IE, it takes a very long time for the page to appear.
Is it true that the only file format that flash will stream from an external source is MP3? I know you can import other file formats into your movie etc... but thats not something that I want to get into.
I want to capture audio from the mic and stream it to ffmpeg which takes it to RTP and to the end client. I wanted to know how do I stream audio from flash to ffmpeg? Is it possible? Do i use netstream and will it work when connecting to ffmpeg?
I'm building a mobile MP3 player with AIR, which streams audio using the Sound class's .load() function. I'd like to cache this audio as it's downloaded, to the the user's SD card. Is this possible without having to download the file twice??
The following AS3 code is sometimes causing the audio to play multiple times, almost simultaneously like a crazy echo. It usually works ok with that URL but when I use a [URL]... it always freaks out. On rare occasions I think the issue has happened with local files even. I copied this code from somewhere else so I don't entirely understand it. Do you see a problem with this implementation or is Flash just crazy?
I am trying to stream audio to my flash application. I got it working with a test MP3 file. But the problem is that MP3 encoders are protected by patents and require license fees.(I am living in Canada) Isn't there a open audio file format supported by flash?
Writing RTMP Streaming Server for streaming AVC+AAC video. And it works fine with rtmpdump. But I can't force it to work in flowplayer and other flash video players.The message sequence after handshake is similar to FMS / RED5 / erlyvideo / haxevideo servers: I've tried a lot of variations.
From Chrome debug console I can see, what all negotiating messages passed to the flowplayer. The last one is onMetaData. And after this the working sample (rtmp://flash.tvwmedia.net/LiveVideo//Live300) gets NetStream.Buffer.Full. And streaming from my server don't get it.
I'm starting with AVC Header message, containing sps/pps. After it first AVC picture passed. After - AAC header and AAC sample. And then AVC/AAC samples. This dumped OK by rtmpdump - I have working flv on exit. But flowplayer and others does not work.
I've been working on an audio streaming application for the last couple days. My current progress can be viewed at figmentmedia.ca /test.html.I've got a problem with this release. Look at the tan coloured line, near the base of the window, to the right of the control buttons (of which only play and pause work). That line is supposed to be a loading bar. As you will probably notice it does not work. The code I've attached is located in the first frame of my movie. The second last line there, "mc_loaded.width =297/(soundClip.bytes Loaded/ soundClip.bytesTotal);", is the one giving me the trouble. After troubleshooting many different options.. none of which worked, I believe.. what is loading may be the variable. Regardless of what progress the bar is showing, it's not showing the progress of the sound clip.
I'm stucked in middle of my application, where I need to implement sound spectrum on streaming audio. Does any one knows how can we add sound spectrum on streaming audio.
i am New to flex.Can any one point me to a small piece of mxml code which plays audio files(mp3,wav.....) also which has the capabilities to pause, play, stop.... the audio file. Also this file would be embedded in a html file later on..
I am interested in streaming audio on my website, but I have no clue where to begin. There are two types of streaming I hope to achieve. The first would be streaming a playlist of songs stored on the server and the second would be live audio streaming. Can anybody recomend any good sites or plugins to use?
I am streaming live content via flv but the video is lagging audio by some time. I am using netstream and video but cannot find a way to set the FPS for the video, I think i could fix it if I knew how to adjust the FPS
I wanna be able to load a .mp3 file outsideside of the library (to conserve file size) which i figured out but i am having trouble with makin a progress bar for the progress of the loading mp3....
I am trying to use some streaming video and audio inside my flash movie, but can't quite figure it out..I have the video saved as an FLV file, and this file was uploaded into my streaming folder on my server. I tried to use a sample player I found, and everything should add up, but nothing is coming through. How exactly am I supposed to do this, and does anyone have a sample video controller/viewer I could borrow to test this out?
I am researching the inclusion of Flash in a PHP/MySQL application I am building to stream audio.I have done a lot of searching, but have yet to find which audio formats that Flash can stream.I know that MP3's can be streamed.
The problem is that the progress bar is not working correctly while the music is streaming (not completely downloaded to cache).I can understand why it is so.... (sound.duration is changing untill download is complete)I have a simple progress bar... no masking etc:- .. just using the good old "_xscale"
Im making a website in flash 8 pro and would like to know how i can load the music for a particular section using streaming audio. I mean i dont want the soundtracks to occupy to much space so i want to make the website load in and then if someone clicked and navigated into contacts then i want the contacts soudntrack to load only then or preferably stream from a folder.
I have several flash based lessons that I have created that are being distributed online to several companies. Each lesson has a video that is played within the lesson through the flvplayback control. The videos were supplied by a third party and some of the videos are encoded at 384K and some are at 568K.
One company that is attempting to view the lessons is seeing the following behavior. The video plays for approximately 20 seconds then suddenly the video drops out and the audio continues to play. With the audio still playing the video scrubber rolls back and attempts to start the video again but all that comes through is the audio track again. Now there are 2 instances of the audio playing with no video. This happens a third time and finally keeps going until all the audio is played out.
The IT staff at the company has showed me a fiddler log that shows the flash player making a connection out to Akamai to retrieve the video and then rolling from port 80 to port 1935 and finally to port 443. This would explain the three audio tracks playing
I have read that the flash player will attempt to gather the stream from the stated rtmp location and then if it encounters an issue with a proxy or firewall it will attempt the other ports.So I am not sure if there is anything I can do by design or programatically to alleviate this issue. It appears to me that the company attempting to view this video has some kind of bandwidth throttling program in place that is kicking off this behavior in the flash player.
Is it possible to prevent the flash player from making the three attempts? Would a sudden cut of bandwidth prompt the player to attempt to roll to another port if a network load balancing program suddenly kicked in? If it is bandwidth is that why the audio stream continues to play because there is enough bandwidth for the audio track to get through, but not the video?
I have attached a screen shot of the sniffer output so you can see the rolling ports thing.