2010-08-16 3 views
1

Je souhaite diffuser une vidéo haute qualité (H.264) entre un serveur et un seul client Flash Player à faible latence (RTMFP). Le client unique contrôlera un appareil robotique et verra les résultats à travers le flux vidéo, de sorte qu'une faible latence est importante. Option A: Flash Player prend en charge le streaming à faible latence de la vidéo entre deux nœuds P2P via le protocole RTMFP dans Flash Player 10. Il utilise le codec Spark pour coder la vidéo et, autant que je sache, il n'est pas possible de l'encoder en utilisant n'importe quel autre codec dans le lecteur.Diffusion de vidéo en direct sur RTMFP en utilisant un format autre que Spark

Option B: L'encodeur Live Flash Media prend en charge l'encodage en direct à l'aide d'autres codecs (On2 et H.264) mais ne peut pas faire fonction d'homologue RTMFP - cette option nécessite le support Flash Media Server.

Il semble que je ne puisse diffuser de la vidéo sur un seul client via RTMFP avec autre chose que Spark. Est-ce que je manque quelque chose? Y a-t-il un moyen d'atteindre les deux auxquels je n'aurais peut-être pas pensé?

Répondre

0

Corriger, actuellement la version du lecteur flash ne code pas pour la vidéo sortante (publiée) dans le format h.264. Cependant, si vous obtenez la version labs du lecteur flash labs.adobe.com, la prochaine version de Flash va prendre en charge l'encodage en direct (et la publication) de h.264. Cela fonctionnera également dans votre scénario P2P.

0

Essayez celui http://red5.org/

ou d'une autre nouvelle technologie P2P http://labs.adobe.com/technologies/stratus/

+0

Salut Eugene. Merci d'avoir répondu, mais vous avez mal compris ma question. Je suis à la recherche d'un moyen de streaming point à point en utilisant RTMFP (sans utiliser un serveur au milieu comme Red5), mais en utilisant On2 ou H.264. –

1

Flash supporte maintenant h.264

Set it up comme ceci:

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); 

} 
Questions connexes