2009-04-23 6 views
1

Ich inspizierte die OflaDemo von Red5. Ich habe mich gefragt, wie ich die oflaDemo ändern könnte, so dass ich eine gewisse FLV-Datei an alle Teilnehmer ...Red5 Stream FLV-Datei

/** {@inheritDoc} */ 
    @Override 
    public boolean appConnect(IConnection conn, Object[] params) { 
     // Trigger calling of "onBWDone", required for some FLV players 
     measureBandwidth(conn); 
     if (conn instanceof IStreamCapableConnection) { 
      IStreamCapableConnection streamConn = (IStreamCapableConnection) conn; 
      SimpleConnectionBWConfig bwConfig = new SimpleConnectionBWConfig(); 
      bwConfig.getChannelBandwidth()[IBandwidthConfigure.OVERALL_CHANNEL] = 
       1024 * 1024; 
      bwConfig.getChannelInitialBurst()[IBandwidthConfigure.OVERALL_CHANNEL] = 
       128 * 1024; 
      streamConn.setBandwidthConfigure(bwConfig); 
     } 

      serverStream = StreamUtils.createServerStream(appScope, "live0"); 
      SimplePlayItem item = new SimplePlayItem(); 
      item.setStart(0); 
      item.setLength(10000); 
      item.setName("IronMan"); 
      serverStream.addItem(item); 
      item = new SimplePlayItem(); 
      item.setStart(20000); 
      item.setLength(10000); 
      item.setName("DarkKnight"); 
      serverStream.addItem(item); 
      serverStream.start(); 
      serverStream.setRepeat(true); 

     return super.appConnect(conn, params); 
    } 

Das Ergebnis des obigen Codes streamen könnte, ist nur ein leerer Bildschirm für alle Teilnehmer ...

Hat jemand von euch eine Idee?

danke im voraus!

Antwort

0

Dies wäre einfacher auf der Client-Seite zu erreichen, und wenn Sie den Stream-Namen nicht fest codieren möchten, könnten Sie seinen Namen als Flash-Var übergeben.

0

Ich habe das gleiche Problem. Ich fand, dass leerer Bildschirm, weil von dem, was Linie

ist
serverStream.setRepeat(true); 

, wenn Sie falsch wiederholen setzen alles funktioniert gut

UPD: Ich denke, dass diese red5 Bug. Ich machte einen Hack, um fortwährend ein FLV zu wiederholen. Ich fügte benutzerdefinierten Spiellistencontroller hinzu:

public class MyPlayListController implements IPlaylistController { 
    @Override 
    public int nextItem(IPlaylist playlist, int itemIndex) { 
     return 0; 
    } 

    @Override 
    public int previousItem(IPlaylist playlist, int itemIndex) { 
     return 0; 
    } 
} 
Verwandte Themen