I have been battling this for awhile, not getting very far
and not much help out there in the forums.
I am trying to stream video from Flash Media Live Encoder 3.0
(locally) to Flash Media Development Server (FMDS) 3.5 (locally on
same machine) and then from there (FMDS 3.5 local) to my Justin TV
channel. I have used FME 3.5 and 3.0 for this without a problem,
but want to move to FMDS 3.5
This appears to be a supported scenerio as outlined on page
69 "Publishing from server to server" in the "Flashmediaserver 3.5
dev guide pdf" that is provided with FMDS 3.5
From my observations, the FME to FMDS stream does work, and I
can view it in the web player app provided by FMDS 3.5
When FME connects to FMDS it fires the main asc and based on
trace messages it gets so far in the process of connecting and
publishing to Justin TV and no farther.
When one uses FME to connect to JTV, they provide an xml file
to load in FME, and this file has the FMS URL and STREAM name that
must be used for connection.
In FME locally I have made the FMS url that of the local FMDS
server plus the app name rtmp://localhost/live_4270649_12345
the app name is the Justin TV secret stream name provided in
the JTV XML file <the one above is fake for security reasons>
In FME the stream name is also the app name which is also the
Justin TV secret name live_4270649_12345
Again, when FME fires to FMDS 3.5 the correct app,
live_4270649_12345, is firing and the traces for mystream.name also
reflect this name for both app and stream.
Below is the content of the main.asc file which does fire
when FME is STARTED
-------------------------------------------------
application.onAppStart = function (){
application.allowDebug="true";
}
application.onPublish = function(client, myStream) {
trace("STEP 1 " + myStream.name + " is now publishing into
application " + application.name);
if (application.name == "live_4270649_12345/_definst_"){
trace("STEP 2 - Republishing the stream to JTV");
nc = new NetConnection();
nc.connect("rtmp://live.justin.tv/app");
nc.onStatus = function (info) {
trace("STEP 3 " + myStream.name + " - nc code: "+info.code);
if (info.code == "NetConnection.Connect.Success") {
ns = new NetStream(nc);
ns.onStatus = function(info) {
trace("STEP 4 A - Stream Status: " + info.code);
if (info.code == "NetStream.Publish.Start") {
trace("STEP 4 B - The stream is now publishing");
}
}
ns.setBufferTime(2);
ns.attach(myStream);
ns.publish( myStream.name, "live" );
}
}
}
}
Client.prototype.releaseStream = function(){
trace("An FME client just called release stream");
}
Client.prototype.FCUnpublish = function(){
trace("An FME client just called FC UnPublish");
}
Client.prototype.FCPublish = function(){
trace("An FME client just called FC Publish");
}
--------------------------------------
Here is the trace output from FMDS when FME is started and
then left to run several minutes
--------------------------------------
An FME client just called release stream
An FME client just called FC Publish
STEP 1 live_4270649_12345 is now publishing into application
live_4270649_12345/_definst_
STEP 2 - Republishing the stream to JTV
STEP 3 live_4270649_12345 - nc code:
NetConnection.Connect.Success
STEP 3 live_4270649_12345 - nc code:
NetConnection.Connect.Closed
An FME client just called FC UnPublish
--------------------------------------
I never see any trace messages (STEP 4) related to the NS
process, I only get as far as step 3
ANy help is appreciated.
Thanks