2014-09-05 42 views
0

wowza服务器我最近在做一个项目,发布视频wowza服务器。我能够使用JUV rtmp客户端API从文件发布视频。但我需要直接从我的笔记本电脑摄像头发布视频。我怎么能这样做?请用示例或演示来解释。流的笔记本电脑的摄像头,与JUV RTMP客户

我的代码的视频流文件主要部分是在这里:

final NetConnection connection = new NetConnection(); 

    connection.configuration().put(NetConnection.Configuration.INACTIVITY_TIMEOUT, -1); 
    connection.configuration().put(NetConnection.Configuration.IO_TIMEOUT, 20 /*milliseconds*/); 

    connection.addEventListener(new NetConnectionListener()); 

    connection.connect("rtmp://localhost:1935/live"); 

    try 
    { 
     Thread.sleep(2000); 
    } 
    catch (Exception e) {/*ignore*/} 
    // wait till connected 

    System.out.println("then connection: "+connection.connected()); 
    final MediaStreamController controller = new MediaStreamController(); 

    final String streamFile = "C://media/JUV.FLV"; 

    controller.addListener(new IMediaStreamController.ListenerAdapter() 
    { 
     @Override 
     public void onStart(final long timestamp, final IMediaStream stream) 
     { 
      System.out.println("onStart: " + timestamp + " " + stream); 
     } 

     @Override 
     public void onStop(final long timestamp, final IMediaStream stream) 
     { 
      System.out.println("onStop: " + timestamp + " " + stream); 

      if (stream != null) 
      { 
       stream.release(); 
      } 

      try 
      { 
       controller.play(new FlvFileMediaStream(streamFile), -1 /*play the whole file*/); 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 
     } 

     @Override 
     public void onRelease(final long timestamp) 
     { 
      System.out.println("onRelease: " + timestamp); 
     } 
    }); 

    if (!disconnected) 
    { 
     NetStream stream = new NetStream(connection); 

     stream.addEventListener(new NetStream.ListenerAdapter() 
     { 
      @Override 
      public void onNetStatus(final INetStream source, final Map<String, Object> info) 
      { 
       System.out.println("NetStream#onNetStatus: " + info); 

       final Object code = info.get("code"); 

       if (NetStream.PUBLISH_START.equals(code)) 
       { 
        try 
        { System.out.println("playing: "); 
         controller.play(new FlvFileMediaStream(streamFile), -1 /*play the whole file*/); 
        } 
        catch (Exception e) 
        { 
         e.printStackTrace(); 
        } 
       } 
      } 
     }); 

     stream.attachAudio(new MediaStreamMicrophone(controller)); 
     stream.attachCamera(new MediaStreamCamera(controller), -1); 

     stream.publish("stream", NetStream.LIVE); 
    } 

    while (!disconnected) 
    { 
     try 
     { 
      Thread.sleep(100); 
     } 
     catch (Exception e) {/*ignore*/} 
    } 

    connection.close(); 
} 

回答

0

要流您的笔记本电脑的摄像头,一个Wowza服务器,你将需要在可以编码并发送笔记本电脑的软件应用程序流到Wowza服务器。有一些可能的解决方案,从开源项目ffmpeg Adob​​e的Flash Media Live Encoder

+0

。@沃德,其实我应该预先指出,我需要做的是programmatically.A的Java PROGRAMM会做整个事情。我已经发布存储在我的disk.but我需要捕捉摄像头和发送的FLV视频文件捕获的视频wowza server.can你帮我plz? – 2014-09-06 04:41:56

相关问题