[Red5] FlvPlayback
Hassan Beigi
h.beigi at web.de
Sun Jul 2 14:19:09 EDT 2006
>> One thing that we've heard is that there's an XML file required to run
with the FLVPlayback component and we've not looked into to it. Just
haven't had the time.
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=d244749e
The best way is to remove the SMILManager in NCManager. You can provide the
_streams Array with your own code.
FLVPlayback component is not really designed for server streaming.
_____
Von: Red5-bounces at osflash.org [mailto:Red5-bounces at osflash.org] Im Auftrag
von John Grden
Gesendet: Sonntag, 2. Juli 2006 20:07
An: Red5 at osflash.org
Betreff: Re: [Red5] FlvPlayback
One thing that we've heard is that there's an XML file required to run with
the FLVPlayback component and we've not looked into to it. Just haven't had
the time.
On 7/2/06, Hassan Beigi <h.beigi at web.de> wrote:
Hi Eric,
i am not familiar with this component.
Here are 3 steps to fix the problem: The modifications are very dirty and
untested. It gives you only an idea how to fix it. I have changed the lines
commented with //NEW .
1)
Find the Flash 8 Classes on your machine:
Here is the german path to the file:
C:\Dokumente und Einstellungen\[User]\Lokale
Einstellungen\Anwendungsdaten\Macromedia\Flash
8\en\Configuration\Classes\mx\video
english path must be something like that:
C:\Documents and Settings\[User]\Local Settings\Applicationdata\
Macromedia\Flash 8\en\Configuration\Classes\mx\video
Or search for the file (VideoPlayer.as and NCManager.as) on your machine.
2) Open VideoPlayer.as
replace the following method:
private function _play():Void {
//ifdef DEBUG
//var debugString:String = "_play("
//if (arguments.length > 0) {
// debugString += arguments[0];
// if (arguments.length > 1) {
// debugString += ", " +
arguments[1];
// }
//}
//debugString += ")";
//debugTrace(debugString);
//debugTrace("_ncMgr.getStreamName() = " +
_ncMgr.getStreamName());
//endif
_startingPlay = true;
switch (arguments.length) {
case 0:
_ns.play(_ncMgr.getStreamName("flv"),
(_isLive) ? -1 : 0, -1); //NEW CODE - "flv" string as parameter
break;
case 1:
_ns.play(_ncMgr.getStreamName("flv"),
(_isLive) ? -1 : arguments[0], -1); //NEW CODE - "flv" string as parameter
break;
case 2:
_ns.play(_ncMgr.getStreamName("flv"),
(_isLive) ? -1 : arguments[0], arguments[1]); //NEW CODE - "flv" string as
parameter
break;
default:
throw new Error("bad args to _play");
}
}
3) Open NCManager.as
add the following variable:
private var _isMMServer:Boolean; //NEW CODE
repace the constructor:
public function NCManager() {
initNCInfo();
initOtherInfo();
//HB: VERY DIRTY CODE
_isMMServer = _level0.isMMServer; //NEW DIRTY CODE
// intervals
_timeoutIntervalId = 0;
_tryNCIntervalId = 0;
// actually calls setter
_timeout = DEFAULT_TIMEOUT;
}
Replace the following method:
public function getStreamName(type:String):String {
if (type==undefined || _isMMServer) return
_streamName; else return _streamName+"."+type; //NEW CODE
}
I hope it helps.
Bye,
Hassan Beigi
_____
Von: Red5-bounces at osflash.org [mailto: <mailto:Red5-bounces at osflash.org>
Red5-bounces at osflash.org] Im Auftrag von Eric Pincus
Gesendet: Sonntag, 2. Juli 2006 19:01
An: Red5 at osflash.org
Betreff: Re: [Red5] FlvPlayback
Thanks - I'll try that as a workaround - but it's really a workaround for
what I'm already using as a workaround.
What my main question is - which I've yet to get any word in is.
Can I how can use the FlvPlayback control to connect to an FLV hosted by
Red5?
The workaround is to use the video object - but do I need to use a
workaround at all - I'd rather just use the FlvPlayback control.
_____
From: Red5-bounces at osflash.org [mailto: <mailto:Red5-bounces at osflash.org>
Red5-bounces at osflash.org] On Behalf Of Hassan Beigi
Sent: Sunday, July 02, 2006 6:21 AM
To: Red5 at osflash.org
Subject: Re: [Red5] FlvPlayback
Hi Eric,
Try this very ugly code as workaround :-)
paused = false;
function Pause (eventOj:Object){
if (!paused) {
onEnterFrame = function () {
my_ns.seek (my_ns.time);
}
} else {
delete onEnterFrame;
}
paused = !paused;
}
_____
Von: Red5-bounces at osflash.org [mailto: <mailto:Red5-bounces at osflash.org>
Red5-bounces at osflash.org] Im Auftrag von Eric Pincus
Gesendet: Sonntag, 2. Juli 2006 14:31
An: Red5 at osflash.org
Betreff: Re: [Red5] FlvPlayback
Thank you - but I'm not sure how that applies.
The following code is working with the video object - but pause
functionality is awkward - restarting 5-10 seconds earlier than where I
pause it
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmp://localhost/oflaDemo");
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.setBufferTime(1);
my_ns.play("downtown.flv");
btnPause.addEventListener("click", Pause);
function Pause(eventOj:Object)
{
my_ns.pause();
}
This is without the FlvPlayback control - with the video object and a single
button labeled btnPause.
I would PREFER to just just the FlvPlayback control using a skin so I don't
have to code for the various functions (play, pause, mute, volv)
Simply setting the contentPath of a FlvPlayback control to
"rtmp:://localhost/oflaDemo/downtown.flv" fails.
If I still need to use a NetStream object with the FlvPlayback control - how
do I wire the two together?
Thanks
_____
From: Red5-bounces at osflash.org [mailto: <mailto:Red5-bounces at osflash.org>
Red5-bounces at osflash.org] On Behalf Of Hassan Beigi
Sent: Sunday, July 02, 2006 2:50 AM
To: Red5 at osflash.org
Subject: Re: [Red5] FlvPlayback
Hi Eric,
red5 needs the .flv extension for the NetStream.play Method:
FlashCom / MediaServer : stream.play ("filename",.)
Red5: stream.play ("filename.flv",.)
bye
_____
Von: Red5-bounces at osflash.org [mailto: <mailto:Red5-bounces at osflash.org>
Red5-bounces at osflash.org] Im Auftrag von Eric Pincus
Gesendet: Sonntag, 2. Juli 2006 11:08
An: Red5 at osflash.org
Betreff: [Red5] FlvPlayback
Hey all,
So what is the verdict on the FlvPlayback object within flash?
I can't get it to work with Red5. I've seen a dozen questions on this very
subject around the net - but never an answer.
I know that with FMS - you need to have the main.asc file copied to the
application directory - that you need to have your media in the
streams\_definst_ directory, etc.
It works from FMS - but nothing from Red5.
All I'm trying to do is set up a simple flv streaming with FlvPlackback.
I've tried to set it up with a simple video object but when I use the pause
function - and then restart - the video drops back about 5-10 seconds.
Help if you can,
Eric
_______________________________________________
Red5 mailing list
Red5 at osflash.org
http://osflash.org/mailman/listinfo/red5_osflash.org
--
John Grden - Blitz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://osflash.org/pipermail/red5_osflash.org/attachments/20060702/0a0fd1c1/attachment-0001.htm
More information about the Red5
mailing list