Streaming live video over RTMFP using a format other than Spark
I would like to serve high quality video (H.264) between a server and a single Flash Player client with low latency (RTMFP). The single client will be controlling a robotic device and seeing the results through the video stream, so low latency is important.
Option A: The Flash Player supports low latency streaming of video between two P2P nodes via the RTMFP protocol in Flash Player 10. It uses the Spark codec to encode the video and as far as I know it is not possible to encode using any other codec in the player.
Option B: Flash Media Live Encoder does support live encoding using other codecs (On2 and H.264) but cannot act as an RTMF开发者_Go百科P peer - this option would require Flash Media Server in the middle.
It seems I cannot stream video to a single client over RTMFP with anything other than Spark. Am I missing something? Is there some way of achieving both that I might not have thought of?
Flash now supports h.264
Set it up like this:
if (Camera.names.length > 0) {
h264Settings = new H264VideoStreamSettings();
h264Settings.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_3_1);
cam = Camera.getCamera();
cam.setMode(384,288,16,true);
cam.setKeyFrameInterval(8);
cam.setQuality(90000,85);
cam.setMotionLevel(35,10000);
cam.setLoopback(false);
cam.addEventListener(StatusEvent.STATUS, camStatusHandler);
}
Correct, currently the release version of the flash player doesn't encode outgoing (published) video in the h.264 format. However if you get the labs version of the flash player labs.adobe.com, the next version of flash is going to support live encoding (and publishing) of h.264. This will also work in your p2p scenario.
Try this one http://red5.org/
or another new P2P technology http://labs.adobe.com/technologies/stratus/
精彩评论