Video Quality Problem: Action Script netStream X Flash Media Encoder
We're running Wowza to stream a live webcam from a Flex web application (using ActionScript 3 netStream method) for a 1 to 1 video chat.
We are able to stream it properly, but the quality does not look good at all (320 x 240, 300 Kbps, 15 fps).
We tried tweaking the paramenters (quality x bandwidth), but the quality is still surprisingly poor for a H.264 video.
Just out of curiosity, we decided to use Flash Media Encoder 3 to generate a live stream from the very same computer, with the very same webcam, at the very same video specs. The quality is much, much better than the one using the ActionScript 3 netstream approach. The difference is amazing!
So this leads us to believe that the problem is in the "encoder"; the Flash Media Encoder seems to be much for efficient in generating a high quality video stream, compared to ActionScript 3.
My question to you guys is: are we missing something? Are there any parameters on ActionScript 3 or even on Wowza that can increase the quality of video?
Installing Flash Media Encoder on each end user machine is impossible, so we really need this to work on the browser, via Action Script.
In other words: how can I make the quality of the video generated by ActionScript 3 be similar to the one we're able to achieve (remember: under the very same specs) on Flash Media Encoder?
Actually the Sorenson Spark encoder that is built-in to Flash cannot produce h.264. So you are not going to be able to compare to what FMLE is doing. It's free and ubiquitous, but not high quality. You're doing everything right.
I have not tried it, and it will require your users to install something and probably purchase it. So it doesn't really meet your requirements. There is not a solution that meets your requirements. It's Flash with its built-in encoder and limitations, or another encoder.
Thanks for the responses. I'm sorry to know that the built-in encoder in Action Script is not nearly as good as the one in Flash Media Encoder.
You mentioned MainConcept and Kulabyte as providers of encoding technologies. So, my question is: do these companies provide any kind of solution/software/SDK that we can embed our Flash web application, so that our videochat can have a better video quality?
Please bear in mind that, as I have said, it is very important that the “encoding engine” is embedded into the swf application, so that the end user does not need to install anything on his/her computer. Does this make any sense?