[Red5] Any updates on serverStream yet
Dan Rossi
spam at electroteque.org
Fri Jul 20 12:01:45 EDT 2007
Maybe a ticket should be reopened about the server stream problems ?
Dan Rossi wrote:
> I looked at a way to do trailers rotating in the server stream and then
> it switches on a live stream. But because of the server stream
> instability I gave up.
>
> I just have a rotating vod file subscribed and when a stream stop event
> happens i just replay it. Then when a broadcast happens the server app
> calls an onBroadcast method in the players with the publish name and
> then the players subscribe to it. If a player happens to join after
> this, I set an attribute that a broadcast has happened and then also if
> there is a broadcast available and then call the player when it tries to
> subscribe to the VOD on load. Its still a little buggy possibly ie if
> the publisher closes without calling stop sometimes the broadcast stop
> event doesnt get run on the server end so the application still thinks
> an event is still happening !
>
>
> Lenny Sorey wrote:
>
>> Joseph,
>>
>> This is interesting.
>>
>> In Thijs publisher's app, I am able to broadcast in full screen mode
>> with out any problems.
>>
>> If you have webcam, try this link.
>>
>> http://red5.fatdot.com/publisher.html
>>
>> Connect to host first.
>>
>> then select video and your webcam
>>
>> click live and then full screen.
>>
>> Works quite well/
>>
>> I ask Thijs if there was a way to separate the VOD and Video Live
>> stream from his publisher
>> example but I don't think it can be done.
>>
>> Not sure what all the dependencies are there.
>>
>> anyway, if there was a way to separate these items it sure help many
>> people.
>>
>> Regards,
>>
>> Lenny
>>
>>
>> On 7/20/07, *joseph wamicha* <jwamicha at gmail.com
>> <mailto:jwamicha at gmail.com>> wrote:
>>
>> Hi,
>>
>> The reason for not being able to go full screen is that red5
>> playlist mode plays the video in live mode. It therefore does not
>> send any metadata to the flex player for full-screen mode and for
>> seeking through the video.
>>
>>
>> On 7/20/07, *Dan Rossi* <spam at electroteque.org
>> <mailto:spam at electroteque.org>> wrote:
>>
>> Lenny Sorey wrote:
>> > Hi Dan,
>> >
>> > I mean the audio will stutter at times and the video will lag.
>> Thats the problem I was getting it was more of a glitch than a
>> stutter
>> though, and the video was all glitchy too.
>>
>> Nice one , I had intentions of testing loading files from a
>> resource.
>> This is great well done.
>>
>> >
>> > I can send you this project if you wish to take a look.
>> >
>> > The flash piece is in Flex 2.
>> >
>> > Currently, it is in the JIRA Demo area waiting approval as a
>> demo.
>> >
>> > Here is the entire java code from the Application.java file:
>> >
>> > Let me know if you see anything out of the ordinary.
>>
>>
>> I may extend this maybe, ie with windows media server side
>> streams, u
>> can include a source in the xml playlist with an item which is a
>> directory resource, it will include all files in that. Then u
>> can also
>> add another item which is a single resource and it will play
>> after the
>> others are finished.
>>
>> Wonder how you could make this updatable in the runtime
>> without a restart ?
>>
>> Only problem is what is the timer stuff for, and im not sure
>> how the
>> updateplaylist is working is that right ? Well you dont have
>> it set to
>> random thats for sure so im not sure what the problem is. I
>> gave up on
>> this stuff ages ago to wait until itz more stable :)
>>
>> >
>> >
>> > package org.red5.server.webapp.tv
>> <http://org.red5.server.webapp.tv/>
>> <http://org.red5.server.webapp.tv
>> <http://org.red5.server.webapp.tv/>>;
>> >
>> > import java.util.Timer;
>> >
>> > import org.red5.server.adapter.*;
>> > import org.red5.server.api.IConnection;
>> > import org.red5.server.api.IScope;
>> > import org.red5.server.api.stream.IServerStream;
>> > import org.red5.server.api.stream.support.SimplePlayItem ;
>> > //import org.red5.server.api.stream.IBroadcastStream;
>> >
>> >
>> > import org.red5.server.api.stream.support.StreamUtils;
>> > import org.springframework.core.io.Resource;
>> >
>> >
>> > public class Application extends ApplicationAdapter {
>> > public IScope appScope;
>> > public IServerStream serverStream;
>> > private SimplePlayItem item;
>> >
>> > /** {@inheritDoc <mailto:%7B at inheritDoc> } */
>> > @Override
>> > public boolean appStart(IScope app) {
>> > Timer timer = new Timer();
>> > log.debug("Application start");
>> > appScope = app;
>> > serverStream = StreamUtils.createServerStream (appScope,
>> "live0");
>> > getList();
>> > serverStream.start();
>> > PlayTester plTester = new PlayTester();
>> > plTester.setApplication(this);
>> > timer.schedule(plTester, 0, 500);
>> >
>> > return true;
>> > }
>> >
>> > /** {@inheritDoc <mailto:%7B at inheritDoc>} */
>> > @Override
>> > public boolean appConnect(IConnection conn, Object[] params) {
>> > measureBandwidth(conn);
>> > log.debug("Client: "+conn.getHost()+" connected");
>> > log.debug("ID: "+conn.getClient().getId());
>> > return super.appConnect(conn, params);
>> > }
>> >
>> > /** {@inheritDoc <mailto:%7B at inheritDoc>} */
>> > @Override
>> > public void appDisconnect(IConnection conn) {
>> > log.debug("Client: "+conn.getHost()+" disconnected");
>> > super.appDisconnect (conn);
>> > }
>> >
>> > @Override
>> > public void appStop(IScope app) {
>> > if (appScope == app && serverStream != null) {
>> > serverStream.close();
>> > }
>> > super.appStop(app);
>> > }
>> >
>> > public synchronized boolean getList() {
>> > try {
>> > log.debug("getting the FLV files");
>> > Resource[] flvs = appScope.getResources("streams/*.flv");
>> > if (flvs != null) {
>> > serverStream.removeAllItems ();
>> > for (Resource flv : flvs) {
>> > String flvName = flv.getFile().getName();
>> > item = new SimplePlayItem();
>> > item.setName(flvName);
>> > serverStream.addItem(item);
>> > log.debug("flvName: " + flvName);
>> > }
>> > }
>> > }catch (Exception e) {
>> > log.error(e);
>> > }
>> > return true;
>> > }
>> >
>> > public void updatePlaylist()
>> > {
>> > getList();
>> > serverStream.setItem(0);
>> > }
>> >
>> > }
>> >
>> >
>> >
>> > Regards,
>> >
>> > Lenny
>> >
>> >
>> >
>> >
>> >
>> > On 7/20/07, *Dan Rossi* < spam at electroteque.org
>> <mailto:spam at electroteque.org>
>> > <mailto:spam at electroteque.org
>> <mailto:spam at electroteque.org>>> wrote:
>> >
>> > Do you mean dropped frames ? Since last year i had an issue
>> > rotating the
>> > playlist as in it wouldnt work correctly . Either the
>> time it
>> > switched
>> > was either too early or too late and eventually it would
>> just become a
>> > mess and crash the player, it was a funny sight though I
>> had to record
>> > the digitze glitches because it was like it was in super
>> fast
>> > forward.
>> >
>> > serverStream = StreamUtils.createServerStream(appScope,
>> "live0");
>> > serverStream.start ();
>> >
>> > is that all the code or partial ?
>> >
>> > Lenny Sorey wrote:
>> > > Hello all,
>> > >
>> > > Was just wondering if there has been any updates or
>> anyone been
>> > successful
>> > > with stabilizing RED5's serverStream?
>> > >
>> > > Currently, I am still getting a lot of stuttering and
>> hesitation
>> > > with audio and video in the serverstream app
>> > > I am working with.
>> > >
>> > > serverStream = StreamUtils.createServerStream(appScope,
>> "live0");
>> > > serverStream.start();
>> > >
>> > > If this is still an issue in JIRA, please accept my
>> apologies for my
>> > > oversight
>> > > in missing this when I looked through JIRA.
>> > >
>> > > Thanks!!
>> > >
>> > > Lenny
>> > >
>> >
>> ------------------------------------------------------------------------
>>
>> > >
>> > > _______________________________________________
>> > > Red5 mailing list
>> > > Red5 at osflash.org <mailto:Red5 at osflash.org> <mailto:
>> Red5 at osflash.org <mailto:Red5 at osflash.org>>
>> > > http://osflash.org/mailman/listinfo/red5_osflash.org
>> > >
>> >
>> >
>> > _______________________________________________
>> > Red5 mailing list
>> > Red5 at osflash.org <mailto:Red5 at osflash.org>
>> <mailto:Red5 at osflash.org <mailto:Red5 at osflash.org>>
>> > http://osflash.org/mailman/listinfo/red5_osflash.org
>> >
>> >
>> > ------------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > Red5 mailing list
>> > Red5 at osflash.org <mailto:Red5 at osflash.org>
>> > http://osflash.org/mailman/listinfo/red5_osflash.org
>> >
>>
>>
>> _______________________________________________
>> Red5 mailing list
>> Red5 at osflash.org <mailto:Red5 at osflash.org>
>> http://osflash.org/mailman/listinfo/red5_osflash.org
>> <http://osflash.org/mailman/listinfo/red5_osflash.org>
>>
>>
>>
>>
>> --
>> C is forever.
>> _______________________________________________
>> Red5 mailing list
>> Red5 at osflash.org <mailto:Red5 at osflash.org>
>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Red5 mailing list
>> Red5 at osflash.org
>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>
>>
>
>
> _______________________________________________
> Red5 mailing list
> Red5 at osflash.org
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
>
More information about the Red5
mailing list