Die Flexperten Herrlich & Ramuschkat

H.264 Stream bei serverseitigem Recording umbenennen

Seit Flash Media Server Version 3.5 kann man nun auch endlich H.264 Streams serverseitig aufnehmen. Das ist nur ein bisschen Tricky, da H.264 Streams immer ein Prefix mit sich rumschleppen … hier mal ein Code (Serverseitiges Action Script und Flex) um einen Stream umzubennen.

flashMediaEncoder

Flex Client Source:

 

private function init():void

{

nc = new NetConnection();

      nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

      nc.connect(“rtmp://localhost/myApp/live”);

      nc.client = this;

}

 

private function record(recording:Boolean):void

{

      // Start Recording

      if (recording)

      {

            nc.call(“recording”, new Responder(statusHandler, statusHandler), “mp4:myCam.f4v”, “mp4:myStream.f4v”, true);

      }

// Stop Recording

      else

      {

            nc.call(“recording”, new Responder(statusHandler, statusHandler), “mp4:myCam.f4v”, “mp4:myStream.f4v”, false);

      }

}

 

SSAS Source:

 

Client.prototype["recording"] = function(fmsStreamName, newStreamName, recording)

{

                // use your custom name with Stream.get(…), e.g. “mp4:myStream.f4v”

                var s = Stream.get(newStreamName);

 

// Start Recording

                if (recording)

                {

                               if (s)

                               {

                                               // use the real stream name from Flash Media Encoder with play(…), e.g. “mp4:myCam.f4v”;

                                               s.play(fmsStreamName);

                                               // this records “myStream.f4v” instead of “mp4:myCam.f4v”

                                               s.record();

                                               return true;

                               }

                }

// Stop Recording

                else if (!recording)

                {

                               if (s)

                               {

                                               s.play(false);

                                               s.record(false);

                                               return false;

                               }

                }

 

                return true;

}

Ein Kommentar

  1. streamvideo am 05. November 2009

    sehr cool! habe schon den ganzen tag versucht raus zu finden wie das funktioniert. vielen dank

Einen Kommentar schreiben