2011-05-11 114 views
4

如何使用RTP/RTSP發送Android攝像頭視頻並在PC(使用vlc或任何其他播放器)中播放。Android相機RTSP/RTP流?

我用Google搜索,發現這個兩個答案:使用

1)mediarecorder(http://sipdroid.org/使用VideoCamera.java)

如何使用它我嘗試過,但沒有結果:(

2)使用PreviewCallback() - onPreviewFrame(數據,相機)方法。通過使用sipdroid的(Rtppacket,Rtpsocket,sipdroidsocket)我可以發送包含每個幀的Rtp數據包作爲數據,我可以通過Wireshark捕獲它。

但我不能夠在VLC :(打我的包

這是我的代碼:

mCamera.setPreviewCallback(new PreviewCallback() { 

     public void onPreviewFrame(byte[] data, Camera camera) { 
      int width= 320; 
      int height=240; 
      eth=getInterfaces(); 
      Log.v("Connected to ","Ethernet"+eth);  
      if(eth!=null){ 
      try{       
      InetAddress serverAddr = InetAddress.getByName("IP Address of My PC");    
      Log.v("trying to ","connect with"+serverAddr);     
      SipdroidSocket soc = new SipdroidSocket(9954); 
      Log.v("trying to ","connect with Sipdroid Socket");     
      soc.connect(serverAddr, 9954);        
      Log.v("Socket ","Connected");        
      RtpPacket rtpp=new RtpPacket(data,height);    
      //rtpp.setPayloadType(125);     
      Log.v("RTPPacket","Created");     
      RtpSocket rtps= new RtpSocket(soc,serverAddr,9954);      
      Log.v("RTPSocket","Created");        
      rtps.send(rtpp);     
      Log.v("Packet","Sent");    

      } 

      catch(Exception e){e.printStackTrace();Log.v(TAG, "Socket");} 
      } 
     } 
}); 

我如何玩包請給一些建議!

我完全困惑:(我是新的android開發!!需要專家的幫助!!!!

+0

你得到它的工作? – B770 2013-08-19 07:30:21

回答

1

我想你可能需要通過decodeYUV420SP解碼流,因爲byte []數據是在YUV格式。