Skip to main content
February 7, 2011
Question

Let FMSI 3.5 stream to Wowza

  • February 7, 2011
  • 1 reply
  • 1694 views

Since FMS has no options to stream to an ipad of iphone I tried to let FMS stream to a Wowza server by using NetConnection / NetStream classes. It seems to work (not getting any errors in the logs) but nothing happens when I try to read the stream from the Wowza server.

I use the H264 and AAC codec in a F4V container.

Here are is some code and logging info:

Piece of our FMSI app code where I try to stream to Wowza:

application.onPublish = function (p_c, p_stream) {         application.publishedStream = p_stream;         application.streamClient = p_c;         nc = new NetConnection();         nc.connect("rtmp://*server url*/*app name*/*app instance name*");         ns = new NetStream(nc);         ns.attach(p_stream);         ns.setBufferTime(3)         ns.publish("mp4:stream.sdp", "live");

}

Only errors I get when the FMLE connects are (never is/was a problem and I always get those):

2011-02-07      14:09:56        27232   (e)2641277      Sending error message: Method not found (releaseStream).        - 2011-02-07      14:09:56        27232   (e)2641277      Sending error message: Method not found (FCPublish).    -

I used the tutorial from Wowza to setup the stream. I tried to use it standalone (connect FMLE directly to Wowza) and it works.

When I open my player and load the URL http://*server url*:1935/*app name*/*app instance name*/stream.sdp/manifest.f4m I get the following logginginfo:

2011-02-07      13:30:16        UTC     connect sanjose INFO    200     2067306755      -       _defaultVHost_  *app name*  *app instance name*    1219.298        *server url*        1935    http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m      212.178.148.94    http (cupertino)        -       vlc/1.1.7       2067306755      0       0       -       0       -       -       stream.sdp      -       -       ---       http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m      http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m        -       http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m      - 2011-02-07      13:30:16        UTC     create  stream  INFO    200     stream.sdp      -       _defaultVHost_  *app name*  *app instance name*    0.0     *server url*        1935    http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m      212.178.148.94  http (cupertino)  -       vlc/1.1.7       2067306755      0       0       7       0       0       0       stream.sdp      -       -       -       -       -http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m       http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m        -       http://*insert url here*:1935/*insert appname here*/*app instance name*/stream.sdp/manifest.f4m      -

Anyone tried this before? Can it be done? Are there any other options?

Any tips are welcome.

Thanks!

    This topic has been closed for replies.

    1 reply

    Participating Frequently
    February 7, 2011

    I think you can just tweak your code little bit and see if that helps:

    application.onPublish = function (p_c, p_stream)

    {

            application.publishedStream = p_stream;

            application.streamClient = p_c;

            nc = new NetConnection();

            nc.connect("rtmp://*server url*/*app name*/*app instance name*");

            nc.onStatus = function(info){

          if(info.code=="NetConnenction.Connect.Success"){

          ns = new NetStream(nc);

           ns.attach(p_stream);

           ns.setBufferTime(3)

           ns.publish("mp4:stream.sdp", "live");

         }

    }

    }

    February 7, 2011

    It gives me a success. Can I get more debugging info out of FMS? From the ns.publish() for instance?

    Participating Frequently
    February 8, 2011

    You can similarly define ns.onStatus i.e.

    ns = new NetStream(nc);

    ns.onStatus = function(nsinfo){

         trace("NetStream Status:"+ nsinfo.code);

    }